Skip to content

Latest commit

 

History

History
71 lines (70 loc) · 2.28 KB

ROADMAP.md

File metadata and controls

71 lines (70 loc) · 2.28 KB

Roadmap

  • Present game on the screen
    • ability to change the resolution and palette
    • sprite-sheet loader
    • more options: full screen, specifying tps and scale
    • Game loop
  • Implement Graphics API
    • drawing sprites and pixels with camera and clipping support
    • add the ability to directly access pixels on the screen and sprite-sheet
    • palette transparency
    • palette swapping
    • printing text on the screen
      • system font
      • custom font
      • additional features: escape characters, offsets
    • drawing shapes
      • rectangles, lines, circles
      • fill patterns
    • stretching sprites
  • Audio
    • playing sound effects
    • updating sound effects and music when the game is run
    • SFX notes effects
    • SFX modifiers
    • ADSR (envelopes)
    • playing music
  • map API
  • math API
    • Cos, Sin, Atan2
    • Min, Max, Mid for integers
    • Mid for float64
  • Game controller support: gamepad and keyboard
  • Mouse support
    • Add mouse wheel support
  • Full keyboard support
  • Storing game state like savegames, hall of fame and user preferences
  • Menu screen
    • controller mapping editor
    • keyboard mapping editor
  • Development tools
    • controlling the game
      • pausing, resuming
      • add a programmatic way to stop the game
    • taking screenshots
    • screen inspector
      • presenting pixel coords and color
      • zoom-in, zoom-out
      • drawing on the screen using Pi functions
        • Set, shapes
        • Spr
        • Print
    • scripting/REPL - write Go code live when the game is running
    • palette inspector
      • display, draw palette
    • sprite-sheet editor
    • map editor
    • sound editor
    • music editor
  • Documentation
    • Go docs
    • More detailed Go docs
    • Tutorials
  • Support for different platforms
    • Windows, Linux, macOS
    • Web browsers (WASM)
    • Android, IOS, Switch
  • Examples
    • simple programs for beginners
    • interactive programs describing how functions work
    • simple working game