# Roadmap: Super Pong Next Gen **Project:** Super Pong Next Gen **Created:** 2026-03-10 **Granularity:** Coarse (5 phases) **Total Requirements:** 37 v1 requirements --- ## Phases - [ ] **Phase 1: Foundation** - Game loop, rendering, input, physics, collision - [ ] **Phase 2: Core Gameplay** - AI opponent, second paddle, score tracking, state management - [ ] **Phase 3: Complete Experience** - Screens, menus, audio, pause functionality - [ ] **Phase 4: Polish & Depth** - Visual effects, power-ups, multiple arenas - [ ] **Phase 5: Release** - Performance tuning, cross-browser testing, final validation --- ## Phase Details ### Phase 1: Foundation **Goal**: Build a solid technical foundation with game loop, rendering at correct DPI, responsive input, and working physics/collision so players can move a paddle and watch the ball react. **Depends on**: Nothing (first phase) **Requirements**: CORE-01, CORE-02, CORE-03, CORE-04, CORE-07, VFX-05 **Success Criteria** (what must be TRUE when this phase completes): 1. Game canvas renders sharply on Retina/HiDPI displays (devicePixelRatio aware) 2. Ball moves continuously and bounces predictably off top and bottom walls 3. Player 1 can control paddle smoothly with W/S keys with minimal input lag 4. Ball angle changes based on where it hits the paddle (not purely geometric) 5. Ball speed increases gradually over the course of a match **Plans:** 2 plans Plans: - [x] 01-01-PLAN.md — HTML scaffold, HiDPI canvas, Renderer, GameLoop, Input, Player 1 paddle - [ ] 01-02-PLAN.md — Ball physics: movement, wall bounce, zone-based deflection, speed increment --- ### Phase 2: Core Gameplay **Goal**: Deliver a playable single-player game where players can engage with a responsive, skill-based AI opponent with meaningful difficulty progression. **Depends on**: Phase 1 **Requirements**: CORE-05, CORE-06, CORE-08, AI-01, AI-02, AI-03, AI-04 **Success Criteria** (what must be TRUE when this phase completes): 1. Player 2 can control paddle with Up/Down arrow keys independently from Player 1 2. AI opponent successfully tracks and intercepts the ball with behavior varying by difficulty 3. Easy AI is beatable by average players; Medium provides fair challenge; Hard requires skill 4. Player scores point when ball passes opponent's paddle 5. Match ends when a player reaches target score with clear game-over state 6. No memory leaks or event listener cleanup issues after multiple rounds **Plans:** 1/2 plans executed Plans: - [ ] 02-01-PLAN.md — Paddle2, AI system (predictive interception + 3 difficulty levels), extended Input/Physics - [ ] 02-02-PLAN.md — Game state machine, scoring, match-end, re-serve, paddle2 rendering, mode/difficulty selection --- ### Phase 3: Complete Experience **Goal**: Transform the game from a bare mechanic into a polished, navigable experience with proper UI flow, settings control, and audio feedback that respects browser autoplay policies. **Depends on**: Phase 2 **Requirements**: SCRN-01, SCRN-02, SCRN-03, SCRN-04, AUD-01, AUD-02, AUD-03, AUD-04, AUD-05 **Success Criteria** (what must be TRUE when this phase completes): 1. Title screen displays with game name and visual branding 2. Mode select screen lets player choose Solo vs AI or 2-Player gameplay 3. Settings menu allows configuring AI difficulty, sound on/off, and color scheme 4. Game over screen shows match result and offers Play Again and Main Menu options 5. Sound effects play on paddle hit, wall hit, and scoring events 6. Audio initializes only after first user interaction (respects browser autoplay policy) 7. Sound can be toggled on/off from settings without breaking game state **Plans**: TBD --- ### Phase 4: Polish & Depth **Goal**: Add visual "juice" and strategic depth through particle effects, power-ups, and arena variety, transforming a functional game into a captivating experience players want to replay. **Depends on**: Phase 3 **Requirements**: VFX-01, VFX-02, VFX-03, VFX-04, PWR-01, PWR-02, PWR-03, PWR-04, PWR-05, PWR-06, PWR-07, ARENA-01, ARENA-02, ARENA-03, ARENA-04 **Success Criteria** (what must be TRUE when this phase completes): 1. Ball emits glowing aura that visibly intensifies as speed increases 2. Ball leaves fading motion trail behind it during play 3. Particles burst from impact point when ball hits paddle or wall 4. Screen shakes briefly when a player scores point 5. Power-ups spawn at random intervals; player collects by hitting with ball 6. Multi-ball power-up spawns second ball; Enlarged paddle increases collector's height; Speed boost accelerates ball; Slow time slows opponent's perception 7. Active power-up is visually indicated on collecting player's side 8. Default arena available with classic open Pong layout 9. Obstacle arena available with center barrier that deflects ball 10. Each arena has distinct visual theme with different colors and background style 11. Player can select arena from mode select or settings screen **Plans**: TBD --- ### Phase 5: Release **Goal**: Verify the game performs reliably across target browsers and hardware, with no frame drops, no rendering issues on high-DPI displays, and all critical pitfalls mitigated. **Depends on**: Phase 4 **Requirements**: None (all requirements covered by phases 1-4; this phase is validation) **Success Criteria** (what must be TRUE when this phase completes): 1. Game maintains 60 fps consistently during gameplay on target hardware (Chrome, Firefox, Safari, Edge) 2. No memory leaks detected after 10+ consecutive matches 3. Canvas rendering remains sharp on Retina/HiDPI displays (verified on real hardware) 4. Input lag remains <50ms across all browsers 5. All critical pitfalls identified in research are mitigated (tunneling, autoplay, AI balance, etc.) 6. Game runs correctly as a single static HTML file on any static host **Plans**: TBD --- ## Progress | Phase | Plans Complete | Status | Completed | |-------|----------------|--------|-----------| | 1. Foundation | 1/2 | In Progress | — | | 2. Core Gameplay | 1/2 | In Progress| | | 3. Complete Experience | 0/? | Not started | — | | 4. Polish & Depth | 0/? | Not started | — | | 5. Release | 0/? | Not started | — | --- *Roadmap created: 2026-03-10* *Phase 1 planned: 2026-03-10* *Phase 2 planned: 2026-03-10*