Skip to content

Latest commit

 

History

History
42 lines (33 loc) · 1.79 KB

TODO.md

File metadata and controls

42 lines (33 loc) · 1.79 KB

Our current goal is to get Soda to a state where it can be used to create real 2D games, probably retro-style arcade games that rely entirely on sprites, as quickly as possible. The High Priority features below will get us there. The subsequent Medium and Low priority features are ones we want to have, but are less urgent.

Note that all APIs should mimic Mini Micro wherever possible.

High Priority

  • basic sprite support
  • basic sound support
  • key.pressed
  • mouse.x, mouse.y, mouse.button
  • joystick/gamepad support, including key.axis and buttons
  • make file.loadImage return an actual Image object
  • Image.getImage (so you can carve up a sprite sheet)
  • full support for Sprite.tint including alpha
  • Sound.loop, Sound.stop, Sound.stopAll
  • basic screen handling: fullscreen mode, window size, window.backColor
  • manual builds for Mac, Windows, Linux (PC), and Raspberry Pi

Medium Priority

  • Display class, display(n), Display.install
  • Bounds class, with its connections to Sprite
  • Image.pixel, Image.setPixel
  • SolidColor display
  • Text display (in progress)
  • PixelDisplay
  • TileDisplay
  • import
  • sound synthesis (Sound.init, Sound.mix, etc.)
  • clear/simple build system for all platforms
  • Linux (especially RPi) builds that work without X11

Low Priority

Future Features

  • real-time networking