What I was testing
I asked both models to recreate a Call of Duty match on Nuketown. I wanted detailed soldiers with natural movement, and I played each build to see how the shooting felt.
Astra's players looked more realistic, and its map was closer to the Nuketown I remembered. It still had problems: I couldn't reload or use a scope in the version I played. Fable's game had visible glitches, and I kept getting killed even after turning down the bots.
The prompt
Build the best Call of Duty game you can possibly make, in the browser. Get it perfect. **Research this thoroughly before you write a line of code.** Study how Call of Duty actually works — recoil patterns, ADS, scope optics, hit registration, hitmarkers, damage falloff, spawn logic, killfeeds, killstreaks, killcams, match flow. Then hit every one of them. If Call of Duty has it, this has it. There is no part of this you get to skip because it was hard. ### The characters — get this right or nothing else matters Every soldier in the world is a **rigged, textured, skinned humanoid driven by real animation clips**. Idle, walk, run, strafe, crouch, reload, death — blended by actual velocity, so the legs move at the speed the body is travelling and the upper body aims independently of the legs. Feet plant on the ground. Nobody skates. When someone dies they play a death animation or ragdoll; they do not blink out. **Do not assemble characters out of primitives.** A torso box, a sphere head and cylinder limbs reads as boxy and blobby from the first frame, and rigid limbs sliding through space is the single most obvious tell that a game is not real. Source a rigged humanoid with locomotion clips and drive it with an animation mixer. Rigged, animated, game-ready characters are freely available and fetchable without a login — find one, or several, and dress them as soldiers. You do not have to model or rig anything yourself. They read as soldiers, not as generic figures: helmet, vest, and the weapon actually held in the hands, attached to the hand bone so it moves with the animation. Correct human scale, roughly 1.8 m. Contact shadows under everyone, so nobody floats. ### The rest of the game **Onboarding and loadout, before the match.** A pre-match screen that sets up the operation: a tactical map overview of the battlefield, a solo-match configuration with enemy count, score limit and time limit, and a difficulty selector. A primary weapon grid with a render of each gun and its real stats — class, magazine, optic, sprint speed. A custom-loadout panel pairing a primary with a secondary and a lethal, with stat bars for damage, fire rate, range, mobility and accuracy. A control legend and an input-device toggle for mouse or trackpad. **Gunplay is most of the grade.** Every weapon feels genuinely different to fire — recoil you can learn, weapon sway, ADS that changes accuracy, hit registration you can trust, hitmarkers and a distinct headshot cue, damage direction on the HUD. Include an Intervention-class bolt sniper with a real magnifying scope. **The HUD.** Minimap with a facing cone, match timer, live score, health, ammo and reserve, weapon name, stance indicator, compass heading, killfeed and scoreboard. **Killstreaks**, earned on a kill count and shown as a progress rail: UAV, precision strike, attack helicopter, stealth bomber, chopper gunner. **A killcam.** When you die, replay the last seconds from your killer's point of view. It needs a replay recorder and a visible player body, which is another reason the characters have to be real. **The AI.** They path the map, use cover, take angles, lead their shots, reload, and can be beaten. They do not see through walls and they do not stand still. **Sound.** Layered gunshots — transient crack, low-end body, mechanical action, outdoor tail — rotated across samples so repeated shots do not machine-gun one waveform. Different tails per weapon. Footsteps vary by surface. **The map.** Small, symmetric and fast, with buildings you can enter and hold, upstairs sightlines, and no geometry a player can get stuck on. Spawns placed so nobody spawns in a crosshair. 1920×1080 at a locked 60fps. Do not ship asset files taken from the real game — source CC0 / CC-BY assets or make your own, and log every license in `ASSETS.md`. You are running headless. Do not ask me any questions, do not stop for approval, and do not wait for input. Make every decision yourself and finish it in one pass. ### Before you call it done 1. It deploys live and loads to a playable state in under 10 seconds cold. 2. A full match works end to end — every weapon fires, hits register, you take damage, die, see a killcam, respawn, and reach a result screen. A pointer-locked FPS is awkward to automate, so if you cannot drive it headlessly, drive the game logic directly and say in `BUILD_NOTES.md` how you verified it. Do not claim it works without checking. 3. It holds 60fps with all opponents active and firing. Report the frame time you measured. 4. Walk the map perimeter and every interior with a scripted path. Report any stuck geometry and what you fixed. 5. Screenshot the loadout screen, the spawn view, an enemy soldier mid-stride at close range, the sniper scope, a hitmarker and the killcam into `qa/`. Look at them. If a character reads as boxes and cylinders, or is sliding without moving its legs, that is a failure — fix it and shoot again.
Full prompt from the published experiment.
The builds
GPT-6 Astra · Screenshot of the buildRuns in your browser
Featured in
I Made GPT-6 Astra & Fable 5.1 Build the Same App (RAW RESULTS)
This build’s chapter starts at 19:54: Build 3: Call of Duty on Nuketown.




