Solo dev built a Node.js text-based renderer and HTTP harness so Claude Code can play-test Crossword Dungeon without touching browser automation or game source files.
Key Takeaways
The harness wraps the browser game via synthetic events and a stateless HTTP server, exposing game state as text panels and ASCII maps – no MCP browser tool, no screenshots.
Claude navigated rooms, triggered combat, used the shop, and caught a real bug (cage trap never clearing state.caged) during the same play session that added the feature.
Dual-map design matters: ASCII dungeon for visual context, compact grid map for AI navigation – two representations of the same state solved different parsing problems.
Milestone 13 shipped five special encounter types with full playtest verification in 12m 34s at ~120k tokens on Claude Sonnet 4.6 Pro; manual follow-up was under 30 minutes.
The workflow shift: AI can now build minimal bug-reproduction fixtures on demand, not just exercise happy paths – turning bug reports into automated regression steps.
Hacker News Comment Review
Multiple indie devs report shipping near-identical setups independently: a CLI or code-level API layered over game state as a second renderer, confirming the pattern generalizes beyond text-heavy turn-based games.
The hard case is realtime physics: one commenter building a 2D slingshot game found browser MCP unusable because the player moved between screenshots, forcing a code-level physics step API instead – text/turn-based is the sweet spot for current models.
A recurring workflow unlock across comments is async overnight execution: with AI-writable E2E tests, devs can assign a milestone and go to sleep, getting further than before without babysitting.
Notable Comments
@ZeidJ: Built a Pokemon-style MMORPG where agents and human players collaborate; found users resisted spending tokens on games, but the agent-interaction experiment itself produced a genuinely playable result.
@fishtoaster: Physics-based 2D game required giving AI both a code-level API to step the physics engine and a browser MCP – neither alone was sufficient for realtime geometry.