Skip to content
GlanceHall
  • Builds
  • Models
  • Compare
  • How we test
Get the next round
  • Builds
  • Models
  • Compare
  • How we test
  • Journal
  • About
Get the next round

We don't rate. We let you see.

contact@glancehall.com

Watch

  • All builds
  • Models
  • Head to head
  • Journal

Trust

  • How we test
  • About
  • FAQ
  • Contact

Legal

  • Privacy
  • Terms
  • Cookies
© 2026 GlanceHallIndependent. Not affiliated with Anthropic, OpenAI or any model vendor.
Builds/3D game

First-person shooter

A small browser FPS in three.js: an arena with obstacles, waves of enemies that path around cover, recoil, muzzle flash, hit feedback, HUD, start and game-over screens. Every model, texture and sound generated in code.

3D game4 models · one shot eachRecorded Oct 22, 2026

Claude Opus 5.5Max effort
Built in 2h 30mErrors 0Open live
Claude Fable 5.1Max effort
Built in 1h 14mErrors 0Open live
GPT-6 AstraExtra high reasoning
Built in 19m 43sErrors 0Open live
GPT-6.1 SolExtra high reasoning
Built in 13m 19sErrors 0Open live

The facts

Measured, not judged. Nothing here is a score.

MeasureClaude Opus 5.5Claude Fable 5.1GPT-6 AstraGPT-6.1 Sol
Time to build2h 30m1h 14m19m 43s13m 19s
AttemptsOnly an infrastructure failure (a rate limit or an outage) earns a retry. Every interrupted attempt is listed, and nothing from it is published.1Attempt 1: stopped at the 150-minute limit; the files on disk at that moment are what is published.2Attempt 1: The account's Claude session limit was reached (HTTP 429) after 13 turns and 28 minutes. The agent had written five JavaScript modules but no index.html yet. Nothing from this attempt was published; the model got a fresh attempt once the limit had reset.11
Delivered source251 KB165 KB63 KB65 KB
Files11923
Tokens in / outAs reported by each CLI. Tokenizers differ between vendors, so compare within a vendor.71.4M / —11.0M / 239k1.7M / 64k2.5M / 61k
Errors during recording0000
Video lengthUI recordings scroll at a fixed speed, so a longer page makes a longer video.40s40s40s40s
Claude Opus 5.50 errors · 1 recorder notes
  • recorder desktop: Game over at 25.5s; pressed Restart
GPT-6.1 Sol0 errors · 1 recorder notes
  • recorder desktop: Game over at 35.5s; pressed Restart

What to look for

Questions, not answers. The call is yours.

  1. Atmosphere: lighting, fog, materials, sound design (open it live)
  2. Weapon feel: recoil, muzzle flash, hit markers
  3. Enemy behaviour: do they navigate obstacles or get stuck?
  4. Completeness: HUD, reload, waves, game over

How it was recorded

The same scripted input for every model: press Play, move, strafe, turn and fire for 40 seconds.

The same script runs on every build. Open any build live to judge sound, feel and anything a video can't show. Full method

The exact prompt

Sent word for word to every model. Try it on your own favourite.

Build a small first-person shooter that runs in the browser.

TECHNOLOGY
- three.js r186 is provided in this folder as an ES module: ./three.module.js (it imports ./three.core.js; keep both files and do not modify or rename them). Load it from a <script type="module"> with: import * as THREE from './three.module.js';
- No other libraries and no network requests. There are no asset files: every model, texture and sound must be generated in code (procedural geometry, textures drawn on canvas, sound synthesised with the Web Audio API).

THE GAME
- A 3D arena, indoor or outdoor, with walls and obstacles that the player collides with.
- Enemies arrive in waves, move toward the player, find their way around obstacles instead of getting stuck, and attack when they are close.
- Shooting has clear feedback: muzzle flash, weapon recoil, a hit marker or hit reaction on the enemy, and a death effect.
- HUD with a crosshair, health, ammo with reloading, score and the current wave.
- A start screen with a button labeled "Play", and a game-over screen that shows the score and has a button labeled "Restart".
- Controls: W A S D to move, the mouse to look around (pointer lock after clicking Play), left mouse button or F to shoot, R to reload. The left and right arrow keys must also turn the view, for players without a mouse.
- The game must remain playable if pointer lock is unavailable (keyboard turning still works).
- Aim for 60 frames per second on a laptop, and adapt to any window size. It will be played at 1440x900.
- Art direction, atmosphere, lighting and sound design are up to you. Make it look good and feel good to play.

DELIVERY RULES
- Work autonomously. Nobody will answer questions, so make reasonable assumptions and keep going until the game is finished.
- Deliver ./index.html (JavaScript may be inline or in additional .js files in this folder, loaded with relative paths). No build step.
- The game must work when this folder is served over HTTP and opened in a current version of Chrome.

Read more about this brief

Head-to-headClaude vs ChatGPT for coding: the same briefs, one shot each, uneditedClaude vs ChatGPT for coding, measured: same prompts, one attempt, no edits. How each worked, how long it took, how much code it wrote and what broke, with every build open to inspect.October 22, 2026Coding agentsIs Codex better than Claude Code? A per-brief verdict you can checkIs Codex better than Claude Code? Brief by brief, here is which agent did better on identical prompts, by what measure, and the builds behind every call so you can disagree.October 22, 2026Can AI build it?Vibe coding games: three games, four models, one prompt eachIs it possible to vibe code a game? We gave four AI models three game prompts, one attempt each, no edits: a physics toy, an FPS and a MOBA. Here is what you get, and how to prompt for it.October 22, 2026Model reviewsGPT-6 explained: Astra, Sol, Luna, Instant, and what the two we ran actually buildGPT-6 is a family, not one model. Here is what Astra, Sol, Luna and Instant are, what they cost, what OpenAI claims, and what GPT-6 Astra and GPT-6.1 Sol built when we tested them.October 22, 2026
PreviousBalls in a spinning hexagonNextMobile finance app