introduction to Allegro: Open Source Game Development
Allegro is a cross-platform library intended for use in computer games and other types of multimedia programming. According to the Oxford Companion to Music, Allegro is the Italian for "quick, lively, bright". It is also a recursive acronym which stands for "Allegro Low Level Game Routines". It was initially conceived on the Atari ST, but that platform sadly died during childbirth. After a brief stay with Borland C, it was adopted by the fantastic djgpp compiler, where it grew to maturity. In the fullness of time it gave birth to children of its own, who went to live in such exotic locations as DirectX and the X Server, but the entire family is now back together again, living in harmony as a single portable entity. How about that for a mixture of metaphors? A wide range of extension packages and add-on modules are also available, which can be found in the "Library Extensions" section of the Allegro website, http://www.talula.demon.co.uk/allegro/.
cross-platform support for DOS, Windows, Unix, and BeOS systems. Drawing
functions including putpixel, getpixel, lines, rectangles, flat shaded,
gouraud shaded, and texture mapped polygons, circles, floodfill, bezier
splines, patterned fills, masked, run length encoded, and compiled sprites,
blitting, bitmap scaling and rotation, translucency/lighting, and text
output with proportional fonts. It supports clipping, and can draw directly
to the screen or to memory bitmaps of any size. Additional video hardware
support is available from the FreeBE/AF project (http://www.talula.demon.co.uk/freebe/).
Allegro is gift-ware.
It was created by a number of people working in cooperation, and is
given to you freely as a gift. You may use, modify, redistribute, and
generally hack it about in any way you like, and you do not have to
give the makers anything in return. However, if you like this product
you are encouraged to thank them by making a return gift to the Allegro
community. This could be by writing an add-on package, providing a useful
bug report, making an improvement to the library, or perhaps just releasing
the sources of your program so that other people can learn from them.
If you redistribute parts of this code or make a game using it, it would
be nice if you mentioned Allegro somewhere in the credits, but you are
not required to do this.
Shawn Hargreaves wrote the core parts of Allegro while earning a music degree at York University. Although he doesn't have any formal computer training other than having done a computing A-level course, which was "incredibly boring", he's been programming for years before this, first on the Oric Atmos (in BASIC and 6502 asm), and later on the Atari ST (Forth, C, and 68000 asm). Since graduation, he's been working for Probe Entertainment (a subsiduary of Acclaim), helping to develop the racing games Extreme-G and XG2 on the N64. As of a few months ago, he has moved to Climax Studios' new Brighton, England office, where he's the lead programmer on a new PS2 title.