Skip to content
David Amin-Priddle

← All projects

A world simulated entirely server-side, on a documented frame budget per subsystem, with characters that act on traits and standing orders rather than a script.

The server fully simulates the world - terrain chunks, pathfinding, combat, economy, and party AI deciding what to do while nobody is watching. The client presents that through UI panels, text events and a strategic world map. WebGL2 handles the parts that need it, with their own shaders and texture atlases, and the rest is ordinary DOM.

Simulation on a budget

It runs on the shared ECS, with SIMD and source-generated hot paths and no allocation on the tick.

The simulation tick is held under a millisecond, which is a target rather than a measurement of what it happens to cost. The frame belongs to the client, and a server tick that grows to fill it leaves nothing for anything else, so the budget is set low and the work is fitted to it.

Tick health is tracked as percentile histograms with spike logging, and the server reports its own P50, P95, P99 and worst tick on demand.

Party AI

Characters act on personality traits and standing orders rather than a script. The player sets intent; the simulation decides what that means in a given situation, and reports back as text events.

Tooling built alongside

In-browser asset, continent and joint editors, and MCP servers for development workflows. The editors exist because authoring content through files was slower than building a tool to do it.

What it was

A technical demonstration rather than a product. It is not being worked on.