mirror of
https://github.com/Xevion/Pac-Man.git
synced 2025-12-08 04:07:52 -06:00
chore: update ROADMAP.md with latest progress, detail core feature targets & mechanics
This commit is contained in:
171
ROADMAP.md
171
ROADMAP.md
@@ -1,30 +1,161 @@
|
|||||||
# Roadmap
|
# Roadmap
|
||||||
|
|
||||||
A list of ideas and features that I might implement in the future.
|
A comprehensive list of features needed to complete the Pac-Man emulation, organized by priority and implementation complexity.
|
||||||
|
|
||||||
## Debug Tooling
|
## Core Game Features
|
||||||
|
|
||||||
|
### Ghost AI & Behavior
|
||||||
|
|
||||||
|
- [x] Core Ghost System Architecture
|
||||||
|
- [x] Ghost entity types (Blinky, Pinky, Inky, Clyde)
|
||||||
|
- [x] Ghost state management (Normal, Frightened, Eyes)
|
||||||
|
- [x] Ghost movement and pathfinding systems
|
||||||
|
- [ ] Authentic Ghost AI Personalities
|
||||||
|
- [ ] Blinky (Red): Direct chase behavior
|
||||||
|
- [ ] Pinky (Pink): Target 4 tiles ahead of Pac-Man
|
||||||
|
- [ ] Inky (Cyan): Complex behavior based on Blinky's position
|
||||||
|
- [ ] Clyde (Orange): Chase when far, flee when close
|
||||||
|
- [x] Mode Switching System
|
||||||
|
- [ ] Scatter/Chase pattern with proper timing
|
||||||
|
- [x] Frightened mode transitions
|
||||||
|
- [ ] Ghost house entry/exit mechanics
|
||||||
|
- [x] Ghost House Behavior
|
||||||
|
- [x] Proper spawning sequence
|
||||||
|
- [ ] Exit timing and patterns
|
||||||
|
- [ ] House-specific movement rules
|
||||||
|
|
||||||
|
### Fruit Bonus System
|
||||||
|
|
||||||
|
- [x] Fruit Spawning Mechanics
|
||||||
|
- [x] Spawn at pellet counts 70 and 170
|
||||||
|
- [ ] Fruit display in bottom-right corner
|
||||||
|
- [x] Fruit collection and scoring
|
||||||
|
- [x] Bonus point display system
|
||||||
|
|
||||||
|
### Level Progression
|
||||||
|
|
||||||
|
- [ ] Multiple Levels
|
||||||
|
- [ ] Level completion detection
|
||||||
|
- [ ] Progressive difficulty scaling
|
||||||
|
- [ ] Ghost speed increases per level
|
||||||
|
- [ ] Power pellet duration decreases
|
||||||
|
- [ ] Intermission Screens
|
||||||
|
- [ ] Between-level cutscenes
|
||||||
|
- [ ] Proper graphics and timing
|
||||||
|
|
||||||
|
### Audio System Completion
|
||||||
|
|
||||||
|
- [x] Core Audio Infrastructure
|
||||||
|
- [x] Audio event system
|
||||||
|
- [x] Sound effect playback
|
||||||
|
- [x] Audio muting controls
|
||||||
|
- [ ] Background Music
|
||||||
|
- [ ] Continuous gameplay music
|
||||||
|
- [ ] Escalating siren based on remaining pellets
|
||||||
|
- [ ] Power pellet mode music
|
||||||
|
- [ ] Intermission music
|
||||||
|
- [x] Sound Effects
|
||||||
|
- [x] Pellet eating sounds
|
||||||
|
- [x] Fruit collection sounds
|
||||||
|
- [ ] Ghost movement sounds
|
||||||
|
- [ ] Level completion fanfare
|
||||||
|
|
||||||
|
### Game Mechanics
|
||||||
|
|
||||||
|
- [ ] Bonus Lives
|
||||||
|
- [ ] Extra life at 10,000 points
|
||||||
|
- [x] Life counter display
|
||||||
|
- [ ] High Score System
|
||||||
|
- [ ] High score tracking
|
||||||
|
- [x] High score display
|
||||||
|
- [ ] Score persistence
|
||||||
|
|
||||||
|
## Secondary Features (Medium Priority)
|
||||||
|
|
||||||
|
### Game Polish
|
||||||
|
|
||||||
|
- [x] Core Input System
|
||||||
|
- [x] Keyboard controls
|
||||||
|
- [x] Direction buffering for responsive controls
|
||||||
|
- [x] Touch controls for mobile
|
||||||
|
- [ ] Pause System
|
||||||
|
- [ ] Pause/unpause functionality
|
||||||
|
- [ ] Pause menu with options
|
||||||
|
- [ ] Input System
|
||||||
|
- [ ] Input remapping
|
||||||
|
- [ ] Multiple input methods
|
||||||
|
|
||||||
|
## Advanced Features (Lower Priority)
|
||||||
|
|
||||||
|
### Difficulty Options
|
||||||
|
|
||||||
|
- [ ] Easy/Normal/Hard modes
|
||||||
|
- [ ] Customizable ghost speeds
|
||||||
|
|
||||||
|
### Data Persistence
|
||||||
|
|
||||||
|
- [ ] High Score Persistence
|
||||||
|
- [ ] Save high scores to file
|
||||||
|
- [ ] High score table display
|
||||||
|
- [ ] Settings Storage
|
||||||
|
- [ ] Save user preferences
|
||||||
|
- [ ] Audio/visual settings
|
||||||
|
- [ ] Statistics Tracking
|
||||||
|
- [ ] Game statistics
|
||||||
|
- [ ] Achievement system
|
||||||
|
|
||||||
|
### Debug & Development Tools
|
||||||
|
|
||||||
- [ ] Game state visualization
|
|
||||||
- [ ] Game speed controls + pausing
|
|
||||||
- [ ] Log tracing
|
|
||||||
- [x] Performance details
|
- [x] Performance details
|
||||||
|
- [x] Core Debug Infrastructure
|
||||||
|
- [x] Debug mode toggle
|
||||||
|
- [x] Comprehensive game event logging
|
||||||
|
- [x] Performance profiling tools
|
||||||
|
- [ ] Game State Visualization
|
||||||
|
- [ ] Ghost AI state display
|
||||||
|
- [ ] Pathfinding visualization
|
||||||
|
- [ ] Collision detection display
|
||||||
|
- [ ] Game Speed Controls
|
||||||
|
- [ ] Variable game speed for testing
|
||||||
|
- [ ] Frame-by-frame stepping
|
||||||
|
|
||||||
## Customization
|
## Customization & Extensions
|
||||||
|
|
||||||
- [ ] Themes & Colors
|
### Visual Customization
|
||||||
- Color-blind friendly options
|
|
||||||
- [ ] Perfected ghost AI algorithms
|
- [x] Core Rendering System
|
||||||
|
- [x] Sprite-based rendering
|
||||||
|
- [x] Layered rendering system
|
||||||
|
- [x] Animation system
|
||||||
|
- [x] HUD rendering
|
||||||
|
- [ ] Display Options
|
||||||
|
- [ ] Fullscreen support
|
||||||
|
- [x] Window resizing
|
||||||
|
- [ ] Pause while resizing (SDL2 limitation mitigation)
|
||||||
|
- [ ] Multiple resolution support
|
||||||
|
|
||||||
|
### Gameplay Extensions
|
||||||
|
|
||||||
|
- [ ] Advanced Ghost AI
|
||||||
- [ ] Support for >4 ghosts
|
- [ ] Support for >4 ghosts
|
||||||
- [ ] Custom level generation with multi-map tunneling
|
- [ ] Custom ghost behaviors
|
||||||
|
- [ ] Level Generation
|
||||||
|
- [ ] Custom level creation
|
||||||
|
- [ ] Multi-map tunneling
|
||||||
|
- [ ] Level editor
|
||||||
|
|
||||||
## Online Features
|
## Online Features (Future)
|
||||||
|
|
||||||
- [ ] Scoreboard system
|
### Scoreboard System
|
||||||
- Axum server with database and OAuth2 auth
|
|
||||||
- Authentication via GitHub/Discord/Google
|
- [ ] Backend Infrastructure
|
||||||
- Profile features:
|
- [ ] Axum server with database
|
||||||
- [ ] Optional avatars (downscaled to match 8-bit aesthetic)
|
- [ ] OAuth2 authentication
|
||||||
- Custom names (3-14 chars, filtered for abuse)
|
- [ ] GitHub/Discord/Google auth
|
||||||
- Zero-config client implementation
|
- [ ] Profile Features
|
||||||
- Uses default API endpoint
|
- [ ] Optional avatars (8-bit aesthetic)
|
||||||
- Manual override available
|
- [ ] Custom names (3-14 chars, filtered)
|
||||||
|
- [ ] Client Implementation
|
||||||
|
- [ ] Zero-config client
|
||||||
|
- [ ] Default API endpoint
|
||||||
|
- [ ] Manual override available
|
||||||
|
|||||||
Reference in New Issue
Block a user