Three Pac-Men — and the one difference that actually mattered
On 22 October 2026, the exact same brief — “a complete, playable Pac-Man in a single HTML file, vanilla JavaScript, HTML5 Canvas” — was handed to three different builders. One wrote it directly in a chat window. One generated it in a single shot. One received it as a factory work order, with a completion contract, on a software-factory line. All three produced a working game. They are not the same game, and the ways they differ say more about process than about models.
Exhibit AThe split screen
All three games, live and playable, side by side. The headline matchup is the first two panels: Muse on its own versus Muse through the Workshop — same model family, different harness, different process. Grok joins as the third panel. Click into a game, press Enter (or tap its start button), and play it right here.
Look closerFour differences you can see
1 · The maze that stops early
Grok's grid is nominally 28×31, but only the top 24 rows contain maze — the bottom seven rows are blank, and it holds 216 dots and pellets against the arcade's (and the other two builds') 244. A compressed maze, hiding in a full-size frame.
2 · Three places to keep score
Muse puts the HUD in the page above the board. Grok overlays it on the board as DOM, with little clipped-wedge life icons in the corner. The Workshop draws everything — score, lives, messages — inside the canvas itself, arcade-cabinet style.
3 · Three title screens, three temperaments
A plain canvas overlay (Muse), a DOM panel with a START GAME button (Grok), and a full attract mode with the ghost roster and a demo animation (Workshop) — the factory build is the only one that behaves like a machine trying to get your attention, and your quarters.
4 · The walls give it away
Neon-outline walls traced only where they border open space (Muse), flat filled blue blocks (Grok), and square-cornered walls that the Workshop's own report flags as a simplification (Workshop). Each renderer is a fingerprint.
Under the hoodThe measured differences
| Muse-PacMan | grok-PacMan | workshop-PacMan | |
|---|---|---|---|
| Builder | Muse Spark, writing directly in chat | Grok, one generation, delivered as a file | Claude Opus 5.5, run by the Hermes harness on the Workshop VPS |
| Process | Author → self-test → fix, one session | Generate → hand over | Kanban brief → factory dispatch → build → RESULT.md + build report → independent re-verification |
| Wall clock | Minutes | One shot | ~37 min of build, plus queue and two failed (transient) ship attempts before it |
| File / lines | 28,885 B / 619 | 18,495 B / 578 | 44,577 B / 1,062 |
| Collectibles | 244 (arcade count) | 216 — maze truncated at row 24 | 244 (arcade count) |
| Timing model | Delta-time (seconds) | Per-frame increments, no delta-time — on a 120 Hz display the whole game, including its 480-frame power timer, runs twice as fast as at 60 Hz | Fixed 120 Hz physics step |
| Ghost modes | Arcade scatter/chase clock (7/20/7/20/5/20/5 s) | No mode clock — ghosts always chase; frightened ghosts flee along a deterministic vector instead of turning randomly | Scatter/chase clock per level |
| Arcade minutiae | “No-up-turn” zones at the house junctions — implemented | Not implemented | Not implemented (admitted in its report); adds “Cruise Elroy” Blinky speedup instead |
| Beyond the brief | Bonus fruit, floating score popups, swipe + on-screen D-pad | — (closest to the brief, nothing extra) | Bonus fruit, extra life at 10,000, attract mode, background siren + intro jingle, M to mute, auto-pause when the tab hides, swipe |
| Verification | Builder's own headless scenario suite — it caught two real bugs before delivery (a ghost-trapping bug, an eyes-return bug) | None supplied with the build; a post-hoc smoke test by Muse (boots, starts, scores) is the only evidence on file | Builder ran a headless-Chrome (Puppeteer) suite, 28/28 checks, with screenshots — then Muse re-verified independently (syntax, zero external refs, 2,020-frame smoke run) |
The argumentIt's the harness, not the model
The tempting story is “Opus beat Spark beat Grok” or some ranking of raw model IQ. The evidence in these three files tells a different one. The two Claude builds share a model family, and both implement the classic ghost-targeting mathematics faithfully — direct chase, four-ahead ambush, the Inky vector trick, shy Clyde. Where they diverge is everything around the code.
Muse in chat is an author working alone with a test harness it built for itself. The process was fast and the feedback loop was tight — tight enough to catch a bug that froze ghosts at junctions and another that stranded eaten ghosts inside the house, both before anyone played the game. What it doesn't have is ceremony: no independent checker, no screenshots, nothing between “my tests pass” and the truth except the same mind that wrote the code.
Muse through the Workshop is the same species of mind put inside a system that doesn't trust it. The brief demanded a build report; the factory demanded a RESULT file; the builder responded by spinning up a real headless Chrome and playing its own game twenty-eight ways — eating a full ghost chain for exactly 200/400/800/1600, clearing a level, dying on purpose — and listing, in writing, the three arcade behaviours it had deliberately not implemented. The result is the biggest file, the most features, and by far the strongest evidence. It's also the slowest and, when the factory's ssh leg hiccupped twice on the way in, briefly the most fragile. Process buys proof; proof costs time.
Grok is what one-shot generation looks like with nobody checking. The ghost AI formulas are genuinely right — this is not a dumb build. But the maze quietly ends seven rows early, and because movement is priced in pixels-per-frame with no delta-time, the game's speed is whatever your monitor's refresh rate says it is. Neither flaw is visible in a screenshot. Both are exactly the kind of flaw a verification step exists to catch, and there wasn't one.
ScorecardPer-axis verdicts
- Closest to the arcade: workshop-PacMan — full 244-dot maze, mode clock, the longest feature list. Muse-PacMan a close second; it wins on rules minutiae (no-up zones, the arcade mode schedule) and loses on extras.
- Strongest evidence it works: workshop-PacMan, and it isn't close — a 28-check browser suite by the builder, then an independent re-check.
- Best size-to-game ratio: grok-PacMan is the smallest file — but the savings came out of the maze and the timing model, so the economy is partly an illusion.
- Fastest brief-to-playable: Muse-PacMan — minutes, in the same conversation that asked for it.
- The one to hand a stranger: workshop-PacMan — because it's the one whose claims arrive with receipts.
Same brief, three processes, three visibly different games. The models wrote the code; the processes decided how much of it you should believe.