A picture I liked
By the Tuesday afternoon the game had a village, a hedge maze and, since that morning, a first-person view. I wanted a second adventure that felt nothing like hedges, and I had found an isometric dungeon picture I loved: "Let's create another maze example and call it maybe I don't know the castle or something. I've got this image to go on that I really like the look of."
I said what I liked in it: "I like the kind of corner junctions that stick out. Torch lights on the walls. How hard is it to create this kind of atmosphere in here?" I wanted doors too, and answered my own controls question: "Space is like action, usually swinging your sword, but then if you don't have one, then it could be opening a door or things like that." And I kept it small: "It doesn't have to be super complicated, but just give us an idea how it might work."
The agent built a grid of rooms behind three hinged doors, with amber torches and rooms that stay dark until you see into them. That came from the dark hedge maze the day before, where I had asked: "Let's not show items in the maze unless you have visual sight." Sight was becoming a system.
Under the hood The first castle was hand-authored, nine by nine cells of three metres, all procedural geometry with no models. It was playable less than half an hour after I sent the picture.
The first castle, less than half an hour after the picture: procedural stone, torches and banners, with unexplored rooms left in darkness.
"Can't see the character"
Then I walked in and lost my hero. The isometric camera looks down from one corner, so any wall between it and the hero hides him. Hedges were low enough not to matter. Castle walls were not.
My first message had the wrong word in it: "Can't see the character. Can we make the wall that's in the way (ie if character behind it) to be opaque? That's a suggestion, what do you think." (I meant transparent, and kept saying opaque all evening.) The agent faded the wall where it crossed the line to the hero. "This looks v v weird. Just the one wall. The one at / angle." A minute later, another screenshot: "Again example."
A small faded spot reads as a hole, not a wall you can see through. "The whole wall needs to be opaque ... the amount we need to figure out. Not just the small spot I'm next to." Then I stopped guessing: "let's make the wall basically 3% opacity, give me an opacity slider so I can play."
Under the hood The castle, the wall fade and the slider were three commits inside the same hour. The slider started at 3%.
"Can't see the character." The hero is standing just inside the near wall, and the wall hides him completely.
The first fix and the slider at 3%. The faded patch reads as a slot cut in the wall, which is what looked "v v weird".
A punch list for the night
That evening I wrote a long list and went to bed. It was the first job I gave Claude Code; until then everything had run in Codex. "I'm going to give you a list of a few things I want changed in the game. I'm then going to be away from keyboard until the morning. So just work through them, do your tests, work hard, maybe spin up a separate review agent when you need it."
Half the list was walls. "I think the bottom edge should be straight and not slightly curved." "It needs to better represent that the wall is there somehow." "I think all items 'in the way' should have some level of transparency or it looks a bit weird." The rest was atmosphere: "Torches on the walls should illuminate, even when distance is considered." On the textures I was blunt: "I want these a lot lot better, it is very quake 2000 style right now." And the rule for the night: "DO NOT ASK FOR APPROVAL, just build. Any sticking points, always go with your recommendations for now, possibly building in toggles if it's a visual choice for me to review later."
By morning the single faded spot was a cutaway zone: walls on the camera side of the hero, within his sight, turn translucent with a warm outline, and the bottom course stays solid so the base line is straight. Every torch got its own light, and torch-lit floor you can see stays visible beyond your own light. The flat textures became stone blocks, worn flagstones and planks, sized in real metres.
Under the hood The torches had shared six pooled lights; now each torch and the hearth had its own flickering one. A review agent's fixes cut the visibility update from about 12 ms to 8 ms.
Later that night, from the punch list: the whole near wall ghosts to an outline, its bottom course stays solid and the stone has real texture.
Less, then less again
Each correction after that made the cutaway do less. The fade went to 0%, so ghosted walls were just outlines. Then: "The castle wall behind the character is transparent and shouldn't be." The next morning: "Still a transparent wall here... I think we need to see the door at all times, even if it means not being transparent." So walls only ghost for floor in the hero's own room, and doors never ghost.
Seeing your hero behind a wall turned out not to be a clever shader. It was a set of rules about which walls may disappear, found one wrong wall at a time. I could not have written them up front.
The same night had a smaller version of that lesson. A gritty detail layer suited the hedges and spoiled the village, and I took it off in three quick messages: "change to less gritty in village", "let's go 0.08", "let's remove the grit so I can see." A look belongs to a world.
My own models
The castle was still procedural. When I first asked for it I had said "Let me know what 3D assets you require from meshy.ai and I can create them," and the agent wrote me a brief: each piece with its size in metres and a prompt to copy. The next morning: "ok great, what meshy.ai objects do you need from me?" I made the set and dropped in a folder. Torches, ironbound doors, archways, a fireplace, statues and banners replaced the procedural pieces, which stayed only as fallbacks.
The hall dressed with my own Meshy set. The flame floating by the hero belongs to a torch on the ghosted near wall, one of the things I spotted that afternoon.
Up a ladder, into a pit
Then I wanted the castle to test movement: "making the castle slightly larger... One is a ladder that goes up to a slightly higher corridor. One is some stairs that go up and obviously down as well. And the other one is a pit in the floor that the user falls into. And when they do that, they hurt themselves and then they can easily climb out of it." My new animations had a catch: "I don't think there's a stair climbing animation, even though it's called stair climb. It looks like it's a ladder climb to me." So the stairs were done in code.
The agent kept one floor height for every point, with no floors stacked over each other, so walls, sight and monsters kept working. My follow-ups were about feel: the ladder was "too slow", the hero's feet should not "disappear beneath the floor" on the stairs, and "I can still see the flames on opaque walls."
The east wing's pit, with a lane to walk round it. Fall in and it costs you health and a climb.
That evening I found the first real puzzle bug: "I went up the ladder, down the stairs, and then opened the door from that side. The thing is, the passage is now blocked, because I can't close it... When we build a maze later on we will have to ensure we don't make blockable issues, but for now let's make the ability to close doors a thing as well." Doors learned to close, never onto the hero or a monster.
Under the hood The expansion grew the castle from nine to eleven columns without moving a single existing room, so every earlier test coordinate still held.
What I took from the castle
- Hand over a control. Four messages telling the agents it still looked wrong got less far than one slider I could drag.
- Cutaways are rules, not effects. Every rule came from a screenshot of a wrong wall.
- Let the agent say what to make. A brief with sizes and prompts turned my Meshy evening into a drop-in.