Zemeroth

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

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 are available at github.com/ozkriff/zemeroth/releases.

Screenshots

big screenshot big screenshot

campaign screenshot campaign screenshot

Gifs

main gameplay animation main gameplay animation

Videos

youtube.com/c/andreylesnikov/videos

Vision

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 sessions (under an hour)
  • Simple vector 2D graphics with just 3-5 sprites per unit
  • Reaction attacks and action interruptions
  • Highly dynamic (lots of small unit moves as a side effect of other events)
  • Intentionally stupid and predictable AI

Inspiration

Tactical battle mechanics are mostly inspired by these games:

Building from Source

Install all miniquad's system dependencies.

cargo install resvg
./utils/assets_export.sh
cargo run

WebAssembly

cargo install resvg
./utils/assets_export.sh
rustup target add wasm32-unknown-unknown
./utils/wasm/build.sh
cargo install basic-http-server
basic-http-server static

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

Dependencies

The key external dependency of Zemeroth is macroquad / 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.

Similar Projects