Every King Dies · building art pipeline · Sep 5–29, 2026

Blueprint
before paint

For three weeks my buildings were painted from a sentence and fixed in review. The Town Tavern took sixteen paintings. The Town General Store, drawn later from a block model and a floorplan I had already signed off, was approved on its first. Here is how we got from one to the other.

ProjectEvery King Dies (mobile)
SheetBuilding art workflow
Scale42 px = 1 m · adult 1.64 m
ViewParallel, yaw 30°, eye line 30°
Revr16 → r1
16paintings for the Town Tavern, with four hand sketches from me
1painting each for the Town Store, Outfitter and Smithy after floorplans
26 minfrom "our characters will shrink" to "I'm convinced this is the right perspective"
48interior drafts to show what's behind 15 open doors
32 minfrom the plan sheet going out to three Town shops approved on their first painting
Hip shotsSep 5 – Sep 19
Grok, then Codex

Every correction was a rule I hadn't written down

The first buildings came from Grok, each image chained off the last. They came back as a ruined hamlet. I told Claude they "look poor and broken down. The city is a place where civilization is trying to take hold," and admitted I wasn't sure where to go from there. We were also burning image calls fast (the first character cast alone took 750), so Claude proposed art gates: three buildings per batch, one contact sheet, one in-engine shot, and nothing built on an image I hadn't approved. That was the first constraint. It controlled spend. It didn't yet control the building.

When the game moved to its mobile repo on September 8, most of the building art went through Codex, with Astra doing the painting. Reading those threads back, the pattern is obvious. I'd ask for a building, then spend the session saying what I had assumed it knew:

  • Sep 18I just noticed our General Store building graphic has a table blocking the front door. Then, on the fix: that door looks poorly proportioned and the door handle is in an odd place
  • Sep 19On the farm: make sure crops and tools and building structure are realistic proportions to our character height in-game, and later You cant use your own ground texture as it will clash with the real game ground textures
  • Sep 19On the worker camps: can we flip their perspective so it matches the building angle orientation found on all our other structures? Then, a few minutes later, a screenshot and three words: wrong orientation angle

The largest batch went through a review site in six rounds over one night: 30 graphics for Region 3. The notes on scale swung from one side to the other:

  • Round 1Nine buildings: "too small" or "needs to be larger."
  • Round 2The images had simply been scaled up. You can't just scale up the entire image. It needs re-envisioned but keeping the realistic building size proportions so our characters can be imagined walking up to the door and actually going inside the building.
  • Round 3On eight of them: Holy crap this is way too big.
  • Round 5Thieves' Den: Completely re-imagine this. We've gone off the rails. Start over.

Every one of those notes was a rule I had in my head and had never handed over. The walls share an angle. A door is a little taller than a person. The ground belongs to the game. A building has a floor someone walks across. On September 12 I had even asked for snap lines that "respect the angle our building images imply," and added: "I don't know if our buildings present with those angles." They didn't. Nobody had decided that they should.

That same week I asked Codex for an open-door copy of every building: "a dark interior is visible but our lighting effect reveals a small view of what's inside." It painted six rooms, and each one was invented on the spot. Nobody had decided what was inside those buildings either. That came back to bite us.

Grid of early Tribe buildings (hut, general store, inn, house, infirmary, school) in three columns: closed, open with dark interior, and open with light pulse
Sep 18The first open-door twins, closed, open and lit. Nothing defined what the room behind each door looked like, so the painter guessed.
The grey boxSep 21
22:54 → 23:20

"They imply our characters will shrink"

By September 21 I had Astra wired straight into Claude Code through the Codex CLI, and we were rescaling the whole town. First we ran a scale study: a door about 1.2 to 1.3 times an adult, and the Leader's Hall, which had been "drawn no bigger than a house," actually the grandest building. Then the deep buildings started to bother me:

These buildings when they go deep they don't look right. They imply our characters will shrink when they walk past their depth... and they won't. I don't know how to fix this. Either every building needs to not have a heavy depth... or we need to consider a different camera angle or we need to switch to 3d building models and 3d character models... Most of these choices don't seem optimal.

Me · Sep 21, 22:54

Claude's diagnosis took a minute. The game camera is orthographic, so a character is the same size wherever they stand. Astra was painting in perspective, so the windows on a long wall shrank toward the back corner. The fix it proposed was the first real piece of definition in this whole story:

I build a plain grey block model... render it with the game's own camera... Astra paints over that render... I check each result against the block render (front and back corner heights must match).

Claude · Sep 21, 22:55

I said "pilot the school." Six minutes later the four long-wall windows matched within about 3%, and the eave ran parallel to the footing. We pushed it further, to a two-storey Village hall and then a Town royal hall with a courtyard wing. At 23:20 I wrote: "Ok... I'm convinced this is the right perspective." That was 26 minutes after I'd said I didn't know how to fix it.

Three panels: the old perspective school painting; a grey block model of the school in true metres; Astra's painting over the block model, in parallel projection, with two game characters for scale
School pilotLeft, the old perspective painting. Middle, the grey block model in true metres at the figures' 30° eye line. Right, Astra painting over it. Parallel edges stay parallel, and a back corner is as tall as a front corner.

The block model changed who decides what. Claude now authored the shape in code, in metres. Astra only painted it. Everything the game needed from a building (its anchor, the door rectangle, the chimney for smoke, the windows for night glow, a stage's six deck spots) could be measured from the model instead of marked by hand.

Review & freezeSep 22 – 23
18 buildings, 186 stages

A review page, a freezer, and a lot of rounds anyway

The next day was the rich redraw of every Tribe and Village building, and the first proper review page: each painting beside its block model and the art it replaced, at true scale next to an adult and a Vanguard, with Approve or Revise and a note on every card. Round 1 approved 12 of 18. Once a revision was approved, its hash was frozen in approval.json, and nothing frozen gets repainted.

Construction stages came next: six steps from trench to scaffolding, 186 paintings in all. Round 1 approved 7 of 33. My most common note was that the footings stage showed a stone floor that was gone again when the frame went up. In round 2 I wrote "you didn't fix the core issue," and then "I shouldn't have to clear out Notes each round," which is why the review page now keeps each building's history round by round. By round 4 all 33 were frozen. The installer then gained a guard: it refuses any stage painting whose width no longer matches its block. That caught seven approved sequences that had drifted from their corrected models.

Validation was working. Definition was still thin. The Inn shows the difference. I asked for half the old footprint and "some visual cue that shows that the Inn packs visitors in tight." Over about 30 minutes, r2 through r6 were each a squarish box that read as somebody's house, and at r6 I gave up: "This design didn't pan out. What do you think we should do with this?" Claude's answer was a shape, not a style: a long, low 10 × 4.2 m bunkhouse with one window per sleeping bay. r8 was approved.

The same day I noted that "Our Tribe buildings look too sophisticated... They shouldn't have sophisticated roof shingles," and that "some of the construction phase roof beams are floating and not connected to anything." Each note was reasonable, and each one was caught after a painting instead of before it.

Behind the doorSep 25
15 doors, 48 drafts

What's behind the door?

The open doors came back around as bugs: the General Store's door opened on its handle side, and a dark box showed around the frame whenever someone went in or out. Claude fixed both quickly. Then I said what had really been bothering me:

I'd argue the perspective we're showing from within the open door of the interior doesn't reflect the outer structure's shape and implied floorplan. I wonder if we should just not try showing an open door at all?

Me · Sep 25, ~11:34

Painting a room through the door means inventing a floorplan the building doesn't have, and each painting got it slightly wrong.

Claude · Sep 25

Claude offered a plain dark doorway with a warm glow: "No floorplan to get wrong." I said no. I still wanted a peek inside, "even if it's just floorboards," as long as it was "reasonably accurate from our perspective." So Claude traced it. For every pixel in the doorway, a tool followed the line of sight into the block model and drew whatever it hit. The geometry was its own lesson: looking down at 30° through a 2.3 m door into a room about 5 m deep, you see almost all floor. The shelves at eye level in the old paintings could never have been visible from that angle.

Astra then painted over the traced guides, three drafts per door. Round 1 was the General Store alone. Round 2 covered the other fourteen, and twelve were approved. The two that went to a third round had the same problem: the traced room didn't fit the outside of the building.

Based on the outline of the actual building the blue wall in your traced guide is not realistic. Your doorway also cuts through the chalkboard sign next to the doorway.

Me · Sep 25, on the School
Hut open-door draft 2a
Hut r2a · round 2
Hut open-door draft 2b
Hut r2b · round 2
Hut open-door draft 3a
Hut r3a · round 3

All fifteen doors were done that afternoon, and the new Outfitter's door went through on its first round, because the method already existed. Still, every interior had been reverse-engineered from a shell. We were working out what was inside a building after it had already been painted from the outside.

Sixteen tavernsSep 27
~13:30 → 15:40

Sixteen taverns and four pencil sketches

The Town Tavern was the upgrade of an open-sided drinking hall. My note on its third painting asked a question nobody had answered yet:

I think the Tavern finally deserves a floor? Can we put in a real stone floor now? Keep the unwalled open view so we can see more of the interior. How do we make the upstairs look like it has a purpose? What would a tavern us the upstairs area for?

Me · Sep 27, verdict on r3

Claude came up with guest lodging upstairs and an outside stair running straight up the open end. Over the next two hours the upstairs got designed one revision at a time, mostly by me, with a pen:

  • r6First sketch. Those stairs do not look right. I think what you need is stairs that wrap around and lead up to a front landing area at the 2nd floor... Then supported by a new post.
  • r9Second sketch. Right now those stairs really appear like they're heading back behind the house and not actually up to the front upper area.
  • r12Third sketch. The railing is blocking where patrons would actually walk up the stairs... The block model looks perfect, but the painted version looks wrong.
  • r15Approved. Four minutes later: actually.. I just noticed one piece of railing misplaced, and a fourth sketch.
  • r16Approved. Astra can't edit in place, and every full repaint broke something else, so r16 is r15 with two masked patches, checked to change zero pixels outside them.
Town Tavern painting r1: second storey with a row of windows over the open hall
r1 · a second storey, no idea what it's for
Town Tavern painting r8: open upper gallery with an outside stair
r8 · open gallery, stair still wrong
The owner's stair sketch drawn over a tavern painting, with lines marking where the stair should wrap to a front landing
My first stair sketch
Town Tavern painting r16, approved: wrap-around stair to a front landing, open upper floor
approvedr16

Two things caused all sixteen. The first was that the upstairs had no defined purpose, layout or circulation, so every painting had to guess how a patron climbs, where they arrive, and what's walled. The second was a perspective trap Claude diagnosed after r12: the stair rises toward the viewer more steeply than the camera looks down, so from the game's angle you see its underside and side beam, not the tops of the treads. Astra kept painting tread tops, which made the stair look like it ran behind the house. An open-walled building also has nothing to hide its interior behind. The Tavern has no door, but it had the open-door problem everywhere.

The night before, on the Quest Board's construction stages, I'd asked the same question more bluntly: "Does the art agent even know what art it's sourcing from BEFORE it's step and AFTER?" It didn't. It knew what it was shown.

The floorplanSep 28
16:37 → 22:49

Draw the floorplan first

The next afternoon we were painting the shop rungs: General Store, Outfitter and Smithy at Village and Town. I stopped and proposed the thing I had been circling for a week:

We already have a block model. I'd like to also have a floorplan model that also contains rough shapes for various items, decor, etc. Frequently we have issues with Astra getting the painting, perspective, sizes, and distances right and I think a real feasible floorplan that's modestly accurate to character dimensions could make this process better.

Me · Sep 28, ~16:37

Claude agreed and pointed at the history. Most of the corrections that had cost us rounds were layout, not style: the Tavern stair, a hoist sack hanging over the Town Bakery's oven stack, a cart blocking its door, the Village Shrine's relic stones moving between paintings. "A block model at 30° hides exactly these things: what's behind what, how far apart two items are." A character-scale plan tests whether the building works "before anyone paints it." At that point we were catching those problems "after a 10-minute paint and a round trip to you."

Two more messages from me set the rest of the rules. The first was the angle rule, which answered my September 12 question: "We should establish consistent angles for all 4 sides of our buildings with flexibility on their lengths and depth, but not the angles themselves. That should be caught at the block model phase." The second set the order of work:

I want to review block models and floorplan proposals for building tiers. After I approve those then we move on to painting with another approval. Once that is done that can then guide construction steps, fire maps..., open/closed door graphics, and anything else I've forgotten

Me · Sep 28, ~16:48
GATE 1Block model + a plan per floorYaw 30, walls on two axes, rough furniture at true size. Code-rendered in seconds.I approve · fingerprint frozen
GATE 2PaintingAstra gets the block, the house style, the parent rung, and each floor's cutaway at the same angle.I approve · hash frozen
3Construction stagesPainted backwards from the approved building, checked with onion skins.I approve
4 · 5Open-door twin, fire mapThe door interior now comes from a plan, not a guess.I approve
6InstallScale, doorstep, outline and stages, all measured from the model.

A floorplan lists each floor's rooms and items as rough rectangles in metres, sorted by kind: fixture, hearth, furniture, goods, cloth, stair. It renders two ways. The top-down view on a 1 m grid is for me, to judge whether the rooms are the right size. The cutaway is for the painter: the same floor at the block model's own yaw and eye line, roof off and walls cut low, each item a coloured block. Walls and doors come from the block model itself, so the plan and the model can't disagree. The first version put people in the plan as upright cylinders. I asked "what are these cylinders?" and then "don't use cylinders... include a character outline outside the floorplan scaled to exact size." A 1.64 m adult now stands beside every view.

Grey block model of the Town General Store: a two-storey shop with a side storeroom, awning and chimney
Block model · yaw 30
Ground floor plan of the Town General Store: shelves, hearth, barrels, display table, counter, stair up, storeroom with crates and sacks, 40.1 square metres
Ground floor · 40.1 m²
Upper floor plan: two bedrooms with beds, chest, chimney, parlour table and bench, stair down, 28.1 square metres
Upper floor · 28.1 m²
Astra's painting of the Town General Store, approved as the first painting
approvedPainting r1
Town General StoreThe model, both floors, and the painting made from them. The shop, the storeroom and the family's rooms upstairs were decided and approved on the plan sheet, so the painting had nothing left to invent.

The plan sheet caught the problems while they were still cheap to fix. The Village Store and Outfitter had just been sent back as "not bigger enough from tribe," so every rung now shows its ground and floor-area growth against its parent (the Village Store grew 31% on the ground and 91% across both floors). The Town Smithy came back at the plan stage, not the paint stage: "I think a smithy has no business having a 2nd floor. Make the Town smithy a wider 1-story building and ensure it has stone flooring on the ground level." Changing that plan took seconds of code. Changing a painting would have cost ten minutes of Astra and another review.

Then the timestamps. The angle rule was committed at 16:57. The plans were on a review sheet at 20:35 and frozen at 20:55. At 21:07 the Town General Store, Town Outfitter and Town Smithy were each approved on their first painting. Everything was installed by 22:49.

ContinuitySep 28
21:36 → 22:49

The picture wins over the words

The paintings were now landing, but the construction stages for the same shops still looped. The Outfitters took four rounds, and the Village Smithy's walls stage reached r5, with chimneys floating, roofs sagging and a wall going crooked. I asked: "why was this so difficult for the painter. Do we not show that in the floor block model? How else could we improve iterations on that?" Claude's answer became the first line of the workflow:

The block model is the part of the prompt Astra trusts most, and for chimneys it was telling the wrong story... Every earlier chimney fix fought that picture with words... when the picture and the words disagree, the picture wins.

Claude · Sep 28

The part-built block had dropped the chimney until the walls went up and then drawn it starting 0.5 m off the ground. Astra painted exactly that. I followed up with "we need our building design workflow to be a lot smoother. Implement any improvements you see fit." Within the hour the continuity problems each had a check:

TroubleCauseFix
Chimneys floating in the stagesThe part-built block dropped the stackChimneys stand from the ground at every step; an x-ray view with see-through walls
Steps 8–10% larger or smaller than the nextEach painting was stretched to its block's widthfit_to_block: match by silhouette, bottoms aligned
Roofs too low at later stepsThe height was only in wordsOnion skins: each step laid over the next, blue over orange
Blue ladder, teal chestPlan key colours painted as real onesA muted cutaway and a prompt that says colours are a key
Pink smokeThe magenta ground showing throughdespill

The size drift is the one that stings. "Nobody had spotted this, because we only ever looked at steps side by side." Once the steps were overlaid, it was obvious.

The last piece was writing all of it down. The rules lived "across a dozen CLAUDE.md entries," and "each session has to rediscover them, which is how steps get skipped or done out of order." A usage review that day also found Astra jobs sprawling to 8–10 agent steps each, with about 140 images painted. So at 22:49 Claude committed a building-art skill covering the gates in order, the exact commands, the checks to run before I see a sheet, and the Astra limits. One job is now one image in one step. A fresh agent then dry-ran it on a building we hadn't touched, the Herbalist, with no painting allowed. It found five gaps, including that the Herbalist upgrades into a different building, which competes with an in-place rung. Those were fixed before the skill was ever used for real.

The auditSep 29
59 paintings

Measure, then let me judge

With the angle rule in place, I wanted to know how much of the existing town broke it: "Don't generate new art, just audit how many are wrong." All 64 block models passed, apart from five legacy buildings at yaw 20 and 15. The first painting check was harsher: 41 of 59 approved paintings drifted past a 2° gate, mostly on end walls drawn 3–8° too shallow.

I went through the review sheet myself and marked 8 of 59 as not acceptable. Then I pushed back on the measuring: "Many of them I had to eyeball it myself because you didn't draw the angle lines from the real outer dimensions of the buildings." Claude rebuilt the measurement. It now fits the block model to the painting by silhouette, reads the front angle from front walls, and reads the end angle only from the lowest 1.6 m of the end walls, where it had been locking onto roof slopes and shingles. In round 2 I rejected five paintings, and they were exactly the five legacy buildings drawn at the wrong yaw. I also wrote down the rule I'd been applying without knowing it:

If all we have to do is nudge a building half a grid to the left or up to get it to fit within our road angles then it's okay. It's less about perfect flush with the road line and more about just visually fitting into the space.

Me · Sep 29

Claude tried to turn that into a number and couldn't. By distance alone, a legacy Market Square strayed about as far as the accepted Leader's Hall. The difference was that the legacy five were rotated as a whole, and, as Claude put it, "a nudge moves a building but can't turn it." So the paint tool's warning changed from "revise" to "check the fit," and my review stayed the gate. The five legacy buildings were rebuilt at yaw 30, given floorplans (the Stage now has two levels), and their plans were approved in one round.

What I'd tell youSep 5 – 29
in hindsight

Definition you can check

None of this is new to anyone who builds software. You write requirements before code, review the design before implementing it, and test the result against the spec. I know those habits from software and still didn't apply them to buildings, because a painting feels like one step. It's actually a design, an implementation and a review, all hidden inside one image.

Every correction is a missing constraint.

"Wrong orientation angle," "way too big," "the table is blocking the door": each of those was a rule I held and never wrote down. Count your review notes. The ones that repeat are rules you haven't written down yet.

Decide what's inside before you paint the outside.

The open doors, the Tavern's upstairs and the Smithy's second floor all failed for the same reason. Nobody had decided how the space would be used. A floorplan at character scale answers that in a medium where changing your mind costs seconds.

Approve in the cheapest medium.

A block model and a plan are rendered by code, with no image model involved. Catching a smithy's second floor there, instead of in a painting, is the whole reason the gate exists.

Put geometry in pictures and style in words.

"Astra paints the picture it is shown, not the words." Anything that has to be in a certain place (a chimney, a stair, a roof height) goes into the model or the cutaway. The brief is for materials and character.

Freeze what's approved.

Hashes on paintings and fingerprints on plans mean nothing drifts quietly, and nobody asks me to approve the same building twice.

Check continuity before the human sees it.

Onion skins, silhouette fits and x-rays caught the size drift I had missed for a week of side-by-side reviews.

Measurements prompt a look; they don't replace taste.

The angle check flagged 41 buildings. I cared about 5. The tool's job is to point me at something. The decision about whether it's acceptable is still mine.

Write the workflow where the next session will find it.

A skill that names the gates and commands is what turns one smooth evening into the normal way we work, and it saves tokens along with time.

Sep 5Art gates: small batches
Sep 18–19Codex hip shots, six review rounds
Sep 21Grey block model, parallel projection
Sep 22Review page, freezing, construction stages
Sep 25Traced interiors behind 15 doors
Sep 27Town Tavern, r16
Sep 28Angle rule, floorplans, gates, skill
Sep 29Frontage audit, legacy repaints