160 lines
6.5 KiB
Markdown
160 lines
6.5 KiB
Markdown
# 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
|
|
- [x] **Phase 2: Core Gameplay** - AI opponent, second paddle, score tracking, state management (completed 2026-03-10)
|
|
- [ ] **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:** 2/2 plans complete
|
|
|
|
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:** 2 plans
|
|
|
|
Plans:
|
|
- [ ] 03-01-PLAN.md — Palette system, neon screens (title/settings/modeSelect/diffSelect/gameover), arrow-key navigation
|
|
- [ ] 03-02-PLAN.md — Audio module (WebAudio synthesis), paddle/wall/score sounds, soundEnabled gating
|
|
|
|
---
|
|
|
|
### 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 | 2/2 | Complete | 2026-03-10 |
|
|
| 3. Complete Experience | 0/2 | Planned | — |
|
|
| 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*
|
|
*Phase 3 planned: 2026-03-10*
|