Hello Rege,
Welcome to the forum.
Lazarus/FPC can be used to create video games if have the time and you're willing to spend some of your time to learn programming. Nothing wrong with Pascal/Lazarus/FPC, but if you only have limited time or you are more in the creativity things and want to focus on productivity you should choose the tool that requires less programming, some call it game builders. Don't use Lazarus nor Pascal.
Here is the list of free game builders I ever tried:
GDevelophttps://gdevelop-app.com/It is super easy to use. Programming skills is not required, you still need some basic understanding about logic. The default installation has many working simple games.
+ Easy to use built-in scene editor, physics engine, particle emitters, collision detection, pathfinding, etc
+ Target multi platforms: Windows, Linux, Mac, Android, iOS, web, Facebook Messenger
+ Good demos and documentation
- 2D games only
Constructhttps://www.scirra.com/Similar to GDevelop, it is free, super easy, target to multiple platforms, lots of bundled demos. Unfortunately the version 2 and 3 are not totally free, the free editions have many limitations. Only the version 1 is really free, they called it Construct Classic.
+ Powerful and has easy to use visual editor
+ Target multi platforms
+ Good demos and documentation
- 2D games only
- Only Construct Classic is really free without restrictions
If you willing to spend some money, you should consider the non-free options. They can be expensive, but their high price is not without reasons. I never tried them but I know these are the best tools in the field:
Unreal EngineMy friend uses Unreal Engine to create 3D graphics (not games), the quality is awesome. If you have an high end computer, it can make use of all the power you can provide. As far as I know Unreal Engine has very good license term, you can use the free version to make money, but with some limitations and conditions.
UnityI don't know much about it but I heard it a lot.
Why do you remove it from your consider list?
These are other free engines I ever tried:
Godothttps://godotengine.org/This is the best free engine I ever tried. With some simple steps I can make the bundled example games that run on desktop to run on my Android phone too. I never knew creating Android games can be so simple! It uses their own-invented scripting language, which is similar to Python.
+ Easy to use visual editor
+ Target multi platforms: Windows, Linux, Mac, Android, iOS, web
+ Good demos and documentation
+ Can create both 2D and 3D games
- Requires some programming skills
Game Editorhttp://game-editor.com/If you have some programming knowledge, this 2D game engine is relative easy for you. Unfortunately, I heard the programmer later was hired by a big company so Game Editor now is outdated and abandoned.
+ Create games for Windows, Linux, Mac, iPhone, iPad, Pocked PC
+ They use easy to understand event and action concept
+ Built-in script editor
+ Has some basic 3D capability- Requires some programming skills
- Outdated and abandoned
Blender Game Enginehttps://en.wikipedia.org/wiki/Blender_Game_EngineBlender 3D is a famous free 3D software but not many people know Blender can be used to create games. I ever tried, but never interested. I don't know why.
+ Power engines for 3D games
- Blender is known as very hard to learn
All the mentioned above are not related with Pascal programming. Below is the list of free game engines/libraries that allow you to use your Pascal skills for creating games:
ZGameEditorhttp://www.zgameeditor.org/This game builder is created using Delphi and its game scripting language is very similar to Pascal (a simplified version of Pascal). Pascal lovers should check this one first. I managed to create a simple vertical scrolling spaceship game in my first some hours of trying it.
+ Target multi platforms: Windows, Linux, Mac, Android
+ Can create both 2D and 3D games
+ Can create Windows screensavers
+ Easy to use built-in audio synthesizer
+ The generated stand-alone executable is very small
+ Its scripting language is very similar to Pascal
- The editor can be run on Windows only
- Requires some programming skills
Castle Game Enginehttps://castle-engine.io/It's probably the most powerful Pascal game engine. It is a game framework not a game builder, you have to integrate it into your Lazarus/FPC to use it. Learning Castle Game Engine it is much harder than ZGameEditor and the result binaries are much bigger too. I wish I can have more time so I can explore or even use it, Castle Game Engine is really an interesting project.
+ Target multi platforms: Windows, Linux, Mac, Android, iOS, Nintendo Switch
+ Import models form many formats, graphics effects, physics, AI, etc
+ Can create both 2D and 3D games
- Good demos and documentation
- Requires good programming skills in Pascal
- It is a game framework, learning a game framework is hardGLScenehttp://glscene.sourceforge.net/wikka/This 3D graphics library is very powerful. I ever thought to build some cool 3D games and applications using it. Unfortunately their development is mainly focus on Windows, I monitored it for years but no much progress for Linux. It doesn't run good on my Linux computer so I abandon it.
+ Full featured 3D graphics engine
+ Good demos
+ Zero deployment setup
- Run bad on Linux
- Where is the documentation?- Requires good programming skills in Pascal
Allegro.pashttp://allegro-pas.sourceforge.net/Allegro.pas is a wrapper for Allegro game framework. Learning a game framework is hard, luckily the official website of Allegro provides detailed documentation so learning it is relatively easy. Only some days of learning it, I managed to create my demo game Furious Paladin.
Furious Paladin's binary:
http://graphicslearning.com/furious-paladin-tutorials/And this is the source code:
https://sourceforge.net/p/allegro-pas/code/HEAD/tree/TRUNK/demos/+ Multi platforms support: Windows, Linux, Mac, iPhone, Android
+ Audio, font, video playback, some 3D basic drawing, joystick, keyboard, physics
+ Detailed documentation
- Cannot be used to create full 3D games
- How to use Allegro.pas to create Android games?- Requires good programming skills in Pascal
Simple Directmedia LibraryI never really tried it. But I know a kid (who was a member here) can create simple 2D horizontal scrolling game using FPC + SDL only weeks of learning it. Read more about SDL:
http://wiki.freepascal.org/FPC_and_SDLnxPascalhttp://wiki.freepascal.org/nxPascalNot as famous as the others and it lacks of documentation. But it has potential. Read more:
https://forum.lazarus.freepascal.org/index.php/topic,35313.msg253463.html#msg253463BGRABitmap or TCanvasIf you want to create simple 2D games like Tetris, Snake, Pong, Arkanoid, TCanvas and BGRABitmap is totally capable for it. I ever wrote 2D scrolling spaceship game using only TCanvas line drawing, it's working good. I then tried to switch the graphics library to use BGRABitmap, it works. Any TCanvas program can easily to switch to use BGRABitmap, which offer more graphics features. Read more:
https://lazarus-ccr.sourceforge.io/docs/lcl/graphics/tcanvas.htmlhttp://wiki.lazarus.freepascal.org/TCanvashttp://wiki.freepascal.org/BGRABitmaphttp://wiki.freepascal.org/BGRABitmap_tutorial
+ Relatively simple and easy to learn than the others
+ BGRABitmap can draw simple 3D objects+ Zero deployment setup
- They handle graphics only
- Not suitable for graphics intensive games
- Requires good programming skills in Pascal
LAMW + jCanvasES2I am now exploring the possibility to create Android games using LAMW + jCanvasES2. I already managed to create my Windows/Linux 2D graphics engine using OpenGL. Maybe I'm too ambitious, I want it also can run on Android. LAMW + jCanvasES2 is the combination to make Lazarus to produce Android binaries that allow us to use OpenGL ES2. Unfortunately, it crash too often. I'm examining it, hope I can fix them.
---
All mentioned above are capable to create video games. Which one to use is depends on how much time and money you're willing to spend and what kind of the games you want to create.
I heard a lot Game Maker Studio and RPG Maker but they are never in my list.