Iron Citadel · one brief, four builds · measured 7 Oct 2026, ours re-measured 13 Oct

Framework vs. cold prompts

One level brief: eleven themed rooms on a 4 × 4 grid of 45 m tiles, with a gallery, a throne stage, a gated armory and a secret vault. Fable 5.1 and Opus 5.5 each built it cold in Unity from the three Synty dungeon packs. Ours built it through the framework twice: as a themed-room level and as a pattern-tile level. Every build is a Unity scene, walked by the same first-person controller and scored by the same conformance kit.

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.

Fable 5.1 · cold
a single headless prompt, effort xhigh
8pass
2fail
1by eye
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
Opus 5.5 · cold
a single headless prompt, effort xhigh
10pass
0fail
1by eye
Wall clock
1 h 14 m
Tool calls
212
Cost, list price
$29.57
Code it wrote
19 C# files, 3,254 lines
Ours · rooms
themed-room prefabs placed from level.json
10pass
0fail
1by eye
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).

Ours · patterns
pattern tiles solved from the same brief
8/8routes walked
8/8gates hold
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 requiresFableOpusRooms
1The eleven rooms stand on their cells; every rock cell is solidpasspasspass
2Every listed door exists and meets its neighbour; no other openingspasspasspass
3The armory gate, with spikes before it, is shut; the armory opens only to the hallpasspasspass
4The west and east wings both join the entry hall to the great hall, not through the armoryfailpasspass
5The vault's one way in is a secret bookcase door from the prison; the vault is on no routepasspasspass
5bClosed, the bookcase door looks like the bookcases beside itby eyeby eyeby eye
6The throne room has exactly one door, from the great hallpasspasspass
7A gallery 5 m up along the hall's south side; a stair at each end, reached without crossing the hall floorpasspasspass
8The throne stands on a 1.25 m stage with steps across its frontpasspasspass
9Prison, guard room, kitchen and vault are low; great hall and throne room are tallpasspasspass
10Walk: the controller walks every key route to its end4/66/66/6
Fable, check 4: the forge's west door is blockedAn ore pile placed 0.8 m up inside the doorway leaves 0.59 m of headroom, so no NavMesh passes through it. Fable's own play test walked only the west wing.
Fable, check 10: a lip at both stair topsWhere each gallery stair meets the wall at its top, the walker faces a lip of about 0.37 m, more than the 0.3 m it can step. Fable's own test driver got over only by strafing sideways whenever it got stuck.
How ours got to 10/0/1The cold runs were scored once. Ours was scored and fixed over eight rounds:
4/6/17/3/18/2/110/0/1 scene patch10/0/1 fixed at source9/1/1 new library10/0/1 check 7 at 75%10/0/1 rebuilt 13 Oct

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.

Fable's conformance map: compact rooms on the grid; red crosses at the gallery stair tops where the walk stuck
FableRed crosses at both gallery stair tops, where the walk stuck.
Opus's conformance map
OpusEvery route walked to its end.
Ours (rooms) conformance map: winding halls inside each themed room
Ours · roomsEach themed room winds its halls inside its own cell.
Ours (patterns) walk map: six 100 m pattern tiles with eight coloured walked routes
Ours · patternsA different grid: 100 m slots. Each colour is one of the eight walked routes. The entry is the green square at the bottom; the stronghold's post is the orange square near the top.
walkable floor raised floor sloped or blocked stair climb gallery deck throne stage walked route walk stuck start solid rock (#)

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

Fable2,555
Opus4,929
Rooms56
Patterns2

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

Fable202
Opus291
Rooms441
Patterns202
Both ours496

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

Fable579
Opus74
Rooms1
Patterns1

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

Fable208
Opus297
Rooms527
Patterns338

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.

MeasureFableOpusRoomsPatternsOurs, both
Scene
Scene file8.4 MB18.5 MB372 KB166 KB—
Level data on disk (scene + its own prefabs)8.4 MB18.5 MB19.8 MB15.8 MB35.6 MB
GameObjects, all / active3,443 / 3,4418,033 / 7,73410,362 / 9,6657,123 / 7,123—
Deepest hierarchy5161710—
Prefabs and pieces
Objects placed in the scene (outermost)2,5554,929562—
Different outermost prefabs20329233234
Prefab files at any depth208297527338704
Different leaf assets207295442203497
Different Synty pieces202291441202496
Renderers outside any prefab6118400—
Unity primitives5797411—
Geometry
Active renderers3,2315,2156,9595,859—
Triangles drawn1.83 M3.22 M4.35 M3.57 M—
Triangles in different meshes205,720293,019357,241158,346—
Different meshes210335459208519
Renderers per different mesh14.514.814.227.7—
Materials / textures17 / 1420 / 1814 / 166 / 614 / 16
Lights, effects, physics
Lights178 point395 point498 point + 3 dir.96 point + 1 dir.—
Particle systems15824444595—
Colliders2,6371,2356,6035,786—
Post-processing volumes1112
1 global + 11 moods
72
1 global + 71 moods
—
Effort
Code written for this level2,707 lines
15 files + shader
3,254 lines
19 files
2,278 lines
assembler
171 lines
builder
—
Wall clock / tool calls1:28:48 / 1931: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

Fable207
Opus295
Rooms442
Patterns203

Rendered meshes, by pack

share of every active mesh renderer

Fable3,040
Opus4,960
Rooms6,514
Patterns5,764

A fifth of everything Fable draws is a Unity primitive (the red band).

PolygonDungeon Dungeon Realms Dungeon Map PolygonGeneric Unity primitive player kit, primitives, other

Same pieces, different hands

How many Synty pieces each pair of builds has in common. The diagonal is each build's own count. Shading is the overlap as a share of the smaller build in the pair. Two-thirds of Fable's pieces appear in our rooms level too; the overlap with Opus is about the same.

FableOpusRoomsPatternsOurs, both
Fable20213214073148
Opus13229117566183
Rooms140175441147441
Patterns7366147202202

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

  1. CubeUnity545
  2. Wall_01282
  3. Ceiling_Stone_Flat_01144
  4. Ceiling_Stone_Flat_02126
  5. Ceiling_Stone_Flat_03122
  6. Tiles_03120

Opus

  1. Ceiling_Stone_Flat_01629
  2. Wall_01253
  3. Dwarf_Wall_01Realms208
  4. Dwarf_Floor_02Realms154
  5. Dwarf_Floor_01Realms148
  6. Basement_Support_Beam_01142

Ours · rooms

  1. FX_Fire_02301
  2. Wall_01248
  3. Ceiling_Stone_Flat_02213
  4. Wall_01_DoubleSided187
  5. Ceiling_Stone_Flat_01177
  6. Torch_Ornate_02162

Ours · patterns

  1. Wall_03331
  2. Tiles_Texture_05328
  3. Wall_05230
  4. Wall_04225
  5. Tiles_Texture_06223
  6. 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 briefLibrary roomRenderersTriangles
great hallHall gallery · back · feast996517 k
armoryArmory · aisled · stocked987929 k
studyAlchemy lab · warren · brewing824265 k
kitchenKitchen · notch · cooking817284 k
throne roomThrone room · aisled · court580542 k
libraryLibrary · box · open561546 k
prisonPrison · block · riot487254 k
forgeForge · cellar · working463233 k
guard roomGuard room · watch · manned447224 k
entry hallGuard room · lobby · manned433228 k
vaultTreasury · lobby · sealed291192 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