How pranavcm24032/pykachugo_v3.4 works
Pykachu Go is a mobile-first, browser-based team puzzle hunt. Players register, scan or enter a start key, solve language-specific coding riddles, and follow unlocked locations through a branching puzzle graph; hints and penalties shape play, while solves and team progress sync to Google Sheets. The graph preserves the documented admin dashboard, QR scanning, meme rewards, anti-cheat monitoring, and offline PWA shell. The principal flow is documented in the README; source excerpts additionally show scanner gating, game progression, Sheets buffering, and worker caching. Unsampled subsystem links are omitted where ownership is not established.
Main entry points: game.js Registration and Puzzles · index.html Player App · google-sheets.js Sheets Telemetry Client · data-loader.js Game Data Loader
Components 27
Player Game Flow
- Player App
index.html - App Bootstrap
js/main.js - Registration and Puzzles
js/game.js - QR Scanner
js/scanner.js - Screen Flow
js/screens.js - Puzzle Graph
data/puzzle.json - Team Roster
data/teams.json - Game Data Loader
js/data-loader.js - Registration Selects
js/custom-select.js - Device Camera
Game Features
- Hints and Penalties
js/hint.js - Tab Penalties
js/penalty.js - Anti-cheat Blackout
js/security.js - Meme Player
js/meme.js - Meme Settings
data/meme.json - Sound System
js/audio.js - YouTube Player API
State and Telemetry
- Browser Game State
js/state.js - Puzzle Event Notebook
js/notepad.js - Sheets Telemetry Client
js/google-sheets.js - Request Limiter
js/rate-limiter.js - Sheets Backend
scripts/GoogleAppsScript.gs - Google Sheets Workbook
- Local Storage
Admin and Offline
- Admin Dashboard
admin.html - Offline PWA Shell
service-worker.js
Other components
- Player
Connections 30
- Player → Player App: opens
README.md - Player App → App Bootstrap: runs
README.md - App Bootstrap → Game Data Loader: loads data
README.md - Game Data Loader → Puzzle Graph: loads
README.md - Game Data Loader → Team Roster: loads
README.md - Game Data Loader → Meme Settings: loads
README.md - Player → Registration and Puzzles: registers
README.md - Registration and Puzzles → QR Scanner: opens scanner
README.md - Device Camera → QR Scanner: provides video
README.md - QR Scanner → Registration and Puzzles: submits code
js/scanner.js - Registration and Puzzles → Puzzle Graph: checks progression
README.md - Registration and Puzzles → Screen Flow: shows steps
README.md - Registration and Puzzles → Hints and Penalties: offers hints
README.md - Hints and Penalties → Tab Penalties: starts penalty
README.md - Registration and Puzzles → Anti-cheat Blackout: monitors play
README.md - QR Scanner → Meme Player: opens reward
README.md - Meme Player → YouTube Player API: plays clip
README.md - Meme Player → Meme Settings: reads settings
README.md - Registration and Puzzles → Puzzle Event Notebook: records events
README.md - Puzzle Event Notebook → Sheets Telemetry Client: flushes on solve
README.md - Registration and Puzzles → Sheets Telemetry Client: syncs team state
js/game.js - Sheets Telemetry Client → Request Limiter: limits requests
js/google-sheets.js - Sheets Telemetry Client → Sheets Backend: posts telemetry
README.md - Sheets Backend → Google Sheets Workbook: reads and writes
README.md - Admin Dashboard → Google Sheets Workbook: tracks teams
README.md - Registration and Puzzles → Browser Game State: persists progress
README.md - Sheets Telemetry Client → Browser Game State: buffers requests
js/google-sheets.js - Offline PWA Shell → Player App: caches shell
service-worker.js - Player App → Registration Selects: uses registration controls
- Player App → Sound System: plays effects