Allegro A game programming library


Support This Project
  

The future

Allegro has evolved into something fairly big, really nice and extremely useful, and some dust has now settled since version 4.0 was released. The library has thus reached that point where every little addition or modification may have side effects on the whole library: now that we have gone multi-platform, it's not so easy to add features which are available everywhere.
By the end of 2002, the Allegro developers decided to redesign the API and implement it from scratch. This was a very ambitious process which spawned a (now closed) mailing list for discussion of new features and an archive (http://alleg.sourceforge.net/future/info.html, there's a cache at http://allegro.dotsrc.org/future/info.html) with proposals on how the next version of Allegro would look like.
Unfortunately, due to lack of time, this approach did not work out. Instead, we have decided on a different approach. The API will be redesigned in pieces and each piece will be implemented within the current Allegro codebase. This work has begun, and the changes will be seen from Allegro 4.4 onwards. What does this mean for users?
  1. We intend to maintain backwards compatibility with the current Allegro API (except for some obscure features). Most of the time, this will be done using a compatibility layer -- the old API will be layered on top of the new API.
  2. Users will be able to use the new API as it becomes available -- if they want to. Or they can wait until the entire API has been redesigned and implemented before adopting the new API.
  3. Even when the entire API has been redesigned, we will probably retain the compatibility layer for the current API, because it would be easy to do so.
On a related note, in June AllegroPro (http://home.comcast.net/~Korval/) was announced. AllegroPro is not designed nor implemented by the Allegro developers. It is a completely different library started by a user of Allegro.