Files
Pac-Man/ROADMAP.md

5.7 KiB

Roadmap

A comprehensive list of features needed to complete the Pac-Man emulation, organized by priority and implementation complexity.

Core Game Features

Ghost AI & Behavior

  • Core Ghost System Architecture
    • Ghost entity types (Blinky, Pinky, Inky, Clyde)
    • Ghost state management (Normal, Frightened, Eyes)
    • 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
  • Mode Switching System
    • Scatter/Chase pattern with proper timing
    • Frightened mode transitions
    • Ghost house entry/exit mechanics
  • Ghost House Behavior
    • Basic spawning in ghost house
    • Proper exit timing sequence
    • Dot counter for ghost release
    • Global dot counter reset
    • House-specific pathfinding

Fruit Bonus System

  • Fruit Spawning Mechanics
    • Spawn at pellet counts 5 and 170 (TODO: verify if should be 70 and 170 for arcade accuracy)
    • Fruit display in bottom-right corner
    • Fruit collection and scoring
    • 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

  • Core Audio Infrastructure
    • Audio event system
    • Sound effect playback
    • Audio muting controls
  • Background Music
    • Intro jingle
    • Continuous gameplay music
    • Escalating siren based on remaining pellets
    • Power pellet mode music
    • Intermission music
  • Sound Effects
    • Pellet eating sounds
    • Fruit collection sounds
    • Ghost eaten sounds
    • Pac-Man Death
    • Ghost movement sounds
    • Level completion fanfare

Game Mechanics

  • Bonus Lives
    • Extra life at 10,000 points
    • Life counter display
  • High Score System
    • High score tracking
    • High score display
    • Score persistence

Secondary Features (Medium Priority)

Game Polish

  • Core Input System
    • Keyboard controls (WASD + Arrow keys)
    • Direction buffering for responsive controls
    • Touch controls for mobile
    • Mouse controls (mouse-as-touch for desktop testing)
  • Pause System
    • Pause/unpause functionality (Escape key)
    • Visual pause overlay with semi-transparent background
    • Interactive pause menu with options
  • Advanced Input System
    • Input remapping/key rebinding
    • Customizable control schemes

Web Platform Features

Browser Compatibility

  • Core Web Support
    • WASM compilation and deployment
    • Emscripten platform integration
    • Browser autoplay policy compliance (click-to-start)
    • WASM loading states and smooth transitions
  • Mobile Web Support
    • Touch controls for mobile browsers
    • Responsive touch input handling
    • Mobile-optimized UI

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

  • Performance details
  • Core Debug Infrastructure
    • Debug mode toggle (Space key)
    • Comprehensive game event logging
    • Per-system performance profiling with timing breakdown
    • FPS and frame timing display
    • Single-tick stepping (T key for frame-by-frame)
  • Maze Visualization
    • Navigation graph rendering (red lines)
    • Node visualization (blue dots)
    • Node hover inspection with ID display
    • Collision hitbox display (green boxes)
  • Game State Visualization
    • Ghost AI state display (target tiles, modes)
    • Ghost pathfinding visualization (current path)
    • Ghost personality indicators
  • Game Speed Controls
    • Variable game speed for testing

Customization & Extensions

Visual Customization

  • Core Rendering System
    • Sprite-based rendering
    • Layered rendering system
    • Animation system
    • HUD rendering
  • Display Options
    • Fullscreen support (Desktop only - F key toggle)
    • Fullscreen support (Web - F key + pinch-to-zoom gestures)
    • Window resizing with aspect ratio preservation
      • Pause while resizing (SDL2 limitation mitigation)
    • Multiple resolution support

Gameplay Extensions

  • Advanced Ghost AI
    • Support for >4 ghosts
    • Custom ghost behaviors
  • Level Generation
    • Custom level creation
    • Multi-map tunneling
    • Level editor

Online Features (Future)

Scoreboard System

  • Backend Infrastructure
    • Axum server with PostgreSQL database
    • Optional OAuth2 authentication (GitHub/Discord)
    • Session management with cookies
    • Health check and API endpoints
  • Profile Features
    • Optional avatars (8-bit aesthetic)
    • Custom names (3-14 chars, filtered)
    • User profile pages
  • Leaderboard Features
    • Global high score board
    • Personal best tracking
    • Score submission from game client
  • Client Implementation
    • Zero-config client with default endpoint
    • Score upload integration
    • Manual API endpoint override