Stasis Lang
An experimental programming language for deterministic games, with live code hot swap. Many of the games here are built with it.
Stasis is an experimental programming language and toolchain for deterministic, game-style programs. Many of the games on this site, including Gambit Guard and Sheep Herder, are written in it.
The idea
Games and simulations work best when the same inputs always produce the same outputs, state is explicit, and nothing unexpected happens on the hot path. Stasis is built around that:
- Static global memory with no hidden allocations, so there are no garbage collection pauses or surprise allocations during a frame.
- Predictable layouts. Field offsets and array layouts are stable, and structures are lowered to a structure-of-arrays layout for cache-friendly access.
- A simple game loop.
main()runs once, thentick()andrender()run every frame on a fixed step. - Determinism. A fixed-step, tick-based model makes replays, debugging, and lockstep multiplayer practical.
Live iteration
The development loop is the part I am proudest of. Stasis compiles to machine code with an in-process JIT, recompiles changed files in the background, and hot-swaps the new code between ticks. Changing a function that few others depend on can update a running game in a dozen or so milliseconds, without a restart. An on_code_swap() hook lets a game fix up its state after a swap.
The compiler was rebuilt in Rust to make that hot swap reliable. The toolchain now targets Windows and Android natively and the web through JavaScript, with WebAssembly mostly working.
Trade-offs
Stasis is experimental and changes quickly, so expect breaking changes. Games must allocate their memory up front. There is no library ecosystem yet. It is a good fit for small, self-contained games and simulations, not yet for shipping large commercial titles.
Licensing
Stasis uses a revenue-threshold commercial license. It is free for internal use and for projects with under $10,000 in annual revenue. Above that, there is a 1% share of gross revenue from products that use it.
Learn more
The Stasis website has the documentation and examples, and the GitHub repository has the source and nightly releases.
Writing about Stasis Lang

Stasis Lang Update
I've been updating Stasis Lang, Github an experimental programming language and toolchain focused on deterministic, games.

Introducing Stasis Lang
I'm excited to announce Stasis Lang, an experimental programming language and toolchain focused on deterministic, game-style programs.