The Allegro Wiki is migrating to github at https://github.com/liballeg/allegro_wiki/wiki
New front page text for website
Welcome to Allegro5!
Allegro5 is a cross-platform library designed mainly for game development and multimedia programming. It provides low level functionality to access modern graphics, audio hardware, as well as various kinds of input devices. Allegro5 is not a game engine however, so you retain complete freedom and control over the design and structure of your program. With Allegro5 you can create windows, accept user input, load data, draw images, play sounds, etc. and generally abstract away the underlying platform. It accesses graphics hardware through OpenGL or Direct3D and will happily accept being used alongside them - utility functions for integration are available. Due to its modular structure, you can also leave certain jobs (e. g. audio) to other libraries, if you prefer to do so.
Allegro5 officially supports Windows using MSVC or MinGW, Linux, Mac OS X, iOS and Android. Written in C, Allegro5 provides a clear and consistent API with an intuitive naming scheme. It can be easily used with C++ as well, and wrappers exist for several other languages such as Python, Lua, D, Chicken Scheme and mruby.
Allegro5 is open-source and distributed under a ZLIB license. You may use it freely for any kind of software.
If you need advice or support, you can ask our friendly, long-standing, active community that is always willing to help.
Allegro5 supports managing one or more display windows in full screen or windowed mode, 2D Graphics routines such as bitmap drawing, memory bitmaps, sub-bitmaps, deferred drawing, blending, direct memory access through bitmap locking, OpenGL and Direct3D integration, OpenGL extension management and shaders, transformation matrices, event driven input handling, with support for joystick, keyboard, mouse, and touchscreen input devices, portable handling of file I/O, configuration files, file paths, the file system, timers, and threads, and more!
Additionally Allegro5 has optional but well integrated add-ons which support a flexible audio and audio stream system with audio codecs for .wav, .flac, .ogg, .it, .mod, .s3m and .xm. files, loading TrueType or bitmap fonts, text rendering, image loading and saving in BMP, PCX, TGA, PNG and JPEG format, native dialogs and menus, drawing 2D primitives, loading resources from archives via PhysicsFS, and more!
Completely rewritten, Allegro5 is a major milestone in Allegro's long and proud history of being an easy-to-use library. If you're looking for the legacy version, you can find it here.