finds.dev← search

// the find

ggez/good-web-game

★ 350 · Rust · MIT · updated May 2024

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.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →