Allegro is a free software / open source software library for video game development, with functions for basic 2D graphics, image manipulation, text output, audio output, midi music, input and timers, as well as additional routines for things like fixed-point and floating-point matrix arithmetic, unicode strings, file system access, file manipulation, data files, and (limited, software-only) 3D graphics.