Allegro library

From ArticleWorld

Allegro is a free, cross-platform video game programming library, providing functions for drawing, text output, sound and others. It even has some (limited) 3D graphics support, which can be extended by using AllegroGL though. Several additional support libraries have been provided by the community, adding support for various file formats as well. As a consequence, Allegro includes full support for PNG, JPG, GIF and other graphical formats, along with MIDI, WAV and MOD sound support. Allegro also includes limited support for GUI elements, also extended by a number of libraries.

Allegro is available for DOS, Windows, BeOS, Mac OS X and several UNIX systems, abstracting their platform-specific routines.

Allegro initially stood for "Atari Low-Level Game Routines", as its initial platform was the Atari ST. However, after an initial port to MS DOS, several other ports were created, for Microsoft Windows and Unix-based X Windows, and, later, for other platforms. They were gathered under a single version, that supports most Unices, Windows, BeOS, QNX, MacOS X and DOS.

Relation to other libraries

Allegro is a completely original library, written from scratch. The library that most closely resembles it is SDL, which does have the advantage of being more widespread, also supporting some older platforms like Amiga and Mac OS classic. SDL has also been ported to several game console platforms, including PS2, Xbox and Dreamcast.

Although they were created for the same purpose of game development, Allegro is generally more high-level than SDL, and adds a greater number of abstractions, as SDL is purely a drawing library.


There are several games that use Allegro, among which the more popular are Zelda Classic, Kraptor, UFO2000 and Icy Tower. Allegro is less popular today than it used to be a few years ago. Nevertheless, there is still an active development community around the Allegro library, and there are some great plans for the 4.3 version.