On July 25, 2026, investor and builder Matt Shumer posted a browser FPS demo with the kind of caption that breaks timelines: Claude Opus 5 one-shotted this game, and every texture, mesh, and sound was custom code — no external assets. By July 26 the MIT repo Claude-of-Duty and its seed prompt were public.
bunpav first saw the story through explainx.ai’s Claude of Duty decode — then went to the README. The game is real, playable, and aggressively procedural. It is also not Call of Duty, and the authors refuse to pretend it is. That honesty is why this belongs next to our Notch vibe-coding reversal coverage, not in the hype bin.
TL;DR — what people are actually asking
| Question | Direct answer |
|---|---|
| What shipped? | Browser FPS on Three.js r180 / WebGL2 |
| Size? | ~55k lines, 11 subsystems |
| Assets on disk? | None — procedural everything |
| Runtime deps? | three only |
| “One-shot”? | One public seed prompt + documented agent/critic loops |
| CoD match? | Self-scored peak ~5.05/10; blind critics pick real CoD |
| Play now? | npm install && npm run dev → localhost 5173 |
| License? | MIT |
What did Shumer actually claim?
From the July 25 X demo thread (paraphrased in the public follow-ups): Opus 5 produced the game; everything visible is custom code; AI games are going to be amazing; prompt and code would ship if interest was high — then they did.
The interesting tension is between the tweet (“one-shotted”) and the repo. prompt.md is a single block that demands AAA CoD parity, sub-agent fan-out, /loop, and a harsh critic that keeps going until a blind side-by-side prefers the AI frame. The README then documents:
- a fleet of AI agents under orchestration
- ARCHITECTURE.md as the agent contract
- critic score ladders (3.59 → 5.05)
- a screenshot + profiler harness that had to be fixed before numbers meant anything
So: one seed, many agents, many loops. That is still a landmark demo. It is not “I typed one sentence and walked away for coffee.”
What’s in the playable build?
Controls match a modern shooter muscle-memory map: click to lock cursor, WASD, mouse aim, LMB fire, RMB ADS, R reload, Shift sprint, Ctrl crouch, Space jump, Q/E lean, Esc to release.
Under the hood (per the project README):
| Layer | Player-facing meaning |
|---|---|
| World | ~120×120 m market street, enterable interiors, hundreds of props |
| Gunplay | Procedural weapons, ADS, spring recoil, ballistics with travel time and drop |
| Movement | Slide, mantle, lean, camera feel |
| AI | Skinned soldiers, navmesh, cover, ragdoll deaths |
| Look | HDR pipeline, shadows, ambient occlusion, TAA, bloom, AgX tonemap |
| Feel | Synthesized gunfire, HRTF spatial audio, occlusion — no .wav library |
For a procedural asset shop like bunpav’s Primitive Lab, the materials chapter is the familiar thesis taken to an extreme: 19 procedural surfaces (concrete, brick, metal variants, wood, fabric, glass…) forged on the GPU so nothing tiles from a downloaded atlas.
How good is it, really?
The README’s own section title is Honest assessment. Quote the verdict:
The goal was to match a modern Call of Duty. It does not.
Eleven adversarial critics scored frames against that bar. Peak average landed around 5.05 / 10. Two shots got “CLOSE”; the rest stayed “AMATEUR.” Blind A/B: every critic, every round, picked the real CoD frame.
Named shortfalls:
- Hands read as blocky finger slabs
- Materials look like procedural noise up close, not photographed reality
- Enemies read as mannequins at distance
- Indirect light is an approximation, not real GI
- Frame rate on the author’s Retina laptop: about 28–30 fps p50 after optimization (art passes had roughly doubled triangle count)
There is also a known viewmodel lighting bug: the gun’s light rig over-irradiates relative to the world, so weapon albedos are cheated darker to compensate — which caps how rich the most-looked-at object can ever look.
bunpav’s take: that scorecard is the reason to trust the demo. Viral AI game posts usually hide the failure mode. This one publishes it.
Why the tooling section matters more than the killfeed
Shumer argues the harness is the interesting part. Two bugs in their own measurement stack are worth stealing for any studio evaluating AI game agents:
- Static-camera “94 fps” while the game was unplayable. Real motion at Retina DPR exposed 728–1236 ms stalls from 34+ WebGL programs compiling mid-fight. Median FPS hid the hitch.
- Screenshot sets were not reproducible until each shot ran in an isolated page (
baseline.mjs). Only then didimagediff.mjsbecome a real pixel gate.
Optimization was constrained to zero visual change, enforced by that pixel gate — not by “looks fine to me.” Shader pre-warm removed in-play compiles; boot dropped from ~9–12 s to ~3.7–4.6 s on the author’s machine.
Process lesson that matches every multi-agent war story we’ve seen this year: parallel agents owning directories lost to sequential ownership on coupled lighting (tonemap + sky + indirect). Fan-out moved the score little and raised defect counts; one sequential pass cut defects hard. That rhymes with why Claude + Blender MCP demos impress more when the loop can see a render and fix it than when six specialists edit blind.
How this sits next to other July 2026 AI-game noise
| Story | Angle |
|---|---|
| Notch → vibe coding | Famous skeptic opens the door for tooling, not core gameplay |
| Roblox Build | Platform-scale generative creation for mobile creators |
| Claude Blender MCP | Agent operates a DCC, not a custom engine |
| Claude of Duty | Agent fleet invents the engine + content with no art drop |
Same month, different altitudes. CoD-quality still needs humans (and decades of pipelines). “Playable FPS loop with no art department” just moved from conference slide to git clone.
For deeper stack, prompt text, and harness tables, read the explainx.ai Claude of Duty post that surfaced this for us — then verify against the GitHub README.
What does “one-shot” mean when the prompt itself demands loops?
This is the part X compresses into a gotcha. Critics of AI demos often say: “They never share the prompt because it was fifty turns over three days.” Shumer shared the prompt. It is short. It also explicitly orders fan-out, /loop, and a critic that refuses to stop until a blind CoD comparison is won.
That is closer to a product requirements document for an agent swarm than a parlor trick. The published outcome — critic scores stuck near five, defects rising under parallel ownership, then falling under sequential ownership — is exactly what you would expect if the brief was “keep going until AAA” and the physics of coupled lighting systems refused.
If you are evaluating whether Opus 5 “solved games,” ask a sharper question: can an orchestrated agent fleet maintain a playable FPS without an art pipeline, with measurable visual gates? On the evidence in this repo, yes. Can it beat Infinity Ward / Treyarch frames in a blind test? On the evidence in this repo, no.
That split is useful for studios. It means vibe coding is past “spinning cube” and not yet at “ship Black Ops.” The interesting work for the next year is the middle: game-jam asset pipelines, Unity MCP agent loops, and procedural libraries that keep hero art human while agents fill the street.
Performance, without the marketing chart
Author-machine numbers (Apple silicon, 1512×982, DPR 2, ultra, AI + firing active), from the README:
| Before optimization | After | |
|---|---|---|
| fps p50 | 12–17 | 28–30 |
| fps p99 | 4–9 | 14–17 |
| worst frame | 728–1236 ms | 66–82 ms |
| shader compiles in play | 34–35 | 0 |
| boot | ~9–12 s | 3.7–4.6 s |
The constraint that makes this credible: optimization had to be pixel-identical to the pre-opt reference across 11 baseline shots. If your studio’s AI eval only reports average FPS on a paused menu, you will green-light unplayable builds. Steal the hitch attribution idea even if you never clone Claude of Duty.
What should you do if you care?
- Clone and run it before arguing on X — five minutes of WASD beats another quote-tweet.
- Read
prompt.mdand the Honest assessment in the same sitting. The gap is the story. - If you evaluate coding models for games, steal the idea of
profile.mjsunder real DPR with AI enemies firing — not a static beauty shot. - If you make assets, note the ceiling: procedural noise still loses to photographed material richness at arm’s length — which is why text-to-3D and image-to-3D pipelines still matter for hero props.
- Do not ship a commercial CoD clone off this. Activision owns that IP; this is a technical homage under MIT for the code, not a license to brand it Call of Duty.
- Watch the harness pattern, not the star count. Stars age hourly; pixel gates and hitch attribution travel.
Related reading
- explainx.ai — Claude of Duty decode (prompt, harness, scorecard)
- Notch’s one-week flip from “Reject AI” to vibe coding
- Claude + Blender MCP — agentic 3D scenes
- Primitive Lab — procedural 3D assets in the browser
- Procedural vs AI-generated 3D: when each wins
- Roblox Build — AI creation on mobile
- Unity CLI free MCP — terminal-native agents
- Text-to-3D AI workflow for game-ready models
- Ryan Gosling Ghost Rider MCU — 2028
- GitHub — mshumer/Claude-of-Duty
- Matt Shumer on X
Demo claims, critic scores, and performance numbers are taken from the public Claude-of-Duty README and Shumer’s July 25–26, 2026 posts, as summarized in explainx.ai’s coverage. Re-clone and profile on your own hardware before treating fps figures as universal.