// the find
ggez/good-web-game
An alternative ggez implementation on top of miniquad.
good-web-game is a compatibility shim that lets you run ggez games in a browser or on mobile by reimplementing the ggez 0.7.0 API on top of miniquad. It exists specifically for porting — if you have an existing ggez game you want on WASM, this is the fastest path. If you're starting fresh, macroquad is the better choice and the README says so.
The ggez API compatibility is genuinely useful: most porting work is boilerplate changes rather than rewriting game logic. Running on `wasm32-unknown-unknown` (not emscripten) keeps the WASM output small and dependency-free. The Android path via Docker + cargo-apk is straightforward with no code changes required. Having working examples (astroblasto, zemeroth) that actually run on the web gives you something real to diff against.
Last pushed May 2024 and only covers ggez 0.7.0 — ggez is on 0.9.x now, so anyone on a recent ggez version is out of luck. Audio is visibly second-class: quad-snd instead of rodio, no spatial audio, limited overall. GLSL100 requirement for WebGL1 is a real constraint — no compute shaders, limited texture formats, and it rules out modern rendering techniques. Gamepad support on WASM is missing because gilrs depends on wasm-bindgen, which is a fixable architectural problem that hasn't been fixed.