Rust · WebAssembly · Open source
A reusable engine for incremental games
Tickwork is a headless simulation engine written in Rust, designed to run the same codebase natively and in the browser via WebAssembly. Build the mechanics once; ship everywhere.
Engine
tickwork-engine
A library crate with no game content. Declare resources, transitions, and plugins; the engine handles the tick loop, save state, and plugin lifecycle.
Shell
tickwork-shell
A shared UI shell built on egui. Consumes the engine's state and renders tabs, sections, and components — consistent across every game that uses it.
Architecture
Declarative content
Games are data. Resources, transitions, narrative arcs, and UI definitions are declared; the engine interprets them. No forking required to make a new game.
Target
Native + browser
Full parity between desktop (Windows, Linux, macOS) and WebAssembly. One codebase, two build targets, no compromises on simulation logic.
Built on a deliberate stack. Nothing experimental for the sake of it — every dependency earns its place.
Built with Tickwork
Holum
The first game built on this engine. Holum is an incremental game that explores resource loops, phase transitions, and long-arc narrative — developed in parallel with the engine itself.
Visit holum.ioOpen source intent
Both tickwork-engine and tickwork-shell are planned for release as open source software. The goal is a stable, reusable foundation that other developers can build on. Timing and licence to be confirmed once the architecture matures with Holum.
Interested?
If you're thinking about building an incremental game and want to follow the project, contribute, or just talk architecture — get in touch.
contact@tickwork.dev