Django Co-Founder Simon Willison: A Single 'Make It More Fun' Prompt Sent Coding Agents Into Over 1,000 Simulated Matches
Simon Willison originally believed that coding agents could only produce things that looked like games but weren't actually fun. He intentionally tested this assumption with a vague instruction; Claude, running in Ultracode mode, conducted over 1,000 simulated matches, using the results to rebalance units and mechanics, ultimately producing what he considers a genuinely enjoyable game. This experiment reveals under what conditions vague quality instructions are effective versus when they merely result in superficial feature stacking.
Simon Willison shared his assessment with friends at a dinner table: coding agents could build something that looked like a game, but couldn't create something people would genuinely want to keep playing. After stating this, he decided to give the models a chance to prove him wrong. He typed a single line into Claude Opus 5.5 on his phone: 'This game isn't fun enough yet. Make it a LOT more fun.'
This marked the fourth major iteration of his Battle Drones project. The previous three versions—the initial prototype, full sprites, and varied terrain—were each 'recognizable as an RTS' but 'wasn't any fun to play.' Willison admitted he had barely reviewed the code and didn't write much TypeScript himself; the project was driven entirely by coding agents, with all 321 commits completed by them.
For this iteration, he used Ultracode mode. According to the Claude Code documentation, dynamic workflows are JavaScript scripts that orchestrate numerous sub-agents. He started the process in the evening and received playable results late the next morning. Later, he asked Claude to write its own release notes, which included a section stating: In 1,200 normal-difficulty AI-vs-AI test matches, games still undecided after 25 minutes dropped from 14% to 0.9%; the share of wins by a side that was behind by over 800 resources rose from 24% to 46%.
Willison later explained why the agent took so long: it ran over a thousand simulated playtest sessions, using the results to rebalance existing units, add new ones, and introduce new mechanics. In other words, the vague instruction 'more fun' was internally converted by the agent into measurable metrics—match duration, comeback probability, resource gaps, and their correlation with win/loss outcomes—which were then optimized through extensive simulation iterations.