Libraries/Framework - "All what do you need for creating application under OS with OpenGL/DirectX support, loading and drawing graphics, text, playing sounds, videos, timers, networking, game physics etc."
Game engine - "Framework + game loop + texture and sound managers + own tools for 3D modeling, creating scenes, fonts, particle editors.."
Game engines: (Pascal)Castle Game Engine (OOP) -
https://castle-engine.sourceforge.io/Info: The free open-source 3D and 2D game engine using modern Object Pascal!
Status: under developmentNxPascal -
https://github.com/Zaflis/nxpascalInfo: nxPascal is a free 3D game engine that tries to remain lightweight and portable.
Status: ?Mingro -
https://sourceforge.net/projects/mingro/Info: An old-school game engine, much like good old ID and Apogee games as Duke Nukem, Commander Keen and Biomenace,
slightly inspired by Diana Gruber's "Action Arcade Adventure Set". Made with Allegro.pas and programmed in Pascal.
Status: under developmentZenGL (Structured) -
http://www.zengl.org/download.html,
http://www.zengl.org/forum/https://code.google.com/archive/p/zengl/ Info: Cross-platform game development library written in Pascal, designed to provide necessary functionality for rendering 2D-graphics,
handling input, sound output, etc.
Status: Project is stopped, but author (Andru) is answering questions on forumFrameworks: Allegro - Bindings -
http://liballeg.org/ (C)
http://allegro-pas.sourceforge.net/
Info: 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.
Status: maintainedAsphyre -
http://asphyre.net/products/pxl (Pascal)
Info: Platform eXtended Library (PXL) is a cross-platform framework for developing 2D/3D video games, interactive and scientific applications. It aids the developer with mathematics,
hardware control, resource management, displaying real-time graphics and text, handle user input and network communication capabilities.
Status: under developmentBGRABitmap -
https://bgrabitmap.github.io/ (Pascal, LCL)
Info: BGRABitmap is a package designed to modify and create images with transparency. Direct pixel access allows fast image processing. The library has been tested on Windows, Ubuntu and Mac.
Status: under developmentSDL2 - bindings -
https://www.libsdl.org/ (C)
https://github.com/ev1313/Pascal-SDL-2-Headers
https://sourceforge.net/projects/lazsdl2/
Info: Simple DirectMedia Layer is a cross-platform development library designed to provide low level access to audio, keyboard, mouse, joystick,
and graphics hardware via OpenGL and Direct3D.
Status: maintainedSFML - bindings -
https://www.sfml-dev.org/ (C++)
CSFML-FPC (Structured) -
https://github.com/DJMaster/csfml-fpc,
https://forum.lazarus.freepascal.org/index.php/topic,33877.0.htmlStatus: maintained
PasSFML (OOP) -
https://github.com/CWBudde/PasSFML,
https://forum.lazarus.freepascal.org/index.php/topic,39209.0.htmlInfo: SFML provides a simple interface to the various components of your PC, to ease the development of games and multimedia applications.
It is composed of five modules: system, window, graphics, audio and network.
Status: maintainedNext engines or frameworks:Bare game -
https://www.baregame.org/#topic_welcome (Lazarus / FPC)
TERRA Engine -
https://github.com/Relfos/TERRA-Engine (Object Pascal)
Luna Game Library -
http://www.pascalgamedevelopment.com/showthread.php?32560-Luna-Game-Library-Simple-amp-Elegant-Game-Programming (Delphi)
Bigger games with source code:Knights & Merchants Remake -
https://github.com/Kromster80/kam_remake (Full game, Delphi)
Hedgewars -
http://www.hedgewars.org/download.html (Full game, FPC)
Pascal related links:Why use Pascal -
http://wiki.freepascal.org/Why_use_PascalFPC Wiki -
http://wiki.freepascal.org/Game_EnginePGD -
http://www.pascalgamedevelopment.com/forum.phpUniversal sources based on gamedev:Reddit -
https://www.reddit.com/r/gamedev/Gamedev.net -
https://www.gamedev.net/Indiegamer -
http://forums.indiegamer.com/Tig Source -
https://forums.tigsource.com/Stackoverflow -
https://stackoverflow.com/What is the "best"? - It depends what do you prefer.. but some hints:
* What makes sense: SDL2, SFML, Castle Game engine, maybe Allegro
* For inspiration, best from Pascal world was ZenGL - simple structure, structured source code, easy to learn, optimized. Andru made great job here
* You can also learn from all projects like nxPascal, Asphyre ..
* I recommend using frameworks which have big user base in general - SDL2, SFML, Allegro. They are documented, you can read or watch tutorials. They are used also for commercial games like Factorio (Allegro), FTL: Faster Than Light (SDL). Programming a game loop is not such a problem (I will give some example later).
* If you can render output from framework or game engine inside LCL Form it's big plus, because you can create a level editor really fast and use all features, components etc. from LCL
* With BGRABitmap you can make games inside LCL Form, it's quite accessible. On other hand it lacks performance because game loop has no priority. Anyway for simple games it does not matter, also it have OpenGL support etc.