// the find
ozkriff/zemeroth
😠⚔️😈 A minimalistic 2D turn-based tactical game in Rust
Zemeroth is a hex-grid tactical skirmish game built in Rust using macroquad, targeting desktop, web (WASM), and Android. It's a solo developer project that's been in active development since 2017, currently somewhere in the middle of a planned Phase One campaign mode. Interesting primarily as a real-world example of a non-trivial Rust game with a self-contained ECS-style architecture.
The repo ships three genuinely reusable sub-crates — zgui, zscene, and zcomponents — each small enough to actually read and learn from. The battle engine separates command validation (check.rs), execution (execute.rs), and state application (state/apply.rs) cleanly, which is rare in hobby game projects. WASM target works and is playable in-browser without any special setup. The design philosophy is honest about scope: small maps, short sessions, intentionally dumb AI — and the code reflects that instead of promising more than it delivers.
Development has stalled — last commit was March 2024 and the roadmap still has sound, save/load, ranged units, and most of Phase One as open checkboxes after years of work. The zgui and zscene crates haven't been published to crates.io and aren't really documented as standalone libraries despite being presented that way. No save/load system means the game can't be played in any meaningful single-session-plus context. CI badges still reference Travis CI in the README even though the actual CI is GitHub Actions, which is a small but telling sign of maintenance drift.