By 24 September Brackenmere had the village, the hedge maze, the castle and three rooms you could walk into. Each had been added by hand, and each had reached into the core of the game to get there. I had asked for the castle almost on a whim: "Let's create another maze example and call it maybe I don't know the castle or something." Its torches, doors, ladder and pit all taught the shared code something new about castles.
The Sunscorched Reach on the night it was built: the tomb of the sun kings, on High.
Where things stood
The simplification audit on 23 September showed the cost. One of my answers to it: "The camera zoom being overridden in every world is not intended." Each world was a special case. That evening, after a castle door I had opened blocked my way back, I was already thinking ahead: "When we build a maze later on we will have to ensure we dont make blockable issues." The plan from the first week was mazes the game makes itself: "I'm not going to handcraft every single maze. That should just be procedural driven." A game that builds its own worlds cannot have each one wired into the core.
Into the cloud
24 September was also the day I stopped working only on my laptop. First I wanted the decks cleared: "Everything on main here, committed and pushed to GitHub? We basically at a clear slate now?" Then: "I want to work in the cloud even when I close my laptop. And also, I've been given $250 worth of free credit." And, to be sure: "So if I close my laptop, everything keeps on running." The rest of the day ran in one cloud session working through numbered phases: the asset diet, faster tests, then what the handoff called the jigsaw kit.
Phase 4a: a world is a definition
Every world became a definition: a profile (fog, light, sky, HUD words), bounds, spawn, portals, the features it wants and a build function. One runtime switched systems on from the definition. Combat, the HUD, weather, doors, climbing and pursuit stopped knowing which world they were in and started taking data.
Under the hood
main.tsshrank to eight lines: resolve the URL, start the runtime. Every renderer counter came out identical in every world and tier, before and after.
Phase 4b gave everything you press E on one interaction registry, and props one placement format, checked object by object against the old build. Nothing moved.
A mine to prove it
Then the test of the idea: a new world that touched no existing system. The agents built a stub mine, linked from nowhere: a dark tunnel of castle stone on a 3 m grid, one goblin, a few crates, a glowing crystal and a ladder home.
The castle, built by hand two days earlier.
The old mine: the castle's pieces, arranged as data, lit by the hero's lamp.
Beyond its own three files it touched eight, mostly one-line list entries, and its three new needs (a lamp that follows the hero, walk-up portals, any world opened from the URL) became general features. The architecture notes end with an honest list of what a real mine would still need: rock instead of stone blocks, colliders that are not rectangles, more than one floor.
The same merge carried a decision of mine pulling the other way. The spec had said every world starts fresh; I overrode it for belongings, so gold, rucksack and equipment travel with you through a save and a ledger. Worlds became separate data; the hero became one thing moving between them.
Three worlds in one evening
The mine landed in the early evening. Heading to bed, I asked for three new worlds, each with its own feel, and told the agents not to cut corners on the textures. Each was built by its own agent in parallel, and by midnight all three had landed.
Whisperfen at the landing: the hero's lamp and the first lantern.
Whisperfen is a marsh at night, boardwalks through fog under a low moon. Each of six lanterns you light pushes the fog back; wisps lead you to chests that rise from the mud, and when all six burn the drowned causeway lifts out of the water.
Frostpeak Hollow is a frozen temple under an aurora. Braziers thaw chests sealed in ice, and on the black-ice mere the hero slides and turns slowly.
Frostpeak Hollow. The chest on the right waits for its brazier.
The Sunscorched Reach is a canyon tomb at golden hour: pressure plates pressed in the mural's order, then three bronze mirrors to carry a sunbeam to the vault. Its colossi were sculpted in code, not Meshy. Each world has its own tests: the causeway rises, the ice thaws, the mirrors have one solution.
The agent's summary was honest: "they have real atmosphere and working puzzles, but some views are sparse. The desert dunes are fairly empty, and Whisperfen is very dark in isometric view."
What went wrong: three agents, three of everything
Parallel building only worked because worlds were data: no agent edited another's world. But nothing stopped them reinventing the same tools. All three wrote a pool of lights lent to the nearest flames, a way to make things you press E on, and their own texture noise. The merge that night folded the Reach's mirrors and light pool into the shared hooks, and the notes gained a section that opens: "Use these rather than adding new ones."
Under the hood The three worlds downloaded 17.3 MB (Whisperfen), 28.7 MB (Frostpeak) and 23 MB (the Reach).
The scenery pieces (fog, still water, night sky, ice, fire, pressure plates) were the real prize.
The launcher page added at the end of the night. Nothing in the game links to it.
What I took from it
A stub you never ship can be the most useful world in the game. The mine was dark and pointless to play, and it proved that a new place costs a layout and a builder, not surgery on the core. Then three agents could build three worlds in an evening. What it did not stop was duplication: separate worlds still need a shared toolbox, or every agent makes its own.