Allegro is a cross-platform library mainly aimed at video game and multimedia programming. It handles common, low-level tasks such as creating windows, accepting user input, loading data, drawing images, playing sounds, etc. and generally abstracting away the underlying platform. However, Allegro is not a game engine: you are free to design and structure your program as you like.

Allegro 5 has the following additional features:

  • Supported on Windows, Linux, Mac OSX, iPhone and Android
  • User-friendly, intuitive C API usable from C++ and many other languages
  • Hardware accelerated bitmap and graphical primitive drawing support (via OpenGL or Direct3D)
  • Audio recording support
  • Font loading and drawing
  • Video playback
  • Abstractions over shaders and low-level polygon drawing
  • And more!