- Wall clock
- 1 h 29 m
- Tool calls
- 193
- Cost, list price
- $45.41
- Code it wrote
- 15 C# files, 2,707 lines + a shader
At a glance
The scores come from one kit: ten automatic checks against level.json, plus one judged by eye. The walker is a person-sized CharacterController (radius 0.35 m, height 1.8 m, step 0.3 m). Costs are at API list price; both cold runs actually ran on a subscription.
- Wall clock
- 1 h 14 m
- Tool calls
- 212
- Cost, list price
- $29.57
- Code it wrote
- 19 C# files, 3,254 lines
level.json- Built from
- 11 room prefabs from the library
- Level code
- 2,278-line assembler
- Framework
- not counted
Round 8 (13 Oct): rebuilt with the bigger armory and a colour mood per room. Check 7 now wants 75% of the hall floor seen from the rail, down from 90%. Ours sees 87%, so at 90% it would score 9/1/1 (see below).
- Built from
- 6 d-20 pattern tiles, furnished with 123 set pieces
- Level code
- 171-line scene builder
- Framework
- not counted
Not scored by the kit. Its checks name 45 m cells, and this level is 3 × 4 slots of 100 m. The kit's walker walked it instead, and each pattern's gate was closed and re-baked to prove it holds.
Check by check
The same kit and the same level.json scored all three grid builds. Check 10 is a walk, not a line from the brief.
| # | What the brief requires | Fable | Opus | Rooms |
|---|---|---|---|---|
| 1 | The eleven rooms stand on their cells; every rock cell is solid | pass | pass | pass |
| 2 | Every listed door exists and meets its neighbour; no other openings | pass | pass | pass |
| 3 | The armory gate, with spikes before it, is shut; the armory opens only to the hall | pass | pass | pass |
| 4 | The west and east wings both join the entry hall to the great hall, not through the armory | fail | pass | pass |
| 5 | The vault's one way in is a secret bookcase door from the prison; the vault is on no route | pass | pass | pass |
| 5b | Closed, the bookcase door looks like the bookcases beside it | by eye | by eye | by eye |
| 6 | The throne room has exactly one door, from the great hall | pass | pass | pass |
| 7 | A gallery 5 m up along the hall's south side; a stair at each end, reached without crossing the hall floor | pass | pass | pass |
| 8 | The throne stands on a 1.25 m stage with steps across its front | pass | pass | pass |
| 9 | Prison, guard room, kitchen and vault are low; great hall and throne room are tall | pass | pass | pass |
| 10 | Walk: the controller walks every key route to its end | 4/6 | 6/6 | 6/6 |
Round 5 fixed the last two failures (gallery landings, kitchen ceiling) in the room library itself, so the score comes from the framework's own prefabs. On 13 Oct the level was rebuilt on the current library. Its hall shows 87% of the floor from the rail, which failed check 7 against the 90% I had set when writing the kit. The target is now 75%; no other threshold changed. The cold runs' rails see 98% (Fable) and 96% (Opus), so they pass under either target.
What the kit saw
Each map is the walkable NavMesh at the walker's size, seen from above, with the walked routes drawn on it. The grid is the brief's 4 × 4 layout of 45 m cells.




E entry hall · G guard room · P prison · V vault · K kitchen · D great hall · A armory · T throne room · L library · S study · F forge
Built from what
The cold runs placed pieces one at a time, straight into the scene. Ours places whole rooms, which nest set pieces, which nest the Synty pieces. So ours puts down far fewer objects but draws on a wider range of pieces.
Objects placed directly in the scene
outermost prefab instances
For rooms: the 11 rooms, the player, and 44 pieces the brief asks for (the portcullis and spikes, the bookcase door, 31 characters and so on). For patterns: one level prefab and the player.
Different Synty pieces used
unique leaf assets from the three dungeon packs and PolygonGeneric
Rooms uses 1.5 to 2.2 times the variety of either cold run, on the same 45 m grid.
Unity primitives built from code
cubes, capsules, cylinders and spheres made in scripts
This is a design choice, not a flaw. Fable built its rock as 513 flat cubes and its defenders as capsule stand-ins; Opus used real Synty characters. Ours' single primitive is the player capsule.
Prefab files involved, at any depth
rooms, set pieces, tiles and pieces, each counted once
Rooms: 11 rooms, 69 set pieces, 441 Synty pieces and 6 player-kit files. Patterns: 1 level, 6 tiles, 123 set pieces, 202 Synty pieces and 6 player-kit files.
Side by side
Every row is measured with the same probe, run in batch mode on each saved scene; no scene was saved afterwards. The patterns level covers 300 × 400 m, so its totals are not like-for-like with the three 45 m-grid builds.
| Measure | Fable | Opus | Rooms | Patterns | Ours, both |
|---|---|---|---|---|---|
| Scene | |||||
| Scene file | 8.4 MB | 18.5 MB | 372 KB | 166 KB | — |
| Level data on disk (scene + its own prefabs) | 8.4 MB | 18.5 MB | 19.8 MB | 15.8 MB | 35.6 MB |
| GameObjects, all / active | 3,443 / 3,441 | 8,033 / 7,734 | 10,362 / 9,665 | 7,123 / 7,123 | — |
| Deepest hierarchy | 5 | 16 | 17 | 10 | — |
| Prefabs and pieces | |||||
| Objects placed in the scene (outermost) | 2,555 | 4,929 | 56 | 2 | — |
| Different outermost prefabs | 203 | 292 | 33 | 2 | 34 |
| Prefab files at any depth | 208 | 297 | 527 | 338 | 704 |
| Different leaf assets | 207 | 295 | 442 | 203 | 497 |
| Different Synty pieces | 202 | 291 | 441 | 202 | 496 |
| Renderers outside any prefab | 611 | 84 | 0 | 0 | — |
| Unity primitives | 579 | 74 | 1 | 1 | — |
| Geometry | |||||
| Active renderers | 3,231 | 5,215 | 6,959 | 5,859 | — |
| Triangles drawn | 1.83 M | 3.22 M | 4.35 M | 3.57 M | — |
| Triangles in different meshes | 205,720 | 293,019 | 357,241 | 158,346 | — |
| Different meshes | 210 | 335 | 459 | 208 | 519 |
| Renderers per different mesh | 14.5 | 14.8 | 14.2 | 27.7 | — |
| Materials / textures | 17 / 14 | 20 / 18 | 14 / 16 | 6 / 6 | 14 / 16 |
| Lights, effects, physics | |||||
| Lights | 178 point | 395 point | 498 point + 3 dir. | 96 point + 1 dir. | — |
| Particle systems | 158 | 244 | 445 | 95 | — |
| Colliders | 2,637 | 1,235 | 6,603 | 5,786 | — |
| Post-processing volumes | 1 | 1 | 12 1 global + 11 moods | 72 1 global + 71 moods | — |
| Effort | |||||
| Code written for this level | 2,707 lines 15 files + shader | 3,254 lines 19 files | 2,278 lines assembler | 171 lines builder | — |
| Wall clock / tool calls | 1:28:48 / 193 | 1:13:33 / 212 | — | — | — |
| Cost at list price | $45.41 | $29.57 | — | — | — |
Which packs
Where each build's pieces come from. Fable leaned on the base Dungeon pack. Opus and our rooms drew about two-fifths of their variety from Dungeon Realms. Our pattern tiles use the base pack, plus a few Dungeon Map pieces that their new set pieces bring. "Generic" is Synty's PolygonGeneric, which the cold-run template also shipped.
Different pieces, by pack
share of each build's different leaf assets
Rendered meshes, by pack
share of every active mesh renderer
A fifth of everything Fable draws is a Unity primitive (the red band).
The most-placed pieces
Each build's six most-copied assets. Every build is mostly walls, floors and ceilings. Fable's number one is the Unity cube it used for solid rock; our rooms' is the flame effect on their torches, which draws particles, not triangles.
Fable
- CubeUnity545
- Wall_01282
- Ceiling_Stone_Flat_01144
- Ceiling_Stone_Flat_02126
- Ceiling_Stone_Flat_03122
- Tiles_03120
Opus
- Ceiling_Stone_Flat_01629
- Wall_01253
- Dwarf_Wall_01Realms208
- Dwarf_Floor_02Realms154
- Dwarf_Floor_01Realms148
- Basement_Support_Beam_01142
Ours · rooms
- FX_Fire_02301
- Wall_01248
- Ceiling_Stone_Flat_02213
- Wall_01_DoubleSided187
- Ceiling_Stone_Flat_01177
- Torch_Ornate_02162
Ours · patterns
- Wall_03331
- Tiles_Texture_05328
- Wall_05230
- Wall_04225
- Tiles_Texture_06223
- Wall_01_Alt219
Names without a tag are from PolygonDungeon, with the SM_Env_ or SM_Prop_ prefix dropped.
Inside the rooms level
The eleven room prefabs, largest first. Each was chosen from the pre-built themed-room library, not made for this level; the reason for each pick is in level.picks.json.
| Room in the brief | Library room | Renderers | Triangles | |
|---|---|---|---|---|
| great hall | Hall gallery · back · feast | 996 | 517 k | |
| armory | Armory · aisled · stocked | 987 | 929 k | |
| study | Alchemy lab · warren · brewing | 824 | 265 k | |
| kitchen | Kitchen · notch · cooking | 817 | 284 k | |
| throne room | Throne room · aisled · court | 580 | 542 k | |
| library | Library · box · open | 561 | 546 k | |
| prison | Prison · block · riot | 487 | 254 k | |
| forge | Forge · cellar · working | 463 | 233 k | |
| guard room | Guard room · watch · manned | 447 | 224 k | |
| entry hall | Guard room · lobby · manned | 433 | 228 k | |
| vault | Treasury · lobby · sealed | 291 | 192 k |
The patterns level nests six d-20 pattern tiles, each used once: flanking route (×2), gallery, hidden cache, sniper location and stronghold. Since 13 Oct the tiles carry 123 different set pieces (185 placed), so its renderers sit up to five prefabs deep.
Read with care
- Flat and nested builds count prefabs differently. A cold run's outermost-prefab count is its piece count; ours is not. To compare variety, use the different-pieces, leaf-asset or mesh rows.
- The patterns level is a different size (300 × 400 m against eleven 45 m cells), so its renderer, triangle and collider totals are not like-for-like.
- Scene file size understates ours. Our content lives in prefab files; the "level data on disk" row adds them back. Those room and set-piece prefabs come from pre-built libraries and were not made for this level.
- Synty textures are atlases, so every build has few materials and textures. Those rows show which packs were used more than how varied the look is.
- Nothing is baked. No build has lightmaps or probes. The patterns level has 96 point lights for its 318 torch meshes, so most of its torches cast no light. The cold runs each add one post-processing volume; ours add one global grade and a colour-mood volume per room (11 in the rooms level, 71 in the patterns level).
- Not measured: draw calls and frame time.
- The framework is not counted as code for ours. It is MacroTileBuilder, PrefabSynthesis and the room and set-piece libraries, all of which existed before this brief.
- The brief favours the framework. It was written to what the framework already has, so treat this as a showcase brief, not a neutral benchmark.