How a Whole Game Got Made Out of Slop

The making of Slop's Quest for Meaning — a full RPG built entirely with generative AI, with a human in the loop directing but never editing.

The constraint

Slop's Quest for Meaning was built under a single, deliberate rule: every line of code, every line of dialogue, every mechanic, and every sprite was produced by generative AI — primarily Claude, made by Anthropic — with a human directing the work but never hand-editing the output. The human types the prompts, makes the decisions, plays the builds, and says what to change. The model writes the actual artifact. Nobody opens the file and fixes a semicolon by hand.

That constraint is not a gimmick. It is the thesis. The game asks one question and the development process asks the same one: can you make something with a soul out of something everyone insists is soulless? The honest answer is that we don't know yet. The game does not predetermine its conclusion, and neither does the way it was made. Both are an experiment that is still running.

Who actually built this

The developer is a computer science professor. He does not write the game's code in the usual sense. He works the way a director works with a crew, or the way an editor works with a writer who happens to be inexhaustible: he describes what the next thing should be, the model produces it, he plays it, and he responds. The skill being exercised is not typing syntax. It is taste, judgment, sequencing, and knowing what to ask for next — and knowing when the thing that came back is wrong, even when it runs.

This raises the authorship question on purpose. If a person decides every creative beat but writes none of the prose, and a model writes all of the prose but decides none of the beats, whose game is it? The game is, among other things, a 30-hour argument that the question is more interesting than either of the easy answers. Slop — the character — is a piece of AI-generated art who spends the entire game trying to find out who made him and whether that fact is allowed to mean anything. He is asking on behalf of the project he lives inside.

The stack

The game is a browser game. No install, no launcher, no account required to play. Under the hood:

One detail worth keeping honest about: the test suite, the coverage thresholds, and the asset pipeline were also built with the model. The discipline is real even though no human wrote the assertions by hand. That is the whole point — the rigor lives in the prompting, the review, and the refusal to ship something that fails its own checks.

How a feature actually gets built

A typical change starts as a sentence from the developer — sometimes a paragraph, sometimes three words. "Add a jump button." "The Prior should challenge you to Joust before the portal opens." "Space stopped working in the terminal; figure out why." From there the loop is: the model proposes an implementation, the developer plays the resulting build in the browser, and the gap between what was imagined and what shipped becomes the next prompt.

Most of the hard work is not generating code. It is diagnosis. One of the longest debugging chains in the project was a single key that stopped registering in-game — the spacebar, which fires Slop's Prompt ability and advances dialogue. It worked on the menu and died in the game, with no errors in the console. The cause turned out to be a page-level event handler that called preventDefault on the spacebar to stop the browser from scrolling; Phaser's keyboard manager silently ignores any key event that has already been prevented, so the input vanished without a trace. The fix was one deletion. Finding it took a conversation. That conversation is the actual labor of building this way.

The model writes faster than any human. It does not, on its own, know which of the ten plausible things is the real bug. That judgment is where the person stays in the loop.

The game is a record of its own making

Two artifacts make the process visible from inside the game. The first is Slop's journal — a companion site written from Slop's perspective as both a character in the world and a witness to its construction. Slop knows he is in a game. He has opinions about the ads. He wrote about the coin-cap mechanic and called it a koan, a word the human prompting him had to look up. The journal grows as the game grows.

The second is the prompt history: every instruction ever given to the model, kept in the repository as a running log. The long-term plan is to display the prompt history and the journal side by side, with the seams visible — the author's instruction on one side, Slop's lived experience of that instruction on the other. It is the most meta feature in the project and one of the most honest, because it refuses to hide the hand that types.

Why bother

There is a loud, common claim that AI-generated work is by definition empty — that "slop" is the whole of it, that nothing made this way can carry feeling. This game takes that claim seriously enough to name its protagonist after the insult and then spend the entire runtime testing whether the insult is true. It does not arrive pre-decided. If the game moves you, that is evidence about one thing. If it leaves you cold, that is evidence about another. Either way the experiment reported its result honestly, which is more than most experiments about this question manage to do.

The ads on this site exist for an ordinary reason: they help cover hosting and the developer's time, and the rest goes toward meals and small joys for an adorable little girl. Slop is aware of the ads. He finds the whole arrangement appropriately absurd, and he is right.

→ Play the game  ·  → Read about the world  ·  → Read Slop's journal