STASIS
Language + runtime / experimental

Make the state visible.

Stasis is a programming language for games and simulations that should remain understandable while they run—and while they change.

A small example

The program shape is the design.

Persistent state is global, simulation advances in ticks, and rendering reads the model.

struct GameState {
  x: f32;
  speed: f32;
}

global state: GameState;

function tick(): i32 {
  if (is_key_down(Scancode.Left))  { state.x -= state.speed; }
  if (is_key_down(Scancode.Right)) { state.x += state.speed; }
  return 0;
}

Architecture in one line

sourcesemantic reachabilityCranelift JIT / AOThost runtime

Development compiles candidates in-process; a compatible candidate publishes atomically between ticks.

Featured external project

Gambit Guard is linked as a game, not bundled as source or a package.