Skip to content

Latest commit

 

History

History
43 lines (30 loc) · 2.27 KB

File metadata and controls

43 lines (30 loc) · 2.27 KB

Game guides - how to play

Playful venue instructions shown in the Oche dashboard. 501 Entertainment runs competitive-socialising games (darts first) - operators and players should never wonder “what are we playing?”.

Source of truth (code)

All copy lives in one file:

apps/web/src/content/game-guides.ts

Export Purpose
GameId '501' | 'around-the-clock' | 'cricket' | 'killer' | 'general'
GAME_GUIDES Full guide per mode (objective, steps, scoring hint, venue tip)
GAME_OPTIONS Labels for create-session picker
resolveGameId(title) Infer mode from session title keywords
getGameGuideForTitle(title) Guide for a session row

UI surfaces

Screen Component Notes
Live overview GameGuideCard Open by default while session is active
Session detail GameGuideCard Collapsed by default
New session GameGuideCard + game picker Preview updates when mode changes

Adding or editing a game

  1. Add or update an entry in GAME_GUIDES (playful but accurate - venue staff may read this aloud).
  2. If new mode: extend GameId and add to GAME_OPTIONS.
  3. Update resolveGameId() if titles use new keywords (or document explicit picker-only mode).
  4. Update seed session titles in packages/db/src/seed.ts if demo data should showcase the mode.
  5. Run npm run check.

Tone

  • Clear rules first, personality second (one wry line per guide is enough).
  • Always include “On this board” - ties rules to Oche +/− scoring.
  • Avoid jargon without a one-line explanation.

Cursor rule

Agents must follow .cursor/rules/32-game-guides.mdc when touching game copy or session create flow.