Files
gijs_pong/.planning/ROADMAP.md
2026-03-10 14:42:41 +01:00

5.9 KiB

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:

  • 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: TBD


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 0/2 Planned
2. Core Gameplay 0/? Not started
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