Pac-Man
A self-playing arcade game — ghosts chase a flood-filled distance field.
Pac-Man modelled end-to-end: a maze of cells, a singleton game-state, four ghosts and Pac-Man himself. On each turn Pac-Man emits a wave message that propagates through the maze as a breadth-first distance field; the ghosts read that gradient to chase, each biased by its personality. Power pellets flip the game into frightened mode, and the game-state machine watches the pellet count and lives to call the win or loss.
A showcase of message-driven computation: a whole shortest-path field is built by cascading messages between cells within a single turn, with a load-bearing fixed step order (ghosts, then cells, then game-state, then Pac-Man) that keeps the chase deterministic. Good for testing pursuit, planning and adversarial reasoning against reproducible game traces.
Linked tables with guaranteed referential integrity.
Generated REST endpoints. Also exposed as MCP tools.
OSI-compatible definition, emitted with the dataset.
# pacman.osi.yaml — emitted automatically semantic_model: name: "pacman" source: "duckdb://pacman.db" entities: - name: pacman primary_key: id dimensions: - name: state type: categorical - name: t type: time measures: - name: row_count agg: count - name: active agg: sum filter: "state = 'ACTIVE'"
More worlds.
Game of Life
Conway's automaton as a perfectly observable, deterministic grid world.
London Underground
A live tube graph — eleven lines, hundreds of trains, platforms held as a mutex.
Claims FNOL
First notice of loss through settlement, with capacity-capped regional adjusters.