Release 0.9: pressure testing

Release 0.9 asked how much the engine could take. We ran progressively denser and heavier scenes to find where the hardware gives out, and most of the release is fixes for what we found. Seven of eight performance gates pass in Low Power Mode, a macOS setting that lowers clock speeds. The eighth, fracture on one worker, reads 3.62 ms p95 (the time 95% of steps beat) against a 3 ms limit.
Engine
- A density ladder of five scenes puts 2, 4, 9, 16 and 25 offices on one site and collapses them together. The first rung over budget in Low Power Mode is nine offices at once, at 10.93 ms of physics p95.
- A blast now spends a budget of fracture cells instead of shattering everything in reach. At 20 m and energy 12 it makes 2,758 pieces where it made 16,398, and physics p50 fell from 21.05 ms to 2.75 ms. A 40 m charge had made 43,111 pieces and overflowed the physics engine’s contact buffers.
- Detail by distance leaves anything within 90 m alone and breaks far debris into fewer cells. With 25 offices, physics p95 fell from about 19 ms to about 8 ms.
- When a physics step costs more than 12 ms the game clock slows to fit. The first threshold, 8 ms, kept the game in slow motion too long after a collapse.
- Gas lines go off in collapses and vaporize fallen chunks instead of adding more pieces to track. In scene 8 it halved collapse physics p50, from 1.06 ms to 0.50 ms.
- A tall part that detaches whole now comes down story by story as a driven mass. In the 160-story demolition, steps over 8 ms fell from 2,199 to 49, and the run’s wall time from 495 s to 25 s.
- The first tower collapses looked like melting, so four to six gas lines now go off as a tower starts down, and it leans up to about 8°.
- Rubble held up in the sky by other rubble is now found and woken so it falls. A replay of our 80-story session left 478 pieces more than 3 m up before the fix and 8 after.
- Dust drawn from inside a cloud of twenty 40 m charges cost up to 1.2 s of GPU time a frame. Lighting each puff once brought GPU p95 down from 1,101 ms to 446 ms, and drawing dust at half resolution then cut p95 wall time from 206 ms to 60 ms.
Game
- Weapons are chosen with keys 1 to 5: an autocannon, a rocket, a charge, an impulse cannon and a gravity cannon. We also set a maximum range on rockets, now 400 m, and a reload time for them.
- Autocannon rounds wear a member before it breaks. A 20 cm panel goes at about the fourth round and a 60 cm column at the tenth.
- A dam and flood scene has 66 concrete blocks holding back a reservoir, and a 45 m ravine has a 64 m girder bridge across it.
- Four buildings built from photographs joined the stock. A half-timbered town house and a Romanesque block come from our own photos. A Doric temple and a domed mosque came from a research pass.
- Cities follow research on real ones, with streets by class, curbs, lane paint and lamp posts. A downtown scene with towers of 30 to 44 stories tests towers falling onto neighbors.
- Offices have stairs, which had been missing, and furnished floors with partitions and ceiling lights that flicker and fail panel by panel as the building takes damage.
Tools
- Scenes load on a worker behind a loading panel, which cut one scene’s worst frame from 4,470 ms to 46 ms.
- Every live session writes a log of frame times, charges and loads, and a script turns it into a report.
- The black blocks seen when flying fast and the dark flash where a missile hits most likely came from queued frames drawing meshes that had just been replaced. That is fixed.
Provenance
How this post was made
- Drafted by
- A Claude Code session in the trilithon.games repository, October 10, 2026, working from the game's changelog, docs and tracker.
- What it did
- Drafted this post from the game's changelog and roadmap, and checked each number against them.
- Reviewed by
- Alex van Rossum,
On the roadmap: Pressure testing
Linear MIP2-231, MIP2-242, MIP2-249, MIP2-246, MIP2-265, MIP2-267, MIP2-311