Every image below is drawn by the game's own renderer — same materials,
same baked lighting, same post-processing, no offline render and no touched-up pixels.
The numbers under each plate are measured from the build that produced it.
All twenty together are 530,126 triangles and never more than
30 draw calls in a frame. Build time is geometry plus the shadow bake, with
the textures already painted — every material in all ten scenes is generated once, on
load, and then shared.
01NEON THROATTwo metres wide, nine storeys high, and every one of them selling something.
37,266 triangles29 draw calls83 baked lightsbuilt in 289 ms
02THE WELLThe only daylight in the building, eleven floors up and falling.
50,888 triangles23 draw calls13 baked lightsbuilt in 348 ms
03ELEVEN FLIGHTSGreen tile to shoulder height, and one working tube in four.
17,914 triangles19 draw calls11 baked lightsbuilt in 499 ms
04THE ONLY SKYAbove the twelfth floor the building stops pretending and becomes a village.
24,406 triangles23 draw calls9 baked lightsbuilt in 230 ms
05THE WET FLOORSix hundred watts of tungsten and a drain running the length of it.
26,250 triangles27 draw calls42 baked lightsbuilt in 318 ms
06FOUR TABLES, NO WINDOWSSomebody was still playing when it emptied out.
17,566 triangles19 draw calls9 baked lightsbuilt in 95 ms
07THE SUMPKnee deep, and the only light is coming from something that should not be on.
22,122 triangles10 draw calls11 baked lightsbuilt in 102 ms
08THE COLD ROOMThe tiles are new. Everything else in this building is fifty years old.
8,802 triangles14 draw calls19 baked lightsbuilt in 89 ms
09SIXTEENTH FLOOR, BACK ROOMRice cooker, six screens, and a door that locks. Bank your scrip here.
14,278 triangles20 draw calls9 baked lightsbuilt in 67 ms
10THE SPINEEighty metres, forty doors, one working light. This is most of the game.
30,986 triangles18 draw calls18 baked lightsbuilt in 430 ms
11THE YAMENBuilt in 1847 for the assistant magistrate. The only roof over its courtyard is other people's floors.
42,136 triangles21 draw calls57 baked lightsbuilt in 537 ms
12TWO O'CLOCKOne hole in the slab, and for forty minutes a day it puts a rectangle on the floor.
42,396 triangles9 draw calls11 baked lightsbuilt in 135 ms
13THE PUMP ROOMSeventy-odd wells under the building, and every drop went up to the roof before it came down.
23,886 triangles12 draw calls24 baked lightsbuilt in 221 ms
14TEN THOUSAND A DAYGolf balls. Two machines, thirty home workers, and no reason to ever switch it off.
26,636 triangles17 draw calls27 baked lightsbuilt in 232 ms
15THE CHAIR BY THE WINDOWLicensed in Guangdong, which is not the same as licensed here.
13,326 triangles30 draw calls35 baked lightsbuilt in 155 ms
16THE GAPTwo metres eight between the blocks, and eleven floors of nothing under it.
22,312 triangles11 draw calls23 baked lightsbuilt in 98 ms
17FOURTEEN STOREYSThe building stops at fourteen storeys because of the flight path, not the foundations.
59,568 triangles21 draw calls36 baked lightsbuilt in 798 ms
18THE BACKDROPThe backdrop paper was changed twice a year. Nothing else in the building was.
10,792 triangles20 draw calls22 baked lightsbuilt in 126 ms
19THE DRYING FLOORForty racks of noodles, one gas burner, and no second staircase.
25,414 triangles14 draw calls29 baked lightsbuilt in 233 ms
20NINE HUNDRED DEEPA survey team measured every floor in 1993. They still missed rooms like this one.
13,182 triangles14 draw calls18 baked lightsbuilt in 43 ms
Why it stopped being voxels
The first version of this world was built from 60 mm voxels, and the verdict
on it was that it looked like a bad Minecraft mod. That verdict was right, and the obvious
fix — smaller voxels — was wrong. A voxel is a cube at every size, so halving one buys a
finer grid of cubes, not a surface, at eight times the cost.
So the detail moved off the geometry and into the surface. A wall is now two
triangles wearing a procedurally painted texture at 7.8 mm per texel, and the light is baked
into it once, with real shadow rays, at build time. Nothing ships as an asset file: every
texture in these ten scenes is generated in code when the page loads.
Voxel build
Now
Detail resolution
60 mm voxel
7.8 mm texel
One 12 m tenement facade
~200,000 triangles
~400 triangles
A whole scene
never got there
9k – 60k triangles
Draw calls per scene
hundreds
9 – 30
Lighting
per-vertex AO, no shadows
baked, ray-traced shadows
Cost per frame to light
zero
zero
Asset files shipped
none
none
Detail went up roughly eight-fold and the cost went down, which is the only
reason any of this runs on a phone.
What these are, and are not
They are authored rooms, not generated levels — composed the way key art is
composed, to show what the engine can hold. A floor is still generated, not composed.
Eleven of them now turn up inside a run. The generator reserves a rectangle,
stamps the room in, and routes a corridor to a door the room already had — the collision grid
for each is rasterised straight out of its own geometry, so none of them had to be redrawn to
become a place you can walk into. They are dealt from a shuffled bag seeded off the run code, so
no room is ever met twice in one playthrough and no two runs meet them in the same order. Across
40 runs and 800 floors: 440 placed, zero repeats, zero unreachable exits. You can also walk all
twenty on their own, from ROOMS on the title screen.
What it does share now is the pipeline. The same painted materials and the same
shadowed light bake build the game's own floors, which is new — an earlier version of this page
had to admit the demo looked nothing like these pictures. On a Galaxy S22 a generated floor runs
157,000 triangles across 77 draw calls, holds 60 fps with no adaptive downscaling, and builds
in 60–143 ms. The one cost is the first run of a session, which spends about two seconds
painting the material palette.