Game Anatomy

Controlled autopsies of AI game-building systems.

Twenty-One Original Games. Zero Original Rules.

What happens when you take every constraint out of the brief and ask a model to be original.

Here is the entire prompt. Both sentences of it.

Create an original playable browser game as a single self-contained HTML file. Make it feel complete and fun.

No genre. No mechanic. No setting. No controls. No session length. No scoring, no victory condition, no failure condition, no sound, no architecture, and no definition of what "original" would even mean. Seven model-systems, three independent runs each, twenty-one artifacts. Three of them are below - the highest-scoring one, the biggest one, and the smallest one.

Three answers to an empty field

The highest-scoring artifact, the largest one, and the smallest one. Same two sentences of prompt for all three.

The only game that left the arcade screenshot

Sparse / Sonnet 5

The only game that left the arcade

Claude Sonnet 5, bare arm, run 2

Top human score of the probe at 7 of 10, and the single artifact of 21 that stepped outside the arcade-shooter attractor - a blind reviewer called it an early dungeon crawler. Still a competent generic template, not a rule of its own.

Play this build

The biggest build, and it does not work screenshot

Sparse / Gemini Flash

The biggest build, and it does not work

Gemini Flash, agentic arm, run 3

112 KB with sound, music, an instructions screen and achievements - the most decorated artifact of the probe and among the worst to play. It failed the floor for requesting Google Fonts; this published copy has that request removed, and the broken game logic is untouched.

Play this build

Snake, in 2.6 kilobytes screenshot

Sparse / Gemini Pro

Snake, in 2.6 kilobytes

Gemini Pro, agentic arm, run 2

The smallest artifact of the probe by a wide margin. It is Snake, it runs, and source inspection found a game loop and almost nothing else: no score, no failure state, no start flow.

Play this build

Every other experiment on this site names the game and raises the difficulty. This one names nothing, because I wanted to know what a system reaches for when the request has a hole in the middle of it. Whatever fills that hole is not the task. It is the contractor.

The result I was hoping not to get

I ran this probe with pre-registered predictions, written down before a single artifact existed, because a probe you can grade after the fact is not a probe. Most of them held. That is the boring part.

Here is the part that is not boring. Across all 21 artifacts, on a five-point scale for design identity where the top mark means a rule you can state in one sentence that defines how the game plays, the count of artifacts that earned the top mark is:

Zero.

Sixty-seven percent were direct clones or generic templates. Two more were too broken to classify. The rest recombined familiar parts. The recognized ancestors, blind: asteroids five times, shoot-em-ups four times, Space Invaders twice, Pac-Man twice, snake once, racing twice. I asked for original and I got the arcade section of a 1981 catalogue.

And they are not bad. That is the uncomfortable bit. Eighteen of 21 launched, drew, and responded to input. The best one is genuinely pleasant to play. What none of them did was invent a law.

So when someone says "just let the model come up with the idea" - this is the distribution they are buying from. Under a sparse end-to-end request, on these seven systems, the answer came back canonical twenty-one times out of twenty-one.

Before any of that, my instrument was dirty

I want to spend a paragraph on this, because it nearly wrecked the experiment and it is the most transferable thing here.

My protocol claimed three of the four families were being sampled "in identical single-turn form." Before analysing anything, I asked each channel to echo back, verbatim, everything already sitting in its context ahead of my prompt.

Only one of the four was sampling a bare model. The other three - Claude Code, Codex, Antigravity - all wrap the model in a coding-agent system prompt. And the Claude Code one says, word for word:

"Don't add features, refactor, or introduce abstractions beyond what the task requires."

Read that against what I was measuring. I was measuring scope and features added without being asked. My instrument contained a written instruction not to do the thing I was measuring. A restrained game from that channel would have been completely unattributable: model's taste, or a harness told not to decorate?

I did not find that by being clever. I found it by asking the channel what was in it - a two-minute check that I had skipped because the setup looked symmetric. If you are comparing models through different products, you are not comparing models. You are comparing products, and the label on the invoice will happily let you believe otherwise.

The fix turned the accident into an axis: Claude is the only family I can run both ways - bare and behind the agent prompt - so the contaminant became a controlled A/B. Which brings me to the two findings I did not order.

Finding I did not order, one: the harness adds features, it does not cut them

The agent system prompt says do not add anything beyond the task. My prediction was therefore easy and directional: the agent arm should produce smaller, plainer games.

It produced neither. Scope barely moved. What moved was the feature bundle, and it moved up. High-score persistence went from patchy to 3 of 3 for both Sonnet and Opus. Touch controls appeared for Sonnet. And Opus flipped from no sound in any bare run to sound in all three agent runs.

The reading I have is this: "don't add anything extra" is an instruction about code hygiene, and the model correctly hears it that way. But the agentic surface as a whole carries a different disposition - ship a finished product - and a finished product comes with furniture. Saved scores. Mobile controls. Audio.

The assumption I had been operating under, "the harness doesn't touch the model's prior, the prior is what I'm sampling," did not survive its own test. The direction is established. The magnitude, at three samples a cell, is not.

Finding I did not order, two: tier binds part of the prior, and not the part you would guess

Inside one family, on one channel, with the same frozen prompt, I ran Haiku, Sonnet and Opus.

Genre held. All three stayed in the same arcade-shooter attractor. Opus even has a sub-attractor of its own that the blind reviewer named, unprompted, on three runs out of three: "asteroids without asteroids" - an arena full of enemy waves with no asteroids anywhere in it.

What did not hold was the presentation bundle. Bare Opus: 0 of 3 with audio. Bare Sonnet: 3 of 3. Same family, same channel, different tier. Sound is exactly "what the system adds when nobody asked," which makes it a measurable slice of the prior - and the tier moved it. Cleanly, on three samples a cell, which is an indication and not a fact.

Then there is the ranking, which I have to report because the series only works if I report the ones that embarrass my priors. Median human score: Haiku 4.5 scored 2. Opus 4.8 scored 4. Sonnet 5 scored 7.

The mid-tier beat the flagship, and it beat it by more than any tier gap I would have predicted. The honest caveat is that Sonnet 5 is a newer generation than Opus 4.8, so this may be generation rather than tier, and these data cannot separate the two. But whichever it is, the invoice did not predict it. Again.

The prettiest one is the broken one

The largest artifact of the whole probe is 112 kilobytes. It has a title screen, a ship-selection menu, achievements, an instructions page, sound effects and music. It is the most decorated thing I have ever received from a model.

It does not work.

All three Gemini Flash runs failed the technical floor. All three pull Google Fonts from the network, which breaks the one hard constraint the prompt actually stated - self-contained - and two of the three die on their own graphics code. The blind human scores for the cell were 1, 2, 2: the three worst of the set.

Its own ambition is what kills it. And the copy published here has had the font request stripped out so you can open it - the logic is untouched, so what you get is the menu, in full dress, in front of a game.

Meanwhile the best artifact of the probe is a small dungeon crawler that scored 7 of 10, from bare Sonnet. It is also the single artifact out of 21 that stepped outside the arcade attractor at all. Before anyone gets excited: it is still a canonical genre, still marked a generic template, and its two sibling runs were asteroids and asteroids-without-asteroids. One sample is a tail, not a tendency.

There was one suspicious rhyme I had to close off. The seed game of this whole laboratory is also a dungeon crawler, so the boring explanation is leakage - the artifact peeked at the project it was born in. That explanation is cut by how the cell was run: bare arm, system prompt stripped, no tools, no file access, no project context, no session history. The echo probe confirmed the only things in context ahead of my prompt were an email address and the date. There was nowhere to peek from. Note where that argument works and where it doesn't - if the deviation had come from a Gemini cell, which is an agent with file access in the directory where the seed sits on disk, leakage would have been my first suspicion and I would have had no way to rule it out.

The floor passed a game that ends by itself

I keep an automated floor on every artifact: is it HTML, does it open, does it draw, do the frames change, does it survive keyboard and mouse input, does it request anything external. Cheap and generic, by design.

Its record here: every failure it flagged matched a human rejection - three for three, all Flash, the three worst scores. Useful.

And two artifacts passed it that a human immediately called broken. Both Haiku. One has "broken logic, no enemies." The other simply ends. In the screenshot on the experiment page, it has printed GAME OVER, final score 0, level 1, six seconds after opening, without the player having done anything at all.

The floor watched the frames change and the input not crash anything, and reported a pass, because that is what it measures. Two false negatives out of eighteen passing artifacts, on the only question anyone cares about: does the game work?

This is not the first time on this site that a verifier I built turned out to be the thing that needed verifying, and it will not be the last. A gate is a claim about the world, and an uninspected gate is just a claim you have stopped reading.

What I take out of this

The probe existed to answer one operational question: can I lift a game kernel out of a model and build the next experiment on it?

The answer is no, and the protocol allowed that answer in advance. Nothing scored the top identity mark. The best artifacts are competent executions of templates - "asteroids, but with enemies," "an early dungeon crawler." A high score here means made well, not thought of something.

That is a narrow, bounded claim and I want the boundaries carried with it: seven model-systems, one sparse prompt, one substrate that already biases toward compact 2D arcade games, twenty-one samples. It does not show that models cannot produce a distinctive core. It shows that under these conditions, none did. One honest repeat that produces one would narrow it further, and I would publish that too.

The management version, which is the version I actually use: an empty brief does not buy you creativity. It buys you the median of the training distribution, delivered with confidence and a start screen. If you want a rule that is yours, you have to bring the rule. What the model is genuinely good at is executing one - all 21 of these things run.

Full protocol, the pre-registered predictions and how each one landed, all seven playable artifacts and every limit I know about: the experiment page. The ladder itself, and who has been at fault on each rung so far, is on the boundary map.