There is quite a lot of stuff I plan on doing to the Egoboo codebase, so when I get sit down to work on something, I occasionally get lost in what I wanted to work on. So I’m going to maintain this post as a Todo List of things that need to get done. It’ll be edited from time to time.

Stuff to do:

  • Implement proper timing code: gameplay & simulation should occur at fixed timesteps, while animation and rendering is allowed to run at whatever speed the computer can handle.

  • Split game handling code into client & server portions, to make robust network play possible.

  • Menus menus menus

  • Re-work the input code, both to allow cleaner configuring of input sources and to allow for input playback for demos & the like.

  • Adjust Egoboo’s filesystem usage so that the game does not require write- access to it’s own directory; this will make the distribution/installation of the game much cleaner on most OS’s.

  • Move from a per-module object store to a global one; commonly used objects should not have to be copied between different modules, and each saved character doesn’t need it’s own copy of a torch.

  • Explore other possible inventory management schemes; Egoboo uses too many buttons for that right now. I want to be able to play on a controller with no more than 4 buttons.

  • And along with the above few items, I want to be able to play the game on my Dreamcast. After the above issues are worked out, the main difficulty here is that all of Egoboo’s level data is drawn as Triangle Fans, but the Dreamcast only supports Triangle strips. We’ll see how performance is if I switch to straight Triangles on the DC.

  • More to come