FPC and Allegro
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: it is a game framework you are free to design and structure your program as you like.
Allegro 5 has the following additional features:
- Supported on Windows, Linux, macOS, iPhone and Android.
- User-friendly, intuitive C API usable from many 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!
To use Allegro with Free Pascal you need the Allegro.pas wrapper.
The tutorial is in the project webpage, here.