On 24 September I asked an agent: "How does it work with a cloud session? So if I close my laptop, everything keeps on running." Three nights later I found out. I handed a cloud session my biggest brief yet, went to bed, and woke up to a town.
The square on 27 September, peopled by the living town.
Until then the villagers were set dressing. Elsie the baker walked a small loop by her stall saying "Fresh from the oven! Come and warm yourself by the bakery." She had no past, no friends and no reason to be there.
The brief
Just after midnight, with the performance decisions answered, I asked for it: "let's work on a character driven module where we store character driven long term stories, back stories, memory and the like. For instance Elsie the baker should have a back story, does she have a family? What's her passion in life / what does she like doing etc."
And the part I cared about most: "I want deep rich characters that interact and make up a community and town and mingle and effect each other. How do we design that long term community feel where new characters can come in or be replaced and it all work together?"
The agent came back with a design (character sheets, roles, relationships, memory, gossip, story arcs) and a few questions. I answered them on my way out: "I'm afk now for 7-8 hours so work on the character driven module while I'm afk. Think deeply, think how it works without knowing the world yet and how these characters may come and go and be part of the village ecosystem."
That gave three calls. Dialogue would be hand-written, shaped so an AI voice could take over later. The simulation would be full: people choose what to do from their needs and relationships, not from fixed schedules. And for the lore, the agents would draft the bibles and I would edit them. When it still talked about checking in, I closed the door: "I am afk so go through from spec to build without stopping / don't ask me questions".
What happened while I slept
The first commit, in the small hours, was the spec and a town bible: a history, a calendar with four festivals, sixteen character bibles and four story arcs. Elsie got a voice ("Calls people 'love' only when flustered") and a dream of making the old mill "a Marlow mill again". Her price at the stall: "A story for a bun, that's the price at this stall. Coin's for loaves."
Then came the engine: people who meet, remember and gossip, a drama manager pacing the stories, dialogue chosen by what a person knows, newcomers and departures, and a dev page to watch it all.
The key decision was a boundary. Town code never imports a world, the kit, the UI or Three.js, so an agent could run months of town life in a unit test and check what happened. That is why it could be built unsupervised.
Under the hood By the time it merged that afternoon,
src/townwas about 11,000 lines in 68 files. The agent logged 99 decisions overnight, each with one line of reasoning.
The dev town page: Elsie's goals, needs, traits and stories.
Gossip was my favourite part. A rumour starts true and gets juicier as it travels: "Elsie saved Tobin the last honey bun again. Third time this week" ends up as "Tobin and Elsie are as good as betrothed. Marta says so."
The gossip tracer: who heard the honey bun story, and from whom.
The four arcs are a courtship, a recovery from fever, a ranger who never lowers his hood, and a new hand at the forge. One big moment a day at most, and a validator proves no arc can get stuck.
Under the hood A 40-seed sweep tuned the arcs. The courtship takes six to twelve weeks to reach a wedding, and parts on about a fifth of seeds if the hero never gets involved.
Replaceable people
The brief's last question was the hard one. The answer is roles: the forge belongs to "the smith", not to Bram. If Bram leaves, the forge closes, the town talks, and someone takes the role: an apprentice, a relative, or a stranger off the high road.
Bram at the forge.
The same forge after Bram has left, with a newcomer in the smith's role.
With no one to ask, the agent answered its own open questions, each time taking "the gentle, reversible choice", as the spec puts it. A game day lasts 48 real minutes, and nobody dies. Each is a constant or a line of data, so I could overrule any of it in a sentence.
Into the game
I read the overnight report over breakfast. "This looks good. What's on the agenda for today?" The agenda was the town in the game, and by lunchtime it was there, a clock in the HUD and people walking their plans through the village, the inn and the forge. A blind art review scored them 5.47 out of 10 and called the plain stand-in for newcomers "unacceptable next to the Meshy people". Three rounds took it to 5.83.
The Bracken Arms. The review's complaint: everyone standing, nobody at the set tables.
The afternoon round
The weekend's thread had grown huge, and I asked whether that mattered: "This chat and work now is very large. Does context here come into play?" It did, so after a final "merge to main" I moved to my own laptop and a fresh session that afternoon: "Lets install the ktx, then work through the decisions. Ask me upfront so I can leave you work." Then: "can we relax permissions here so you can stop asking me to allow things?"
Shops opened only while their keeper was at work, so the bakery was open 40% of its day, and a new game began at dawn with the whole town asleep. I picked shops open about 85% of the day and a later start.
Doubling their work drive was not enough: keepers who went to bed early woke in the small hours, dozed off again and slept past midday. The fix was one rule, a sleeper wakes once rested. Emergent behaviour includes emergent bugs.
At the market, the live town sent nobody to Market Row at all, so the agents added four stallholders. The save grew with every person.
Under the hood A unit test measures the town's save after 60 simulated days. Four stallholders took it from about 52 KB to 76.5 KB, against a 64 KB budget.
The village's art could wait: "Some of this will be meshy downloads that I will get on with next week."
What I took from it
The boundary did the heavy lifting: a town that never touches the renderer can be built and tuned overnight with nobody watching. And I was not asked 99 questions; I got 99 answers, each with its reason, any of which I could change.
And a simulation is only as good as what you can see of it. One of my first messages the next morning was "and what urls can I go to to see lots of things?" My kids will never open a relationship graph; they will notice whether the baker remembers them.