wggcalc

A calculator to bruteforce find the best gun for the roblox game "Weird Gun Game".

WeirdGunGameCalc (Rust)

High-performance brute-force calculator for the Roblox game Weird Gun Game, with both a Rust CLI and a real-time browser interface.

Build

cargo build --release

Executable output:

./target/release/wggcalc --help

Run examples

./target/release/wggcalc --top 10 --sort ttk --include AR,SMG
./target/release/wggcalc --sort dps --priority highest --dps-min 100
./target/release/wggcalc --ttk-max 0.25 --mh 100

Supported flags

  • --data <path> path to FullData.sqlite3 (legacy JSON is also supported)
  • --top <n> number of returned builds
  • --mh <health> max player health
  • --sort <ttk|dps|damage|damageend|firerate|magazine>
  • --priority <highest|lowest|auto>
  • --include <cat1,cat2,...> include weapon categories
  • --part-pool <n> candidate parts per type per core
  • --damage-min, --damage-max
  • --damage-end-min, --damage-end-max
  • --ttk-min, --ttk-max (seconds)
  • --dps-min, --dps-max
  • --metrics

Real-time web calculator

The static site in docs/ recalculates builds automatically as settings change. Computation runs in a Web Worker, keeping the page responsive even while evaluating large candidate sets.

Generate its browser-readable dataset from the canonical SQLite database:

cargo run --bin export_web_data

Preview locally:

python3 -m http.server 8080

Then open http://localhost:8080/docs/.

The scheduled data workflow refreshes Data/FullData.sqlite3 and regenerates docs/data.json, so the CLI and website consume the same source data.

Test

cargo test
node --test docs/tests/engine.test.mjs

CI additionally enforces rustfmt, Clippy with warnings denied, browser-module syntax checks, a web-data export smoke test, release builds, and a real-dataset CLI smoke test.

Regenerating sheet data

cargo run --release --bin parse_sheet
cargo run --release --bin export_web_data

The Rust data utility downloads the Google Sheet CSV exports and recreates Data/FullData.sqlite3. The web exporter then produces the compact docs/data.json used by GitHub Pages.

Repository

wggcalc

Owner
Statistic
  • 0
  • 0
  • 1
  • 0
  • 2
  • about 4 hours ago
  • April 12, 2026
License

GNU General Public License v3.0

Links
Synced at

Fri, 21 Aug 2026 06:16:14 GMT

Languages