Brackenmere / dev log

Posts Building it with AI agents

Three AI designers, one brief

When the game felt like an errand chain, I asked three AI designers the same neutral question and kept every other opinion, mine included, away from them until they had answered. How that ran, and what a month of building this way taught me.

A08 5 min read

How shall I tell it?

On 18 October I played Brackenmere end to end and didn't like the shape of it. The other series covers what changed in the game. This post is about how I asked the question, because by then asking well had become most of my job.

Too many opinions already

I arrived with two sets of answers. Mine were half-formed: "Is it quite far to walk? Should we have little attacks on the village? Should there be orcs in the village? I don't know, like other things." The other set came from ChatGPT: "I asked OpenAI ChatGPT to take a look at this as well, and this is what it came back with... And although I think that's good, I still think that needs some refinement as well."

Both were a problem. If I handed them over, every designer would start by polishing my guesses. So I asked the root agent for three sub-agents: "a Claude Fable sub-agent, an OpenAI Astra agent, and a Claude 5.5 Opus agent." The instruction that mattered came next:

"But I don't want you to give them the answers that these, that my thoughts have or those game notes have come back with. I want them to come up with their own answers to the problem. I just want you to rephrase the problem in a more concise, eloquent way."

I had tried a smaller version eight days earlier with two Astra reviewers ("These are my words and directions, but I want the agents to not be prescripted by this"), then had to ask whether their reports had been weighed equally. This time I set the rules first.

One neutral brief

The agent asked a few questions first, and my answers set the terms. Full access, no answers: "The sub-agents get access to the full game we currently have. I just don't want you to give them the answer that OpenAI came back with." Credit, without anchoring: "a proposal should show who said what. I don't mind having full visibility. I just don't want them to be opinionated from the start with the answers that another agent has come up with."

Fable needed a word too. Two weeks earlier, with my weekly usage running out, I had said Opus only, no Fable agents. "And yes, definitely allow Fable for this one exception." The Astra seat was already filled: "I've got a blank OpenAI Codex Astra Extra High Agent ready to go."

The brief the agent wrote is one page. It describes the errand chain and its three symptoms, then asks a single question: what should change "so Brackenmere feels like a world, not a to-do list?" My orcs became one word in a list of things to think about: threats. It keeps them out of my Downloads folder and each other's answers, and adds something I hadn't thought to say: "Some of the answer might be removing or loosening things, not only adding them."

Then: "my laptop closed, check on sub agents and carry on." And: "also take into account the openai answers in the md when you're consolidating." ChatGPT would get a seat at the table, just not in the room where the answers were written.

Under the hood The brief asked for 1,500 to 3,000 words. Fable wrote about 3,100, Astra 2,600 and Opus 4,000. The consolidated proposal was committed less than half an hour after I first asked.

Consolidation with names on it

The proposal tags every idea with who had it: F, O, A, and C for ChatGPT. Its first claim is about the process, not the game: "All three repo-reading designers reached the same diagnosis without seeing each other's work. That agreement is the strongest signal in this document." It also says plainly what ChatGPT's notes were: written without the repo, "strongest on player psychology and weakest on what already exists". Even so, ChatGPT gave the one framing nobody else had: the game's moment-to-moment loop was weak.

Where they disagreed, it shows that too. On my orcs, ChatGPT wanted a goblin running into the square; Opus wanted small, funny raids at the edge; Fable said no, because the vision keeps monsters outside the gate; Astra wanted danger beyond a clear threshold. The agent recommended the edge, and wrote: "This is Nick's call."

The tags turned out to matter most where only one designer spoke. Astra alone warned that "If every oddity recruits the hero, curiosity turns into unpaid work." Opus alone proposed a Secrets page. A summary built on agreement would have lost both.

Under the hood Of the proposal's seven parts, the Secrets page is the only one tagged to a single designer. It went into my son's top three.

The choices stay mine

The proposal ended with decisions for me. I didn't want to make them alone. I asked for a page "so he can see what he thinks": one idea per card, then the open questions written for an eight-year-old. The designers' four positions on goblins became three buttons.

The voting page's goblin question with three answers The designers' split on threats, as my son saw it.

He chose the first. That overruled the recommendation, the vision line and Fable's objection, and it was the right call for the people who play it. The rest of his answers (the other series covers them) became the root agent's rulings, each written down with what it would cost if it was wrong.

Then I handed over: "Lets close down the finished sub agents from the research... You are the orchestrator. Lets build." A minute later: "Can go 3 subagents at a time working on different things." Later that morning I checked I could watch: "Can we use solo mcp so I can see the subagents in the sidebar", and "are you running subagents, with supapowers subagent driven design . build etc?" The answer was yes. "Perfect."

What a month of this taught me

This series started with a one-page handoff so a fresh agent didn't have to rediscover the project. This post is about a one-page brief so three agents couldn't borrow each other's answers. In between, the lessons were mostly about the same thing: what each agent gets to see.

  • Write down what is true, briefly. Handoffs, standing rules and briefs only work while they stay short enough to be read.
  • Give each agent its own space. A worktree for code, a brief for thinking, evidence when it hands back.
  • Make the machine cheap to check. Stepped time, named tests and reused evidence let me trust a green run without watching it.
  • Ask without leading. Agreement means something only if nobody was told the answer. Attribution keeps the lone good idea alive.
  • Keep the choices. The agents can diagnose, propose and build in an afternoon. What the game should be is still decided at my table, sometimes by an eight-year-old.

This post is about how I asked a question, not about the game itself. In October I played Brackenmere from start to finish and did not like its shape. It felt like a list of errands. By then I had learned that how I ask a question matters as much as the question, so I tried something new.

Too many opinions already

I already had two sets of answers. Mine were half-formed: should the walk be shorter? Should there be little attacks on the village, or orcs in the square? I had also asked ChatGPT, another AI, which came back with its own ideas.

Both were a problem. If I handed them over, my AI helpers would just polish my guesses instead of thinking for themselves. So I asked for three separate AI designers, from different makers, and told the lead helper not to show them anyone else's answers. Just describe the problem clearly and let each of them come up with their own.

One neutral brief

The lead helper wrote a one-page brief. It described the errand problem and asked one question: what should change so Brackenmere "feels like a world, not a to-do list?" My orcs became just one word in a list of things to think about. It also added something I had not thought to say: some of the answer might be taking things away, not only adding them.

Each designer could look at the whole game, but not at each other's work. ChatGPT's ideas were kept for the end, so they got a seat at the table without steering anyone.

Putting it together, with names on

The answers were combined into one proposal, with every idea labelled by who had it. The most important thing it said was that all three designers had reached the same diagnosis without seeing each other's work. That kind of agreement means something only if nobody was told the answer.

Where they disagreed, it said so. On my orcs, one designer wanted a goblin running into the square, one wanted small, funny raids at the edge of the village, one said no monsters inside the gate at all, and one wanted danger only past a clear line. The labels also kept the good ideas only one designer had. One warned that if every odd thing in the world asks the hero for help, curiosity turns into unpaid work. Another suggested a Secrets page.

The choices stay mine

The proposal ended with decisions. I did not want to make them alone. So I had a little voting page made for my son, about eight, with one idea per card and the questions written for him. The goblin question became three buttons.

The voting page's goblin question with three answers The designers' disagreement about goblins, as my son saw it.

He chose the first one. That went against the recommendation, against what I had written down about the game, and against one designer's objection. It was the right call for the people who play it. The Secrets page made his top three as well.

What a month of this taught me

  • Write down what is true, and keep it short enough to be read.
  • Give each helper its own space to work and think.
  • Ask without leading. Agreement only counts if nobody was told the answer.
  • Keep the choices. The helpers can diagnose, suggest and build in an afternoon. What the game should be is still decided at my table, sometimes by an eight-year-old.
Building it with AI agents

A07 6 min read

The team takes shape: root, owners and one reviewer

My kids' playtest notes became four pieces of work, each with its own agent, and one agent above them merging the results. Over four days that settled into a team: a root that orchestrates, owners that build, one reviewer, and a single thing that stays mine.

Building it with AI agents

A05 5 min read

The agents measure themselves

Three times in a fortnight I asked the agents to stop building and measure how they worked: a retrospective from the commit log, a pass through three weeks of their own transcripts, and an overnight round that timed every wait. Each time the numbers corrected something I was sure of.

Building it with AI agents

A06 7 min read

Making the agents cheaper to run

In one week the agents' running costs became the bottleneck: byte limits that stalled good work, ceremony nobody read, and test suites that ran for hours. I asked where the time was going, and most of the answer was to do less.