Plague Inc., but the disease is the race to AGI.
You run a frontier lab. One tick is one month. Reach AGI at 100% with alignment above 60 before a rival, or before a rogue state actor ignites an uncontrolled superintelligence first. The whole thing is played as the front page of a newspaper being typeset in real time.
Three things I could not get across in an argument.
I did not build this to have a finished opinion about AI. I built it because there were three things I kept failing to explain in conversation, and a simulation makes you be specific in a way that having views does not.
In the game, rival labs keep releasing open models, and every release drives a free tier that eats into what your product can charge. Stop shipping and your revenue collapses within months. So you ship faster, and thinner, and with less checked than you wanted to.
There is no option in this game to decide not to build it, because there is not one in reality either. The win condition is AGI at 100% with alignment above 60. Racing gets you there and loses. Stopping loses. The only winning line is arriving with it under control.
Biotech policy compounds into real health gains. The space tree lets orbital compute run away from anything you can build on the ground. Most AGI conversation is either doom or boosterism; the interesting part is that both are live in the same run, and your choices decide which one you get.
The squeeze is the one I most wanted people to feel rather than be told. It is easy to say a lab should slow down. It is harder to say it while watching your own revenue fall because a rival open-sourced something last month, with a rogue-actor clock ticking in the corner. The commercial pressure is what makes safety hard, not villainy, and a spreadsheet cannot make you feel that.
Early builds had alternate victory conditions, and players kept "winning" without ever reaching the singularity. That was the game quietly agreeing that you could opt out. I removed them. Now the singularity always arrives, and the only question the game asks is what kind of world was standing when it did.
What would this look like if it were not trying to look like AI?
That question replaced the first visual direction entirely. The original was the default: a clean control room, glowing panels, the aesthetic every AI product has agreed to share. It was competent and completely forgettable.
The answer was a broadsheet. Cream newsprint, black monospace, ASCII progress bars, a scrolling wire-service ticker and a blinking caret. Nothing glows. Nothing is glass. The interface reads as something being typeset rather than something being rendered, which is a strange fit for a game about machine intelligence and exactly why it works.



The constraint that made it hold together: one HTML file, no dependencies, no build step. Around 1,700 lines of vanilla HTML, CSS and JavaScript. Every decision about type, colour and layout had to survive being written by hand, which turns out to be a good filter for whether a decision is worth having.
The thing you are raising, growing where you can see it.
A bitmap creature sits at the centre of the page. It grows through six life stages, from embryo to singularity, and takes one of six species forms depending on how you have played. Neglect alignment and it visibly reddens, cracks and jitters.



It is the game's only piece of anthropomorphism and it does a lot of work. A number going from 61 to 57 means nothing at a glance. A creature that has started to crack means something immediately.
The creature started out as shapes drawn by code, which worked but had no life to it. Replacing it with real pixel art meant writing a brief precise enough for an image model to actually deliver on: six creature types, each across six growth stages and four animations, all laid out on contact sheets on a fixed 256-pixel grid so each frame could be sliced out cleanly. The colours were limited to a broadsheet newspaper's ink and cream, and each image was named to match, one to one, exactly what the creature was doing, so the game always knew which picture to show for which action.
The image sheets that came back were built directly into the game file itself, so the whole game stays a single file with nothing extra to load separately. The game then cuts each sheet up into its individual frames as it runs. The procedural renderer was kept as a fallback, so if a sheet fails, the game drops back to the old creature rather than showing nothing at all.


The game plays itself, hundreds of times, so I do not have to.
A strategy game lives or dies on its difficulty curve, and a curve cannot be tuned by feel when the designer already knows every mechanic. So the whole game runs with no browser window open: the single HTML file loads into Node.js against a faked, simplified stand-in for the browser page, just convincing enough that the game logic works normally. That set-up lets scripted bot players run through the simulation on their own.
A testing tool runs the game over and over on its own, playing four factions with several strategies across many different combinations of settings for how fast rival factions advance. It then reports how often each side wins, how often a singularity happens, and how long games last. It caught three real design faults that a human playtester can only describe as "it feels off".
Alternate victory conditions were quietly pre-empting the actual objective. Players were winning without ever getting near the thing the game is about. The fix was to remove the alternate victories entirely: the singularity is the goal, and the state of the world decides which of the 22 endings you get.
Not one faction, all four, every time, and invisibly. The cost curve was correct in principle and lethal in the opening. It got a starter-kit grace period so early expansion stays a decision rather than a trap.
If one obvious strategy dominates, the other four playstyles are just for show. I went back and retuned the numbers behind the rival strategies, testing different values until rushing was outpaced roughly 60% of the time, while broader play still won often enough to be worth playing.
None of these were visible from playing it. The first two would have shipped, and the third would have quietly made most of the game pointless. The harness is the part of this project I would keep if I could only keep one thing.
Fourteen shipped versions in about a week.
Designed and directed by me, built pair-programming with Claude Code across roughly a week of sessions. Every iteration was playtested, critiqued and redirected before the next one started. The game found its shape through play rather than through a specification.
Every run ends with a front page about what you did.
Twenty-two finales, from Paperclip Dawn and Commons Ascendant to The Oracle and Warden's Peace. Each one comes with a generated transcript: the class of intelligence you raised, a three-beat synthesis of the world you made, and a timeline of the decisions that defined the run.
The synthesis is derived from the ending rather than written alongside it, so the story can never contradict its own verdict. It is a small thing that took a rewrite to get right, and it is the difference between a summary that feels authored and one that feels generated.
It started as a joke premise, Plague Inc. but the disease is the AGI race, and turned into the most useful thing I have made for thinking about the subject. Simulating a race forces you to be specific about the trade-offs in a way that having opinions about it does not.
It is also a straight demonstration of the loop I use everywhere else: build the thing, instrument it, let the data contradict you, throw away what the data kills. The bots disagreed with me three times and were right three times.