/ recent work/ critical-fail

Critical Fail

A cozy browser MMO about failing upward, with tile exploration, turn-based combat, branching comedy, reactive characters, and evolving narratives that remember you.

Critical Fail — preview
Year
2026
Role
Product design, game systems, narrative, and engineering
Status
in progress
Stack
  • Phaser 4.2
  • React 19
  • Vite 6
  • TypeScript
  • Zustand
  • Neon
  • Vitest
  • Playwright

The problem

Most browser RPG prototypes prove a combat loop or a walking scene, then stop. Critical Fail is an attempt to make the surrounding product coherent too: a distinctive world, readable systems, meaningful failure, character progression, and dialogue that can react without surrendering authorship.

The product decision

Failure is not a punishment screen. It is content. The game is designed around failing upward, so bad rolls, awkward choices, and imperfect characters create new material instead of ending the experience.

What I own

I lead the product direction, interaction and systems design, narrative framework, visual language, and implementation. Phaser owns the playable world and combat staging; React owns the interface; engine-independent TypeScript systems keep the game rules testable and portable.

Current state

The town, movement, branching dialogue, combat, inventory, journal, character builder, progression data, and save seams are implemented. Multiplayer, production character intelligence, world-map systems, and final art remain active milestones. The project is labeled in progress rather than presented as a finished MMO.

Constraints

The architecture deliberately separates real systems from simulated networking and dialogue providers. Case-study claims should always distinguish production-ready features, functional local systems, and planned infrastructure.

Recent shipping

  • 2026-08-04 · docs: session notes — co-op complete, discovery register, interior keepers
  • 2026-08-04 · feat: co-op Seasons F-J + the discovery register, 8 interior-keeper quests, waterline/toast-anchor fixes
  • 2026-08-04 · fix: enforce the 45-word cap in src too, and rewrite the 15 lines that were over it
  • 2026-08-04 · feat: Season C, the deferred A6, and seven over-cap lines rewritten instead of relocated
  • 2026-08-04 · fix: shopkeepers stopped standing at their counters when their dialogue went lazy — plus 76 more trees off the entry chunk
  • 2026-08-03 · feat: The Perpetual Care Yard — a graveyard built from art already on disk, and six filings that need two people
  • 2026-08-03 · perf: move 19 dialogue trees off the app entry chunk, and graft the co-op seasons the ordinary way
  • 2026-08-03 · docs: session notes — co-op waves 1-3, the browser harness, and the checksize wall