Low Water
One family's line through a hundred and fifteen years of one village, where the people at the table decide who eats and who is sent away. The full-scale demonstration of the engine.
It shows abuse, persecution and genocide on screen. Two lines hold: nothing sexual with minors, and sexual violence with no sexual content.
The story
A boy who did not come home, and a parent who fails him. Famine presses from the first era; persecution grows until it is a clearance.
- 1 The Exchange 45 minutes
- 2 The Quota 85 minutes
- 3 Allocation 50 minutes
- 4 The Closure 60 minutes
- 5 The Clearance 80 minutes
5 hours 20 minutes across the five eras. The story reaches you through bodies, sound, touch and changed places, never through a ledger to read.
Written to the ending: 591 story nodes, every one reachable. Voices, art and the native port come next.

The fights
Fights run on raw-native's 60 Hz action timeline, and the animation decides each hit: capsules bound to the bones of the swing.
bit for bit the C++ timeline matches the game's JavaScript combat engine
It loads the game's move data and ports its strike generator expression for expression, on deterministic maths: the same bits on every machine. raw-native #239, merged 8 November 2026 (ab0e692).
18, 30 or 36 frames of warning before a telegraphed strike, checked as data, with the slow-then-fast shape on every tell you can parry
Telegraph retiming drives the presentation clock while the simulation keeps its integer frames. raw-native #242, merged 9 November 2026 (7cfc64a).
Next, timing, sound, physics, effects and hit markers move onto one shared schedule, and the game's own simulation takes up the capsule contact.
Read a tell
A telegraphed strike gives you 18, 30 or 36 frames of warning, slow at first and then fast. Start one, and press Parry (or Space) as the arc closes.
With scripts on, this is a strike you can parry.
The three leads and the slow-then-fast shape are the engine's own rule. The 4-frame parry window is an example for practice, not the game's number. Sound is off until you turn it on.
The rules
The rules are written in BuildLang and compiled into a C library the C++ host links.
16 of 16 checks of the host's own test pass against the BuildLang rules, as they do against the C++ module
Records that need the story expression language are refused by name until it is ported. buildlang #158, merged 9 November 2026 (3c7cc54), first released in 1.12.0.
5.09x faster: the 40-fight corpus run in parallel at 8 threads, with the same bytes as the serial run
95% interval 4.94 to 5.37, on an i7-13700KF shared with GPU training. buildlang #136, merged 8 November 2026 (bbcf9dd), first released in 1.11.0.
No footage of the game is on this page yet. The first fight and the turning-point scenes will be rendered by the engine itself, with its own video writer.
The engine BuildLang raw-native source
Verified 14 November 2026: the era names, lengths and node count were read from the game's design and content at commit 8b49bdd of its private repository. The merge state of every linked pull request from GitHub on the same day, and each figure from the body of the pull request it links.