North was perfect. South was a different room.
What 90 image generations taught me about AI concept art at production scale
Developer sentiment on AI has gone from 18% negative to 52% in two years, and asset generation sits near the bottom of actual use at 19%
gpt-image-2 produces remarkable single images but cannot hold a 3D space consistent across viewpoints, scale, or attempts
The seed that once gave a handhold on reproducibility is gone, and across 90+ generations every seed field came back null
At production scale the work moves from art direction to writing 900-word specifications by hand for a system with no memory
The first prompt was 147 words, and I thought that was a lot.
It described a lane, two flanking blocks, a balcony platform, a horizontal beam, a back wall, two cover primitives. Matte white, grey ground, no characters. A whitebox, the kind of greybox blockout any environment artist would build in-engine before a single texture goes down. The image came back in sixty seconds and cost five cents. The proportions were off. The platform read as a window ledge. The lane felt like a corridor.
So I wrote another 147 words, more specific this time. A flat walkable balcony platform at upper-storey height, roughly four metres wide by two deep, projecting horizontally from the inner face of the upper storey, large enough for a person to stand on. Closer. Still wrong. On the third attempt I gave up on the lane entirely and rethought the whole thing as an interior arena. Another sixty seconds. Another five cents.
Then I did what I should have done first. I had a reference image: a 3D blockout I’d built myself, colour-coded, labelled, with human-scale figures and storey-line annotations. The real spatial ground truth, straight from the engine. I fed it to the edit endpoint and asked the model to clean it into a matte white whitebox, strip the figures, strip the labels.
If this is useful, there's more where it came from. Multiple free posts a week on game production, applied AI, leadership and how the sausage actually gets made.
It removed most of the labels. Not all. The scale came back wrong. The purple wall, the one that was meant to be the tall dominant surface at the back right, came back medium height like everything around it. So I added the sentence I’d assumed the model would infer from a reference image that literally showed it: the back-right wall is dramatically taller than the others, roughly two to three times their height, soaring above and dominating the back-right portion of the arena.
That worked. After four attempts and twenty-three minutes I had a clean whitebox. Cost: nineteen cents.
I want to be clear about what nineteen cents and twenty-three minutes had actually bought me. Not a concept. Not a piece of art. A starting line. A grey box I could now begin to detail. And reaching even that had taken a fight with a tool that was looking at my own geometry the entire time.
None of this was a chatbot, by the way. We were driving the model through API-level controls, prompting in structured JSON for the extra fidelity it buys you over typing prose into a text box. This was the tool operated near its ceiling, by people who build production pipelines for a living. Hold onto that, because it matters for everything that follows.
The thing the surveys won’t tell you straight
If you read the trade press you’d think concept art was the settled, obvious win for AI in game development. The practical application. The one nobody argues about.
The data says something quieter. The GDC State of the Game Industry survey, 2,300 developers, breaks AI use down by task, and asset generation, the thing my team was doing, sits near the bottom. Eighty-one percent of the developers who use AI use it for research and brainstorming. Thirty-five percent for prototyping. Asset generation comes in at 19%, and only 5% will put it anywhere near a player-facing feature. The pattern is plain: the further you move from idle ideation toward something that ships, the faster the hands come off the tool.
Sentiment is moving the same direction, hard. The share of developers who think generative AI is bad for the industry went 18% in 2024, 30% in 2025, 52% now. It tripled in two years and crossed into the majority. Only 7% call it positive. That’s not a wobble, it’s a curve, and it’s pointing down.
Part of that is the job market underneath it. Seventeen percent of those surveyed were laid off in the last year, 28% within two, and the people on the floor watching colleagues go while executives talk efficiency are not the same people writing the AI-first press releases. The gap between leadership enthusiasm and artist buy-in is wide and well documented. The “most practical application” story is, to a large degree, a story told from above the work.
One honest caveat, since I work in India and this matters to me: the GDC sample skews US-based, white and male, and GDC says so itself. It is not the whole world. Japanese studios, for one, report far higher adoption. Read the numbers as a strong Western signal, not a global verdict.
But here’s the easy misreading I want to head off. The tempting conclusion is that this is pure ideology, artists resisting the future on principle. I don’t buy it. I think a lot of those developers tried the tool on real work, at the scale real work demands, and quietly concluded the maths didn’t close. The 19% isn’t squeamishness. It’s a verdict. And the rest of this is the mechanism behind the number, told from inside one engagement where the client was fully aligned on using AI and we still walked into every wall there is.
Null going in, null coming back
Here is the part that took me a while to understand, because it sits underneath the craft and only shows up when you read your own logs.
There’s a feature in image generation called a seed. The idea is simple. The random starting point that produces an image is just a number, and if you know the number you can run the same prompt again and get the same image back. When something almost works, you fix the seed and change only the words. The composition holds still while you adjust. It’s the one handhold the medium offers.
It doesn’t exist here. Not “it’s hard to use.” It isn’t there.
I went back through the records. More than ninety generations across four projects. Every seed field in every log entry, null. Null going in, null coming back. A slot in the schema that was wired up and never carried a value.
The reason is structural, and it comes in two layers. The first is the endpoint. Text-to-image on gpt-image-2 will at least nominally accept a seed. But every style pass we ran went through the image edit endpoint, because we were transforming an existing reference. That endpoint doesn’t expose seeds. You can pass one. The API ignores it. Nothing comes back.
The second layer is worse, and it would bite even if the endpoint behaved. Our canonical whitebox, the grey box that cost nineteen cents, was itself the output of a non-deterministic edit. Every style we generated downstream used that image as its reference. So even if I could have locked a seed on a given style pass, I’d have locked one link of a chain whose very first link was already a roll of the dice. There was no point in the pipeline where reproducibility was even theoretically available.
This is not an oversight someone will patch. The newer image models, gpt-image-2 among them, work autoregressively. They build an image the way a language model builds a sentence, predicting the next piece from everything before it, rather than starting from a fixed field of seedable noise and denoising it. There’s no seed because there’s no noise origin to seed. And here’s the cruel symmetry: that same architecture is exactly what makes these models so good at following instructions, so good at the 147-word prompt, so good at the thing that made me want to use one. The instruction-following I loved and the determinism I lost are the same design decision. You cannot keep one and recover the other.
The seed field in every schema file says null. That single null is the whole problem written in one character.
Thirty styles, ninety minutes, one sentence I had to keep retyping
With the whitebox locked, the real work started, and for about an hour it felt like flying.
I wanted to know what the space could become. The first style was a Tadao Ando raw concrete interior: form-tie holes, board-formed surfaces, tall narrow windows throwing raking daylight. Fifty-six seconds. Then a variant with a warmer concrete palette. Then a third that added formwork reveals and a shadow gap where wall meets floor. By the third Ando prompt I was writing six hundred words for a single image.
Then I opened the throttle. Between roughly eleven and noon I ran a dozen more directions in parallel. Retro-futurist seventies in three lighting moods. Space-age with op-art murals. Frank Lloyd Wright Prairie across five variations, from hearth glow to rain-grey cedar. The afternoon went to Mexico: hacienda, Barragán, Tulum, Spanish Mission, Pueblo. Then a run of Western Gothic, modernist through to border desolation. By the end I had something like thirty fully realised interiors, all grown from that one whitebox.
Some were extraordinary. The Barragán marigold came back exactly right. The Wright hearth glowed with the precise warm weight I’d asked for. The op-art read with Vasarely sharpness.
But look at what closed every single one of those prompts, thirty times over:
The space is entirely empty. The back-right wall is dramatically taller than the other back walls, roughly three times their height, soaring above and dominating the back-right portion of the space. Maintain the existing camera angle, composition, and spatial layout.
I typed that, or a version of it, every time. Not because I forgot the geometry. Because the model did. There was no persistent space for it to remember. Each generation was the first time it had ever seen the room, so each time I had to rebuild the room in words before I could change its lighting.
A different room every time you turn around
The single clearest failure was the one I opened with: move the camera, lose the room.
It’s worth sitting with why, because it isn’t a glitch you can prompt around. North gave us a beautiful, coherent image. South gave us another beautiful image of somewhere else. The walls didn’t agree with the first render, the proportions had wandered, and the reference images didn’t save us, because they pin down style and rough content, not a stable three-dimensional truth you can walk around.
This is object permanence, and the model hasn’t got any. It was never holding a room. It was producing, each time, a plausible picture conditioned on some tokens. “The same arena from behind” is not a question it can answer, because there is no arena in there to turn around. There is only the next plausible image.
Scale broke the same way, and at production it broke worse, because we had several artists working several versions of the same scene at once. Each one of them was rolling their own dice. We’d built proxies, we had a defined human scale, and still the sizes drifted across the set, person to person, version to version, with no shared anchor to hold any of it together. That’s the part the single-image demos never show you. The trouble isn’t one image. It’s coherence across a set, and the set is the actual unit of work in real development.
Thirty-plus years of production work went into this. Most of it didn’t make the post. New posts every week. Free to read, free to subscribe.
Writing legal disclaimers to an image model
The exterior work, an outdoor plaza built from a different blockout, produced my favourite absurdity of the whole job.
The reference had three back walls at different heights. I wanted them read as one continuous flat surface, the enclosing back wall of a plaza. The model kept turning them into three separate buildings. Which is, to be fair, a reasonable thing for something trained on architectural photography to assume: three wall segments at two, two and three storeys look like three structures with depth and passages between them. So the second-attempt prompt opened like this:
Critical geometric constraint: the back walls are continuous flat planar surfaces forming the enclosing back wall of an outdoor plaza. They are NOT separate building masses and NOT volumetric structures extending forward or behind. The height difference is a difference in wall height only, not a difference in building footprint.
I was writing a legal disclaimer to an image model. And then, underneath it, instructions to strip out the magenta dashed lines and the storey labels reading GROUND, FIRST, SECOND, because the model was rendering my annotation scaffolding as actual architecture. The very marks I’d drawn to communicate intent, it was building as structure.
By the third environment I’d developed a whole private vocabulary. A “Rest Area,” the central eighty percent of each wall kept smooth, because if I left it open the model filled it with detail that would bury a character silhouette. A rendering manifesto pinned to every prompt: flat matte painted pipeline, no specular, no reflection, no wet sheen, no engine-cast shadow. Precise placement rules: form-tie holes and joint lines clustered at the top corners and base edges only, never the centre.
Those prompts reached nine hundred words each.
The conversation only goes one direction
Read the logs end to end and you can see the shape of the thing. Every prompt contains the whole of the previous prompt, plus the corrections for whatever went wrong last time. The language only accumulates. Each failure leaves a scar in the text, and the text is the only place a scar can live, because the model keeps none of them.
By the end I wasn’t writing art direction. I was writing annotated specifications. The creative brief and the technical correction had fused into one unwieldy document, rewritten from scratch for every image, hand-delivered to a system with no memory of the thirty attempts before it.
And there was a tax for trying to fix things in place. Push too hard on a near-perfect image, prompt and prompt and prompt to correct the one object that’s wrong, and the output starts to degrade. Context rot. The thing you were refining gets worse because the context you’ve piled up has turned against you. A diffusion re-roll doesn’t punish persistence like that. This pipeline does.
So where was the constraint infrastructure, the seed-locking and control nets and trained adapters that are supposed to claw determinism back out of these tools? We didn’t have it on this job. Our only instrument of control was the prompt itself, swelling from 147 words to 900 as it absorbed every lesson. The determinism I recovered, I recovered by hand, in language, one generation at a time, and none of it persisted past the single image it produced.
The speed that wasn’t
Speed is the whole case for this. Strip it out and “most practical application” collapses. So count it honestly.
The generation cost four cents and took under a minute. That’s the number everyone quotes. But that was never the cost. The cost was the nine-hundred-word prompt in front of it, the four attempts to reach a usable whitebox, the time spent choosing among near-misses, the re-rolls that fixed one wall and broke another, and the simple fact that the artist I was supposedly replacing was still right there, now doing forensic correction instead of authorship. The four cents is real. It’s also the smallest line on the invoice.
What the tool actually did was move the labour, not remove it. It shifted the work from the front of the process, where an artist makes decisions from intent in a more or less straight line, to the back, where a producer reverse-engineers a machine’s near-misses inside a composition it chose. Reactive correction is slower and grimmer than authorship, and it fights you with sunk cost the whole way, because the image is so close and surely one more prompt does it.
That 19% is a room full of people who did this arithmetic on their own work and walked away from it as a shipping tool. Not because the pictures are bad. Because the fully-loaded path to a consistent set of them isn’t faster than the thing it was meant to replace. The studios that do use it well, by the reporting that exists, have all landed in the same place: AI for pre-production exploration and pitch decks, artist-led pipelines, mandatory human paintover as a standard stage, consistency held together by curated prompt libraries and trained style anchors rather than by the base model. They didn’t find a shortcut. They built a frame strong enough to contain the tool, and kept the artist at the centre of it. That frame is a thing you build deliberately, and I’ve written before about the configuration layer a production has to put around an AI model before it behaves. The lesson from this job is that concept art needs one too.
What you can’t buy twice
Here’s what keeps you pulling anyway. The first shot was eighty percent there. The model showed you, on day one, that it can deliver, so every miss after that feels like luck rather than a ceiling. The near-perfect image is stickier than a clean failure, because it reads as almost yours. And there’s never a moment the tool tells you to stop. It will always make one more.
And the hook doesn’t stop at the person holding the mouse. A dozen working concept artists told Creative Bloq that AI made their jobs harder, not easier, and the mechanism they named is the same one, scaled up the chain. Art directors anchor on the first AI image they’re shown, even when it’s spatially wrong or incoherent, and stronger human concepts then get measured against that first hit and rejected. The honeymoon pull doesn’t just trap the operator. It quietly resets the taste of the person approving the work. That’s the part that should worry a production lead more than any wasted afternoon: the tool isn’t only slow, it bends judgement toward whatever it happened to produce first.
The null seed is where the slot machine turns cruel. When the Barragán marigold came back exactly right, when the Wright hearth got the glow, there was no way to keep it. No seed to bank, no coordinates to return to. A winning ticket I couldn’t photograph, in a lottery I couldn’t re-enter. All I could carry from one roll to the next were words, which is exactly why the prompts swelled into incantations describing outputs rather than inputs. “The back-right wall soars three times their height.” “Warm interior, like a Mexican hotel at dusk.” Those weren’t art direction. They were me trying to encode a result I’d already seen and lost, because language was the only thing the next roll would inherit.
The images at the end were genuinely remarkable. The dusk plaza with its lavender-to-amber sky over flat concrete exists because someone wrote nine hundred words exact enough to summon it. The prompts had become a strange new kind of technical writing, part fiction, part specification, part incantation, and the skill in them is precision, not creativity.
But remarkable and reproducible are different properties, and production runs on the second one. A commissioned artist holds the world in their head. They can give you the same helmet tomorrow, from the other side, after the note, in the marketing render, because the world persists in them between jobs. gpt-image-2 holds nothing between generations. So the job, the actual producer’s job in a pipeline like this, becomes supplying the memory and the determinism the tool refuses to keep. You are the seed it doesn’t have. This is the same problem I keep circling from other angles, how a producer carries state across sessions an AI model won’t remember. Concept art turns out to be one more place where the human is the persistence layer.
The better these models get at making any single image, the less they hold of the one before it. We’ve built a tool that improves at everything except remembering what it just did, and handed the remembering back to the human who was told the tool would do it for them.
If this changed how you think about even one thing, the next post might too.




