# Plan ยท Catan: AI Wars ## Brief Single-file web Catan clone in Game of Thrones aesthetic, 32-bit pixel art. The four houses are reskinned as AI labs: Anthropic, Google, OpenAI, X. Single-player vs 3 AI bots. ## Stack - Single `game.html` file, no build step - Vanilla JS + `` for board and pieces - Pixel-art tile sprites generated via an image gen API like Nano Banana 2 or GPT Image 2 (paid, approve cost before batch gen) - No frameworks, no npm ## Scope **Visuals** - Hex board, 19 tiles, GoT terrain palette (forest, hills, fields, mountains, pastures, desert) - 4 house banners reskinned: Anthropic clay, Google multicolour, OpenAI mint, X black-and-white - Pixel-art dice, settlement, city, road, robber sprites - Victory screen with winning house banner **Functionality** - Standard Catan rules, base set only - Hex board with number tokens and 9 ports - Dice roll, resource distribution to adjacent settlements - 7 triggers robber move + 1-card steal - Build roads / settlements / cities with cost enforcement - Bank trades (4:1, 3:1 port, 2:1 port) - Longest road and largest army bonuses - 3 greedy-resource AI opponents ## Out of Scope - No multiplayer networking - No expansions (Seafarers, Cities & Knights) - No save / load - No music or SFX - No dev cards beyond Knight + Victory Point ## Constraints - One HTML file, all assets inline or generated at runtime - Runs in modern browser, no external deps at runtime - AI bots must complete a turn in under 1s - No console errors during a full game ## Definition of Done `game.html` opens in the browser, plays a complete game vs 3 AI bots from setup to a 10-VP win, declares the winning house on a victory screen, with zero console errors. ## Acceptance Criteria - Board renders 19 hex tiles, 18 number tokens, 9 ports - All 5 resources (brick, lumber, ore, grain, wool) distribute correctly on dice roll - 4 houses pickable from a start menu, AI claims the other 3 - Settlement and road placement legal-checks pass - Robber on 7 forces a discard + move + steal sequence - Game ends the moment any player crosses 10 VP - Winning house banner displays on the victory screen - Pixel art renders crisp at 1x and 2x browser zoom ## Verification - Open `game.html` in Chrome, play one full game vs 3 bots, console stays clean - Visual check at 1x and 2x zoom - Manually trigger a 7 roll, confirm robber sequence works end to end - Manually trigger a 10-VP win, confirm victory screen shows the right house ## Turn Budget Stop after 60 turns, or sooner once the DoD condition holds. ## References - Catan base-set rulebook - GoT house heraldry style (banner shapes, sigil silhouettes) - 32-bit RPG pixel-art references (Stardew Valley, Octopath Traveler) ## Risks / Open Questions - AI pathing could spiral if we let it minimax. Cap at greedy-resource heuristics. - Pixel art consistency across tiles needs one locked prompt template per terrain type, gen all in a single batch. - "No console errors during a full game" needs at least one human playthrough - /goal can't fully self-verify the UX path. --- ## /goal one-liner ``` /goal game.html opens in browser, plays a complete Catan match vs 3 AI bots, declares the winning house at 10 VP, zero console errors during full play, stop after 60 turns ```