Gamasutra is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Gamasutra: The Art & Business of Making Gamesspacer
Allegro Inspires A New Generation of Independent Developers
arrowPress Releases
January 18, 2020
Games Press
View All     RSS

If you enjoy reading this site, you might also want to check out these UBM Tech sites:


Allegro Inspires A New Generation of Independent Developers

October 26, 1999 Article Start Previous Page 3 of 5 Next

Who's Using It?

"Most of the code will work unchanged on any operating system you care to mention, and the strength of being a nice, flexible and easily understood API remains a strength wherever you are running it," Hargreaves says, underlining one of the main strengths of the Allegro library.

Kenny Thornton, developer of the popular freeware RPG Fenix Blade, whole-heartedly agrees. He transferred his Moebius game engine from Turbo C++ 3.0 to DJGPP and Allegro a couple of years ago after examining Allegro closely.

"After looking through the source and seeing how organized it was, I decided it would be fruitful to rip out the guts and stick my old Moebius library functions in. The procedure went flawlessly, aside from a few minor linking errors and stuff, and I ditched my keyboard and gamepad handlers for their Allegro counterparts, since they worked just as well." This is a common case; indeed, teams often end up scrapping their own routines for the easier to use Allegro.

The Open Source Multi-Arcade Machine Emulator (MAME), which emulates over 1,500 games on various computer platforms, also started using Allegro within the last year. The team successfully ditched the original routines from its initial 1997 release. "Allegro is used in a lot of emulators software, such as MAME. I’ve wasted a lot of hours on that," Hargreaves told us.

Allegro has also become the choice of developers who want to concentrate on things other than screen setting and memory management. For some developers, Allegro is beyond practical. Arne Strout, head of the Megaman 21xx project, states that the development would be much more time consuming without Allegro. "(We might have been able to work without Allegro), maybe after another extra year to develop a suitable graphics library. Graphics libraries are the life of the game," says Strout.

Ulfr Fenris, creator of the popular shooter Halflight, isn’t offended by Allegro’s straightforward and smooth interface. According to the experienced programmer, he just has a higher appreciation of Allegro because he understands the work it is doing. "For someone who has worked on his own VESA driver, I understand just how much murder it can be to get a routine to work on several dozen different main chipsets and implementations of the VESA standard. Being able to call set_gfx_mode and leave it to that is very nice." This straightforwardness made starting with Allegro a breeze, he said.

"It was very easy [to adjust]. Allegro is logical and easy to use, especially if you are an experienced programmer," says Fenris. He further explained that, "I could write my games without Allegro – I had been doing it for years before I was introduced to it – but I am more concerned about game design and implementation, and spending all my time working on blitters or sound routines isn’t very practical for a single-man programming team. Allegro allows me to start coding a game idea immediately, and I can leave the gory details to those who have done more research and have more experience with that manner of low-level hardware access."

George Foot, who helped restructure Allegro for Linux compatibility, also was first attracted to the library because of its ease of use. "(Initially), I was feeling lazy and wanted something that I could start using as quickly as possible. That was the initial attraction of Allegro. It seemed hassle-free, and provided plenty of examples and reasonable documentation." Foot continued, stating that, "In the longer run, I’ve stuck with it because it always seemed easy to modify and fairly easy to find out what function does what from the source code, if not the documentation. (It also) is flexible enough so that you can use only the parts you want to use, and do the rest yourself. Or even just take the code you want."

Strout says that Allegro actually changed the way he looked at game programming. "The datafile structure supplies tons of information on each image you store, and allows you to load tons of sprites in a single command, not to mention referencing them by easy identifiers. It’s revolutionized the way I think about programming games." Strout continued, telling us that, "Really it was just what I’d wanted and hoped for. I was absolutely amazed by its functionality and as I learned new tricks with it, I was further amazed."

Article Start Previous Page 3 of 5 Next

Related Jobs

Disbelief — Chicago, Illinois, United States

Junior Programmer, Chicago
Disbelief — Cambridge, Massachusetts, United States

Senior Programmer, Cambridge, MA
Disbelief — Cambridge, Massachusetts, United States

Junior Programmer, Cambridge, MA — Bellevue , Washington, United States

UI Engineer

Loading Comments

loader image