Barrelhouse and Cairn, or Saying No to Generated Art Twice
One game dropped a generated portrait route the same afternoon its own pilot disproved it. The other never let a diffusion model near it. Same tools on the shelf, two different calls, and the reasoning behind each.
I had the same art tools on hand for two games this summer and made opposite calls with them. Both came down to what the output had to be, and whether a generator could get it there.
Barrelhouse: a route that lasted an afternoon
Barrelhouse is an idle blues RPG for phones, in pixel art on a nine color palette, with twelve musician portraits planned on a 32 by 32 grid.
The production guide said to prompt for a painted illustration and let downscaling make it pixel art. The first real generation came back as a handsome painterly portrait that was never going to become pixel art by shrinking. It also had gray-blue trousers, with "blue" and "cool lighting" both in the negative prompt.
The fix, on 2026-08-16, left the prompt alone. I added a deterministic pass: crop to square, downscale with a box filter, quantize to the nine palette colors with dithering off, scale back up with nearest neighbor. A color outside the palette cannot survive the quantize step, so drifting blues stopped being something to watch for. The test suite now asserts that every pixel of every shipped asset is one of the nine colors.
Later that day I wrote the portrait plan, on Retro Diffusion, a generator built for pixel art. Its central decision was a trained custom style to hold the set together. Custom styles there are pinned between 96 and 256 pixels, so choosing one meant downsampling to 32.
Before paying for twelve, I ran a small priced pilot on one prompt, three ways. Downsampled from 256, dark murk. Downsampled from 96, abstract noise. Generated natively at 32 by 32, all four candidates read as a musician with an upright bass. Only the resampling changed between those rows. The 256 pixel sources looked the way I had pictured them, which put the damage on the downsample. The trained style route was void, and the plan now opens with a block saying so, added hours after the rest was written.
The pilot exposed two more things. A palette conformance score had rated every candidate 7 to 9 out of 9, including the four that were unreadable noise, so it measures palette use and nothing else. And the plan had claimed the generation call took no seed parameter, read off the cost estimate schema instead of the real one, and had used that wrong claim as an argument.
The superseded reasoning stayed in the document, since "the reasoning that produced a wrong route is the reusable part." Three days later the portraits moved to a 96 by 96 grid, which ended the problem the downsample had caused.
Cairn: none at all
Cairn is a browser dungeon crawler for a small group of friends. On 2026-09-01 its design spec settled the art question in two sentences: all art is code-drawn SVG line work, and no generated art. The Retro Diffusion credits were reserved for The Lien, so part of the call was cost driven. The comparison table gives a second reason in the same row: "Code is also better at this register."
The second reason would hold without the budget. Cairn's characters are paper dolls on a fixed 96 by 128 rig, with heraldry generated per character, and the spec says it plainly: "Heraldry is a rule system, so code draws it better than a person would." In code a part becomes a function with bounded parameters, so roughly forty generators stand in for the two to four hundred static parts a pixel art version would have needed. A diffusion model hands back a picture, and Cairn needed a figure that recolors, layers and ages over a whole career.
The open risk was whether SVG could look good enough, so the first phase drew one complete character and nothing else. The verdict on 2026-09-02 was go, with faces on record as the weakest part of the style.
Code-drawn was not automatically correct either. The first version of that gate page wrote three CSS custom properties onto the SVG and never read them, so a veteran rendered with full construction lines under a caption saying they had receded. Review caught it before the verdict.
What carries over
In both games something looked finished before it was. The tools are good at plausible, fast. What paid off was the check that could tell plausible from correct, whether a palette test, a pilot sized to fail cheaply, or a review that read a page against its own claims.
More on the games at /games/barrelhouse and /games/cairn, and the rest of this series at /notes.