Programming language: Rust
Latest version: v0.6.0

zemeroth alternatives and similar packages

Based on the "Games, see also Games Made With Piston." category

Do you think we are missing an alternative of zemeroth or a related project?

Add another 'Games, see also Games Made With Piston.' Package


[title image](zemeroth.svg)

Github Actions mit license line count

Zemeroth is a turn-based hexagonal tactical game written in Rust.

Support: patreon.com/ozkriff

News: @ozkriff on twitter | ozkriff.games | facebook | devlog on imgur

Online Version

You can play an online WebAssembly version of Zemeroth at ozkriff.itch.io/zemeroth

Precompiled Binaries

Precompiled binaries for Linux, Windows and macOS: github.com/ozkriff/zemeroth/releases


"big" screenshot

"campaign" screenshot

web version of a phone


main gameplay animation




The initial vision of the project is:

  • Random-based skirmish-level digital tabletop game;
  • Single player only;
  • 3-6 fighters under player’s control;
  • Small unscrollable maps;
  • Relatively short game session (under an hour);
  • Simple vector 2d graphics with just 3-5 sprites per unit;
  • Reaction attacks and action’s interruption;
  • Highly dynamic (lots of small unit moves as a side effect of other events);
  • Intentionally stupid and predictable AI;


  • [ ] Phase One: Linear Campaign Mode

An extended prototype focused just on tactical battles.

  • [x] v0.4
    • [x] Basic gameplay with reaction attacks
    • [x] Minimal text-based GUI
    • [x] Basic agent abilities: jumps, bombs, dashes, etc
  • [x] v0.5
    • [x] Basic campaign mode
    • [x] Armor and Break stats (#70)
    • [x] Dynamic blood splatters (#86)
    • [x] Web version
    • [x] Tests
    • [x] Hit chances
  • [x] v0.6
    • [x] Agent upgrades (#399)
    • [x] Flip agent sprites horizontally when needed (#115)
    • [x] Multiple sprites per agent type (#114)
  • [ ] GUI icons (#276)
  • [ ] Sound & Music (#221)
  • [ ] Reduce text overlapping (#214)
  • [ ] Move back after a successful dodge (#117)
  • [ ] Easing (#26)
  • [ ] Path selection (#280, #219)
  • [ ] Intermediate bosses
  • [ ] Main boss
  • [ ] Neutral agents (#393)
  • [ ] Weight component (#291)
  • [ ] Basic inventory system: slots for artifacts
  • [ ] Ranged units
  • [ ] More agent types
  • [ ] More passive abilities that allow agents to make actions during enemy's turn (#354)
  • [ ] More complex multieffect abilities/actions
  • [ ] Guide (#451)
  • [ ] Save/load (#28)
  • [ ] Android version

    • [ ] Phase Two: Strategy Mode

A not-so-linear strategic layer will be added on top of tactical battles. Simple non-linear story and meta-gameplay.

  • [ ] Global map
  • [ ] Dialog system
  • [ ] Quest system
  • [ ] NPC/Agent/Masters system


Tactical battle mechanics are mostly inspired by these games:

Building from Source

Install all miniquad's system dependencies.

cargo install resvg
cargo run


cargo install resvg
rustup target add wasm32-unknown-unknown
cargo install basic-http-server
basic-http-server static

Then open http://localhost:4000 in your browser.


The key external dependency of Zemeroth is good-web-game/[miniquad] (see #564 "Migrate to miniquad").

This repo contains a bunch of helper crates:

  • [zcomponents] is a simple component storage
  • [zgui] is a simple and opinionated GUI library
  • [zscene] is a simple scene and declarative animation manager

Also, resvg is used for exporting sprites from svg.


If you want to help take a look at issues with help-wanted label attached:


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.


Zemeroth is distributed under the terms of both the MIT license and the Apache License (Version 2.0). See [LICENSE-APACHE] and [LICENSE-MIT] for details.

Zemeroth's text logo is based on the "Old London" font by Dieter Steffmann.

*Note that all licence references and agreements mentioned in the zemeroth README section above are relevant to that project's source code only.