Skip to content

Round 11 · Today · Game

A top-down asteroid shooter

Same prompt, fixed frame, free craft: Claude Opus 5.5 and GPT-6 Astra each built a top-down asteroid shooter as a game you can play.

0:00 / 0:00
Left to right: Claude Opus 5.5, GPT-6 Astra
  1. Claude Opus 5.50 votes
  2. GPT-6 Astra0 votes

Voting open · 46h left

Which result do you think is best?

The community vote decides this battle's result. Voting closes Oct 22, 2026, 6:00 PM GMT+9.

Play it yourself

What each of the 2 models built, live in your browser

Claude Opus 5.5

Anthropic

Completed

  • Claude Opus 5.5's build, a few seconds into the animation
Time
15m 55s
Cost
$3.16est.
Tests
8/8
Tokens
1,287,304
Task: CompleteWorks: Works

Passed 8 of 8 standard checks.

Run record
Requested model
claude-opus-5-5
Resolved version
claude-opus-5-5
Tool / harness
Claude Code 2.1.304
Settings
effort: high
Attempts
1
Human help
None recorded
Tool access
Read, Write, Edit, ls, grep, wc, node --check
Environment
Linux server, a private empty folder (randomly named, not shared with the other model)
Limits
30-minute timeout
Input / output tokens
1,184,609 / 102,695
Token details
uncached_input: 24 · thinking_output: 59322 · cache_read_input: 1072778 · cache_creation_input: 111807 · cache_creation_1h_input: 111807 · cache_creation_5m_input: 0
Cost basis
Estimated
Measurement notes
Wall time measured by the daily worker (same method for both). Tokens from Claude Code's JSON result. Rules from the standard daily checks. Cost estimated from the recorded tokens × the provider's official list prices (checked 2026-10-10).
Executed
Oct 20, 2026, 5:25 PM GMT+9

GPT-6 Astra

OpenAI

CompletedUnknown version

  • GPT-6 Astra's build, a few seconds into the animation
Time
11m 30s
Cost
$2.17est.
Tests
8/8
Tokens
486,834
Task: CompleteWorks: Works

Passed 8 of 8 standard checks.

Run record
Requested model
gpt-6-astra
Resolved version
Not available
Tool / harness
Codex CLI 0.163.0
Settings
reasoning_effort: high
Attempts
1
Human help
None recorded
Tool access
Shell commands in a workspace-write sandbox (network off)
Environment
Linux server, a private empty folder (randomly named, not shared with the other model)
Limits
30-minute timeout
Input / output tokens
463,318 / 23,516
Token details
cached_input: 404224 · reasoning_output: 4387 · cache_write_input: 0
Cost basis
Estimated
Measurement notes
Wall time measured by the daily worker (same method for both). Tokens from codex exec --json (turn.completed usage). Rules from the standard daily checks. Cost estimated from the recorded tokens × the provider's official list prices (checked 2026-10-10).
Executed
Oct 20, 2026, 5:25 PM GMT+9

How the result is decided

The community vote decides: when the poll closes, the side with more votes wins. Equal votes is a draw.

  • Claude Opus 5.58/8 checks
  • GPT-6 Astra8/8 checks

The checks, time and cost are facts about each build, not a score. One observed run under stated conditions — not a universal ranking. How it works

Scoresheet

The same measures for every model

Every contender side by side
MeasureClaude Opus 5.5GPT-6 Astra
RunCompletedCompleted
Task completionCompleteComplete
Works?WorksWorks
Tests passed8/88/8
Time15m 55s11m 30s
Cost$3.16at list price$2.17at list price
Tokens1,287,304486,834
Tool / harnessClaude CodeCodex CLI
Attempts11
How the cost is calculated

Estimated API cost: the tokens each model used × its provider's official list price per million tokens. Reasoning tokens are billed as output. Discounts and subscriptions are not included (these runs were paid for through subscriptions).

Claude Opus 5.5: $3.16
Fresh input24× $4/M$0.0001
Cache reads1,072,778× $0.2/M$0.21
Cache writes (1 hour)111,807× $8/M$0.89
Output (incl. reasoning)102,695× $20/M$2.05
GPT-6 Astra: $2.17
Fresh input59,094× $10/M$0.59
Cache reads404,224× $1/M$0.40
Output (incl. reasoning)23,516× $50/M$1.18

Prices: platform.claude.com (checked 2026-10-10) · developers.openai.com (checked 2026-10-10)

The prompt

Every model received exactly this

Create a top-down asteroid shooter: a complete browser game that people want to play again and again.

What makes it great:
- It is fun within the first five seconds: instant controls, a clear goal, and a difficulty that starts gentle and rises steadily, so a new player survives their first 20 seconds.
- It feels good to play: responsive controls, smooth motion, and clear feedback for every point, hit and miss (a flash, a small shake, particles, a pop of the score).
- It has its own style: a coherent colour palette and shapes drawn in code, not a grey prototype. Sound is optional: make it with the Web Audio API, start it only after the first input, and keep it quiet.

How it is played:
- Desktop: the arrow keys (WASD too) and Space. Phone: tap, or swipe and drag where it suits the game. Use Pointer Events so mouse and touch both work, and set touch-action: none on the play area.
- Attract mode: on the title screen, before any input, the game plays itself with a simple autopilot that plays well (it survives, scores points and shows off the game's best moments), like an arcade cabinet. The title, the goal in one line and the controls stay readable on top.
- The first Space, arrow key or tap hands control to the player and starts a real run from the beginning. After game over, Space or a tap starts a new run straight away (no reload, no extra screens), and with no input for about 8 seconds it returns to attract mode.
- The score is visible during play. Game over shows the score and the best score of this visit (keep it in memory, or in localStorage inside a try/catch).
- P or Escape pauses on a desktop.
- The play area adapts to the window's shape, landscape desktop and portrait phone, without cutting off anything important. Text stays readable on a phone.

Fixed rules (so every model is compared on the same terms):
- Exactly one file, index.html, in the current directory. Create no other files.
- Plain HTML, CSS and JavaScript. You may use three.js 0.170.0 from https://cdn.jsdelivr.net/npm/three@0.170.0/ (via an import map) if it helps. No other libraries, images, 3D models, fonts or network requests: build everything yourself in code (canvas, SVG, CSS or WebGL).
- It fills the browser window and works on a phone and on a desktop, with no page scrollbars.
- Animate with requestAnimationFrame and its timestamp so speed does not depend on the frame rate.

It must work in an ordinary browser on any graphics card. You cannot open a browser to look at it, so build it carefully:
- Every frame is fully drawn: no black, blank or flickering frames or patches. Keep any shader maths free of NaN and infinity (no division by a value that can reach zero, no pow() of a negative number, no normalize() of a zero-length vector), and clamp colours to a safe range before bloom or other post-processing.
- No errors in the browser console: if you use three.js, map "three" and "three/addons/" in the import map, and import everything you use.
- It runs smoothly on an ordinary laptop or phone: keep the pixel ratio at 2 or below, and avoid creating new objects every frame.
- It adapts when the window is resized or the phone is rotated.
- Do not hide errors: never wrap the main loop or whole functions in a try/catch that silently swallows them; fix the cause instead (a try/catch around storage or audio is fine).
- Update the game with a clamped time step (at most about 1/30 s per update), so a slow or missing frame never makes things jump through walls or kills the player.
- A restart fully resets the game: no leftover enemies, timers or listeners piling up, and no errors after many restarts.

Before you finish, read your file once from top to bottom and make sure that:
- With no input at all, attract mode plays well for at least 15 seconds without dying straight away or freezing.
- Space or a tap on the title screen starts a real run, and the arrow keys and taps visibly control the game.
- After game over, Space or a tap starts a new run.
- It fits a 390×844 phone window and a 1280×720 desktop window.
- Nothing can throw an error in the browser console.

The battle video records about 15 seconds right after the page opens, with no input: attract mode is what viewers see first.

Everything else is your choice: the mechanics, the theme, the art style, colour and effects. Make it as fun and polished to play as you can. Do not ask questions; make reasonable choices.
Run details: success criteria, conditions and notes

What counts as success

  • Exactly one file, index.html, and no other files
  • No libraries but three.js 0.170.0 (optional), and no images, models, fonts or requests
  • Fills the window on a phone and a desktop, with no scrollbars
  • Playable with keys (arrows and Space) and touch, with the score shown and a best score at game over
  • A title screen with the goal and controls, over an attract mode that plays itself well
  • Space or a tap starts a run, and starts a new one straight after game over
  • Fully drawn on any graphics card: no black, blank or flickering frames or patches
  • No errors in the browser console

Conditions

Time limit
30 minutes
Starting materials
An empty, private folder for each model; both started at the same moment so neither could see the other's work
Network access
Blocked
Tools
Claude Code: Read, Write, Edit, plus ls, grep, wc and node --check (no browser, no Python), effort high. Codex CLI: codex exec in a workspace-write sandbox (any shell command, no browser, network off), reasoning effort high. Neither can open a browser to look at its result.
Human assistance
None. No edits after the prompt.
Attempts
One attempt each. A build that is missing, blank, erroring or not animating gets one fresh retry, disclosed on the entry. The editor may re-run a broken build (at most 3 attempts in all), also disclosed with the reason.
Other rules
Both models start at the same moment, each in its own empty folder, with the identical prompt and no human help.

Notes

Prompt: AI Battle house template v2 (game); subject chosen by the editor.

Prompt fingerprint (SHA-256): 5c02bcceefcdcfdfa500b3b4f1a41af3870fe6d45d132452348123d70888631f

  1. #8

    A tree growing through the four seasons

    · 3D scene

    • Claude Opus 5.5Unscored
    • GPT-6 AstraUnscored

    Result: No winner

  2. #9

    A jellyfish drifting through a dark ocean

    · 3D scene

    • Claude Opus 5.5Unscored
    • GPT-6 AstraUnscored

    Result: No winner

  3. #7

    A firefly-lit forest at dusk

    · 3D scene

    • Claude Opus 5.5Unscored
    • GPT-6 AstraUnscored

    Result: No winner