Back to the start
FlagshipGames / browser engine / AI-driven engineering

Case 01 / 1

Quake II: The Vault

Quake II: The Vault is a browser port of Quake II built on Yamagi Quake II: the engine compiled to WebAssembly, eight renderer backends behind one canvas, 32 mountable game-data sets from the 1997 trade-show builds to the 2023 remaster, an archive of the pressings they came from, browser-to-browser multiplayer over a relay, and a local workbench that reads the repository, the CI fleet and the release state. Built in 24 days with Claude Code sessions: 2,045 commits, 181 releases, 615,017 own lines on a 4.1 million line tree. Plus a bounded unattended loop that works a person's queue without the person, and a scientific case study whose numbers are measured by scripts rather than typed.

Role
Concept, engine port, architecture, engineering & case study
Period
since August 2026
Status
active
01

Problem

Running a 1997 C engine with 17 years of somebody else's history in a browser is the smaller problem. The larger one: how do you build such a system in weeks rather than months with AI sessions without the claim "it works" standing in for a measurement? And how far can development run unattended without the machine taking over direction? An outside AI assistant read four screenshots, declared the project "fully autonomous", proposed a test and read a dashboard counter as the test passing. The test had never been run.

02

Solution

A gate set instead of trust: 126 Node, 173 browser and 45 C test files under sanitizers, per-file coverage floors with a ratchet that only raises from green runs, 70 audits over tree and game data, and a rule that "it looked right" is not a measurement. On top of it a loop of four lanes in their own git worktrees, fired by a timer every 300 seconds, with four guards that clear themselves: a lock, a state check, a 75-minute ceiling, STOP files. The machine invents no features: priorities 000 to 499 belong to the person, a lane's proposal becomes OPEN only by a human, and done means both CI checks green at the landed commit. The case study reads every number from git, the tree, the audits, the watchdog logs and every session transcript, and puts it into the text by script.

03

Outcome

Live at quake2vault.app: 16 engine binaries, 8 renderers, 32 mounts, PWA, multiplayer. 392 sessions since 18 August 2026, 81.9 million output tokens and 28.4 billion cache-read tokens, $19,327 at API list price, paid for with three flat-rate seats. 98.5% of it with a person at the keyboard; the unattended loop spent 1.5% and has run for 32 hours. The case study shows: "built in three weeks with AI" holds, "fully autonomous" does not, and a counter that moves is evidence that something happened, not of what.

04

Impact

  • Yamagi Quake II to WebAssembly, 8 renderer backends (WebGPU written new) behind one canvas, switchable without a reload
  • 32 mounts from the 1997 trade-show builds to the 2023 remaster, with provenance per mount and an archive of the pressings
  • Gate set of 344 test files, per-file coverage floors, 70 audits and 9 workflows on a self-hosted CI fleet
  • Bounded unattended loop: four lanes, four guards, direction stays with the person; a case study that measures it rather than claiming it

Stack

CWebAssemblyEmscriptenWebGPUWebGL