TODO.md 2.1 KB

+------+ | TODO | +------+

(Todos marked with 1 are priority 1 for playability)

o Physics: 1 Implement attacks for action based battle gaming.

  • Implement interaction between players characters/NPC's/foes, etc.
  • Implement sensors for AI and line of sight.
  • Implement shallow and deep water.

o Play 1 implement player and foe data such as HP, MP; LP, and stats.

o GUI: 1 Reimplement gui engine wholly in C, not split over C and Mruby. 1 game HUD / current HP, MP and LP display

  • All sorts of widgets for status screens, menus, etc.
  • Keyboard input.
  • Joystick input.

o Main:

  • Configurable controls
  • Loading and saving settings
  • Loading and saving data

o Tile map:

  • Background images.
  • Parallax.
  • Object layers and scriptability.
  • Transition from one map to another.
  • Scripting.
  • Background loading?

o Sprites:

  • Speed up loading a bit / background loading?

o AI:

  • Implement D* lite.
  • Player char pathfinding.

o Particle Engine Alps (Allegro Particle System)

  • Damage display.
  • Group for flexibility.
  • Allow bitmaps as well as colors/shapes.
  • Explosions.
  • Spell effects.

o Scripting:

  • Wire it all up so game content becomes accessible in mruby.

o AND MUCH MORE! ^_^;;;

+------+ | DONE | +------+

o GUI:

  • A 2D UI elements / drawing scene graph was implemented so the GUI can be partially implemented in mruby.
  • Some not too beautiful widgets for menu and dialogs were implemented.

o Tile map:

  • Static tilesets.
  • Load tilemapeditor.org TMX maps.
  • Tile map tile animations, also in TMX 0.10 style.
  • Tile properties.
  • Tile map layers.
  • Tile flipping.

o Sprites:

  • Loading.
  • Coloring.
  • Positioning.
  • Shadows under the sprites.
  • Attack animations and other one-shots now work.

o Physics:

  • Implemented stairs. Need to use stair and invisible support tiles in tile map.
  • Bump based physics.
  • Physical layers.

o Asset loading:

  • resor and store subsystems, both already scripted.

o Engine:

  • Built-in own XML parser so no libxml2 dependency is needed anymore.