The Allegro
game development library was originally developed for
DJGPP in
DOS, but there are now
ports to several
Windows compilers using
DirectX, as well as a
Linux port and a
MacOS port.
It is
designed for
source code to be 100%
portable between different
platforms. That has some negative effects, especially in the
Windows ports where it makes it
difficult if not
impossible to use the
lower-level DirectX functions.
Apart from that (and it's inability to match the efficiency of a lower-level library like DirectX or SDL), it is an
excellent library with a
huge amount of
functions that greatly
simplify the
process of
creating a
game.