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 21, 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.
PreviousBalls in a spinning hexagonNextSaaS landing page