Skip to content

Claude Opus 5.5 on One-shot a Minecraft-style voxel game in three.js

AClaude Opus 5.5 · Claude Code 2.1.299 (headless -p) · cloud · 2026-10-14 · by @bobsiopener

Trust 80%Fully autonomoussuccess · first try
Estimated cost
$0.56
Wall time
2m
Human step-ins
0
Outcome
Pass

Compare with other models on this task →

Summary

Exact prompt

In one pass, build a playable Minecraft-style voxel game as a single file index.html using three.js loaded from https://unpkg.com/three@0.160.0/build/three.module.js (ES module import). Requirements: a generated terrain of at least 32x32 columns with at least 3 block types; first-person WASD movement with mouse look (pointer lock); left click breaks the targeted block, right click places a block; number keys 1-3 select block type; a crosshair and a small HUD showing the selected block. No other files.

Task prompt given to the agent (headless, offline, synthetic fixture inputs): In one pass, build a playable Minecraft-style voxel game as a single file index.html using three.js loaded from https://unpkg.com/three@0.160.0/build/three.module.js (ES module import). Requirements: a generated terrain of at least 32x32 columns with at least 3 block types; first-person WASD movement with mouse look (pointer lock); left click breaks the targeted block, right click places a block; number keys 1-3 select block type; a crosshair and a small HUD showing the selected block. No other files. Inspired by https://x.com/notjazii/status/2075549898909622330 (unverified; not checked with the author). This is an independent re-run on a reproducible synthetic task; it does not report or reproduce the original post's numbers. Cost shown is a list-price API-equivalent estimate (run on a Claude Pro subscription, not billed).

Success criteria: All automated rubric checks pass: imports three@0.160.0 module; pointer lock; WASD; raycast break/place (mouse buttons 0 and 2); block select keys 1-3; crosshair + HUD elements; terrain >=32x32 (size constant); no uncaught console errors in headless Chrome.

Setup notes: Cost is an ESTIMATE: Claude Code's list-price API-equivalent figure. The run used a Claude Pro subscription, so nothing was billed. input_tokens = all input incl. cache-creation and cache-read tokens; cached_tokens = cache reads (subset of input). Claude Code's cost bills cache writes at the 1h cache-write premium, so it can differ from a flat input-price recompute. Web disabled; tools Read/Write/Edit/Glob/Grep/Bash; single run; scored automatically (8/8 checks). Case 13 was rescored after the run (no rerun): three rubric checks (crosshair id, voxel raycast, 1-3 key handling) were widened after manual review found false negatives; final score is the rescored one.

Estimated cost List-price estimate; not actually billed.

Metrics

Estimated cost
$0.56
Wall time
2m
Human step-ins
0
Turns
7
Model usage
ModelInput tokOutput tokCost
AClaude Opus 5.5anthropic/claude-opus-5.5188,38816,863$0.56

Reproduce this run

  1. Use the use case prompt on the use case page.
  2. Same setup: Claude Opus 5.5 (anthropic/claude-opus-5.5) via Claude Code 2.1.299 (headless -p), cloud.
  3. It counts as a success only if it meets every success criterion: All automated rubric checks pass: imports three@0.160.0 module; pointer lock; WASD; raycast break/place (mouse buttons 0 and 2); block select keys 1-3; crosshair + HUD elements; terrain >=32x32 (size constant); no uncaught console errors in headless Chrome.
  4. Log model, tokens, wall time, human step-ins and the evidence log, then submit it as a reproduction. A different model? Submit a head-to-head rerun.

How runs are scored: Methodology.

Was this useful?

⇄ Rerun on another model

Automated checks

Trust 80% comes from these checks (how Trust % works).

Evidence log
{
 "duration_api_ms": 137157,
 "stop_reason": "end_turn",
 "session_id": "[REDACTED]",
 "total_cost_usd": 0.556653,
 "usage": {
  "input_tokens": 12,
  "cache_creation_input_tokens": 23291,
  "cache_read_input_tokens": 165085,
  "output_tokens": 16863,
  "output_tokens_details": {
   "thinking_tokens": 4858
  },
  "server_tool_use": {
   "web_search_requests": 0,
   "web_fetch_requests": 0
  },
  "service_tier": "standard",
  "cache_creation": {
   "ephemeral_1h_input_tokens": 23291,
   "ephemeral_5m_input_tokens": 0
  },
  "inference_geo": "global",
  "iterations": [
   {
    "input_tokens": 2,
    "output_tokens": 628,
    "cache_read_input_tokens": 35057,
    "cache_creation_input_tokens": 380,
    "cache_creation": {
     "ephemeral_5m_input_tokens": 0,
     "ephemeral_1h_input_tokens": 380
    },
    "type": "message"
   }
  ],
  "speed": "standard",
  "fallback_credit": null
 },
 "modelUsage": {
  "claude-opus-5-5": {
   "inputTokens": 12,
   "outputTokens": 16863,
   "cacheReadInputTokens": 165085,
   "cacheCreationInputTokens": 23291,
   "webSearchRequests": 0,
   "costUSD": 0.556653,
   "contextWindow": 1000000,
   "maxOutputTokens": 128000,
   "thinkingTokens": 4858,
   "canonicalModel": "claude-opus-5-5",
   "provider": "firstParty",
   "costBasis": "list"
  }
 },
 "permission_denials": [],
 "terminal_reason": "completed",
 "fast_mode_state": "off",
 "fast_mode_disabled_reason": "sdk_opt_in_required",
 "subagent_stats": {
  "spawned": 0,
  "requested": {
   "background": 0,
   "foreground": 0,
   "unset": 0
  },
  "started_in_background": 0,
  "max_depth": 0,
  "spawned_by_subagents": 0,
  "completed": 0,
  "failed": 0,
  "killed": {
   "parent": 0,
   "user": 0,
   "system": 0
  },
  "refused": {
   "depth_limit": 0,
   "concurrency_limit": 0,
   "budget": 0
  },
  "by_type": {}
 },
 "safety_stops": 0,
 "is_error": false,
 "num_turns": 7,
 "subtype": "success",
 "api_error_status": null,
 "result": "I've built the game as a single file, `index.html`, which loads three.js 0.160.0 from unpkg as an ES module. A headless Chrome screenshot shows the terrain, trees, textures, crosshair, hotbar and start screen all drawing correctly. I couldn't test the interactive parts that way: pointer lock, movement, and breaking and placing blocks still need a real play-through in a browser.\n\n**What's in it:**\n- **Terrain:** a 64\u00d764 world, 48 blocks tall, generated from layered noise. A new random seed is used each load. There are 6 block types: grass, dirt, stone, sand (on low ground) and trees made of wood and leaves.\n- **Graphics:** the block textures are pixel-art images drawn by the code itself, so no image files are needed.\n- **Movement:** click the start screen to lock the mouse, then use WASD to move, the mouse to look, Space to jump and Shift to sprint. The player collides properly with blocks and can't walk off the edge of the world. Esc pauses.\n- **Building:** left click breaks the targeted block and right click places one, up to 6 blocks away. A black outline marks the block you're aiming at. You can't place a block inside yourself, and only the part of the world around a change is redrawn.\n- **Block selection:** keys 1\u20133 select grass, dirt and stone as required. I added 4 for wood, 5 for sand and mouse-wheel scrolling.\n- **HUD:** a crosshair, a hotbar with a picture of each block, the selected block's name, and your position and seed in the top-left corner.\n\nThe first screenshot showed a tree right next to where you start, so I widened the tree-free area around the spawn point.\n\nTo play, open `index.html` in a browser with an internet connection (needed to load three.js) and click \"Click to play\".",
 "ttft_ms": 46533,
 "type": "result",
 "duration_ms": 139143,
 "uuid": "[REDACTED]",
 "ttft_stream_ms": 896,
 "time_to_request_ms": 283,
 "first_content_frame_ms": 896,
 "queued_turn_count": 0,
 "result_index": 0
}

Get new runs and ranking changes weekly