Pokemon Drinking Game
A FireRed-styled drinking board game PWA for one shared phone, built for the yearly ski-trip bus ride.
Overview
A Pokemon FireRed/LeafGreen themed drinking board game for 2 to 8 players on one shared phone, built for the yearly bus trip to the Alps. Trainers race across a 79-tile Kanto board from Pallet Town to the Champion: eight gym gates, an S.S. Anne cruise that traps you aboard for a dice roll of turns, a Snorlax roadblock, Safari Zone push-your-luck, Team Rocket mischief, and a Pokemon Tower quiet zone where every spoken word costs three sips.
Your starter is rolled, not chosen: the die maps 1 to 6 onto Bulbasaur, Charmander, Squirtle, Pikachu, Eevee, and Magikarp, with hand-tuned matchups so all six are fair. Eevee wins tied battles; Magikarp rerolls battle dice that show 1. Battles are dice roll-offs where a matchup edge grants two dice, and caught legendaries add dice against the Champion.
The whole thing is an offline-first PWA: every sprite, cry, and data file from PokeAPI (Kanto dex 1 to 151) is prefetched at build time and precached by the service worker, so the game keeps running through alpine tunnels with zero signal. The rules live in a pure, fully unit-tested TypeScript engine; the React UI just renders its events in a GBA dialogue-box style with typewriter text and real Pokemon cries.
Highlights
- 79-tile FRLG Kanto board with 8 gym gates, S.S. Anne, Snorlax, Safari Zone, and a silence-enforced Pokemon Tower
- Starters are rolled on a d6, hand-balanced across six Pokemon including perk-based Eevee and Magikarp
- Fully offline PWA: 2.6 MB of sprites, cries, and data precached, made for a bus with no signal
- Pure rules engine with 31 unit tests; the UI renders engine events
- Real FRLG sprites and cries via PokeAPI, bundled at build time
- Game state survives refreshes via localStorage resume