AllegroPro Development Roadmap

This document specifies how AllegroPro should be developed, from design through full implementation.

AllegroPro, as specified in the core design document, is divided into 5 parts. The 4 main components, and the core systems. Each component is relatively independent of each other, but there are some dependencies.

This roadmap deals only with one platform. As development proceeds, it is expected that various ports of AllegroPro can be made to other platforms. Until those ports mature, the principle platform of focus will be Win32.


  1. Distribute designs for the components for discussion
  2. Finalize core design
  3. Design AllegroPro API conventions/language (C vs. C++)
  4. Finalize AllegroPro API conventions/language
  5. Implement the core design (thread, errors, etc)
  6. Finalize Graphics design
  7. Implement Graphics design, using Allegro 4 as a base graphics driver. Feel free to just get the basics up and running.
  8. Finalize Input model design (can happen anytime after implementing core design)
  9. Implement Input model design, possibly using Allegro 4 as a base input driver (can happen anytime after implementing core design)
  10. Design sound design (can happen at any time)
  11. Finalize sound design (can happen anytime after implementing core design and sound design)
  12. Implement sound design, possibly using Allegro 4 as a base sound driver.
  13. Design filesystem (can happen at any time)
  14. Finalize filesystem (can happen at any time after implementing the core and designing the filesystem)
  15. Implement file system

At this point, AllegroPro would be functional, though not entirely complete. At this stage, the system would be considered version 0.1. The purpose of this is to have a codebase up and running as fast as possible.

From here, there isn't a precise roadmap, but merely a list of things to do, in no particular order:

The important steps are the OpenGL graphics drivers (gives AllegroPro features), the generic graphics driver (implements the design fully), and the sound driver.