By the end of September Brackenmere had a village, a hedge maze, a castle, a mine, a home that grew with the hero and a town of people with lives of their own. What it did not have was a world. The monsters, potions and quests were whatever each feature had needed that week.
On 30 September that changed. It started with one message in a Claude project chat in the cloud, and by late that night seven pull requests had merged within minutes of each other: a compiled lore, the village's buildings, two expansion passes, a running story, and the quests as data the game could run.
The opening of "Bread at the Door", the running story, as it was merged on 30 September.
Where the story came from
The story started before the code. In mid-September my son and I spent days answering an agent's questions about the game, and much of what we said was about people. "They should definitely remember things that have happened, and these events will affect their friends and family, how they treat us." We wanted a long story too: "there's a massive overarching storyline over the whole game that each era is kind of part of as well." And the hero: "We're a newcomer arriving there about teenager age. There will be a backstory, but we haven't figured that out yet."
Two weeks of building later, that interview was out of date. On the morning of the 30th I asked an agent to turn it into a design vision, with a warning: "since that Q&A was done, we've built a lot of the game and some of that contradicts what we had decided, so will need refreshing and parts removed."
It came back with seven questions and I answered them in one message: places would change, but "more like realistic world changes (ie a fallen tree, a collapsed tunnel, a new door and room built etc)", and they would be hand-made for now, with generated places coming later.
Five sessions, five versions of the truth
That afternoon I opened the project chat and started handing out subjects, each on its own branch. Monsters first: "I want to create a large pool of monsters, baddies and potential 'bosses' for this game, medieval times in this world... I want you to be inventive as well as classic fantasy genre. Up to 150 different enemies."
Then the townsfolk, the quests ("Don't just use the worlds / artefacts we have already, create new and exciting worlds"), the potions ("Make up ingredients that don't exist in the real world") and arms and armour, down to the power-ups: "ie sword plus ruby in hilt = …". When the potions session asked about effects the game couldn't do yet, I said "Yes I want effects, even if they aren't currently part of the game, add them in", and it built them in code.
Five sessions writing side by side would disagree, so I asked for a referee before any finished: "Once these all report back to you, I want you to compile them together and be responsible for a cohesive listing, ensuring that everything links together and is in sync, and doesn't contradict each other."
They did disagree. The compile's pull request listed "two names for the ancient intelligence, Deryn dead or alive, three causes of the Turning, two goblin kings, two dragons, the same people invented twice, and ids that pointed at nothing." The fix was to treat lore like code: one world bible, one decisions page and a checker that fails when any name points at nothing.
Under the hood The compile alone added about 61,000 lines of design data. After the second expansion pass the checker reported 61 places, 157 quests, 245 monsters, 87 folk and 47 potions, with "0 problems".
There was one detour. I asked for a single test picture of a monster, "Do not generate any more than 1 until I give the say so", and it came back as vector art: "What you can do in svg is not good enough, so don't carry on." Claude can't paint pictures itself, so the images waited.
Bigger, then decided
With the compile in, I asked for more, not less. "Extend the world, the lore, the whole world and terms, monsters, buildings to be extensive, and never completely discoverable because it's so extensive. Use fable for this." Then a second pass on top: "I want the world to have many routes, many artefacts... so people get involved and believe in the world, like Harry Potter and the like got."
By the end of the first pass 38 questions were parked for me, from whether the Tallyman should have a name to which worlds to build first. I didn't want to be the bottleneck: "For any questions, make a decision on what works best. No blockers, I'm happy at your decision." The second pass settled every one and wrote a line of reasoning beside it.
Decisions taken for me in pass two, each with its reason and each mine to overrule.
One running story
By evening it was big and scattered, so the third pass pulled the other way: "make sure that we're not over complicating the game, ensure that the world 'feels' like one world where characters interact and are part of the living moving world, not all separate characters. Characters have feelings, want, needs, are compassionate, have their own goals and long term thoughts."
Until then the lore had three long stories side by side and a hero who was, in its own words, "nobody from anywhere". Pass three wove them into one, "Bread at the Door". Our teenager became a fifteen-year-old raised in the city by an old gardener, sent up the valley with an errand they don't understand. Its central idea is one I wouldn't have reached alone: the Tallyman under the hills cannot count a thing given freely, and in the village bread at the door is not charity. In story.md's words, "The relationships the player built are the weapon."
Under the hood Pass three wrote 422 ties between people, each one both ways. It also cut the first version from 122 quests across 40 worlds to 81 quests and two hubs; nothing was deleted, the rest is marked for later.
Then I wanted it runnable: "More programmatic organised structural json and connections etc, rather than lexicon and prose." The last pull request turned the story into scripts, each step with its trigger, needs, changes and lines, and a checker proves no step waits forever on the hero.
One step of the first quest, and the line Tilly says on the lane.
Late that night the scripts reported decisions up to D100. "What are decisions 80-100?" I asked, read the list, and checked: "So nothing I need to make a decision on?" There wasn't. "Let's merge."
Not losing it
The next day the lore was everyone's business. "Okay, all this stuff is great. I think we should merge all this into main now with all the docs, lore, in there." I wanted a handover note, "because there's so much in here that I'm going to forget about if I just try using my brain."
The ruling that mattered was the shortest thing I said all day: "docs/lore/ is the source of truth". The game reads it through generated data, never a second hand-kept table.
The lore reaches the game
On 2 October that became real. The first slice generated the catalogue from the lore, and its spec admitted a player would see almost nothing: "this slice moves where the data lives, not what the player has." The second stocked the shops, and you could see it at Mother Agnes's counter.
Before: the apothecary's hand-kept shelf.
After the second slice: the lore's balm, remedy and tonic, grouped by family.
Under the hood The story scripts came to 109 scripts, 855 steps and 629 conversations. The first slice into the game replaced 66 hand-written catalogue rows with generated ones, with a proof that nothing the player has changed beyond a short list.
What I took from it
Lore written in parallel drifts like code, and holds together the same way: one source, a compile step, a checker and the decisions written down. What let it happen in a day was letting the agents decide instead of queueing questions for me, and where the lore promised more than the game did, I kept the game.