Case study · Fracture
Fracture: modernizing a fourteen-year-old demo
The problem
Mozilla's 2012 BrowserQuest was a beautiful proof that a browser could run a live multiplayer game. Then it sat. A modernization could go two ways: a shallow reskin that demos well and rots, or a real revival that someone could actually play and you could actually extend.
The framing
Legacy modernization is judged on what holds up after the demo. A rewrite that loses the original's working multiplayer core is a regression dressed as progress. The goal was a running game on a current stack with a test wall thick enough to change things without fear, not a screenshot.
The fix
Rebuilt on TypeScript, Node, React, SQLite, and Socket.IO. Zone-based combat, a party system, rifts as endgame dungeons, leaderboards, player persistence. AI NPCs with contextual dialogue and a narrator system, behind a circuit breaker that keeps the game running if the AI provider drops. A full observability stack and a production deployment behind nginx and SSL. 215 TypeScript source files, 65 test files.
The outcome
Playable right now at fracture.georgelarson.me, with 3,161 passing tests behind it. A fourteen-year-old demo that runs as a live game today, and a codebase you can keep building on.