Difference between revisions of "Game Engine"
From Free Pascal wiki
Jump to navigationJump to search (→Games: Add Castle and Darkest Before the Dawn links) |
|||
(70 intermediate revisions by 25 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{Game_Engine}} | |
− | + | {{Menu_Game_Development}} | |
− | |||
− | |||
− | |||
− | [http://en.wikipedia.org/wiki/Game_engine | + | A '''game engine''' is a software development environment designed to create [[Games|games]]. It distinguish from [[Game framework|game libraries]] in that: |
+ | * Implements the ''game loop'', resource managers and other complex subsystems as networking communications, user interfaces and configuration systems. | ||
+ | * Implements complex data structures, such as maps, particle systems and actors. | ||
+ | * Implements tools as editors and data managers. | ||
+ | All these subsystems would affect in gameplay aspects as movement, scoring or even genre. You can read this [http://en.wikipedia.org/wiki/Game_engine Wikipedia page] for more information. | ||
== Game Engines == | == Game Engines == | ||
Line 15: | Line 16: | ||
! Usage | ! Usage | ||
! Notes | ! Notes | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| [[Castle Game Engine]] | | [[Castle Game Engine]] | ||
− | | [ | + | | [https://castle-engine.io/ castle-engine.io] |
− | |||
− | |||
− | |||
− | |||
− | |||
| FPC/Delphi | | FPC/Delphi | ||
− | | | + | | 2D & 3D, all platforms supported |
|- | |- | ||
| Quad-Engine | | Quad-Engine | ||
− | | [ | + | | [https://github.com/dillanspencer/Quad-Engine GitHub] |
− | | Delphi | + | | Delphi/FPC/C#/C++ |
− | | | + | | Using Java 8 internal libraries, it is specifically designed for 2D games (no support for 3D), and proposes a set of functions for 2D resources management (images, sprites, animations, tiles...). Inputs and outputs are also available, with an easy keys retrieval, mouse movement... Management of music file is also available (Wav, Midi). Windowed and fullscreen are fully supported, with a complete frame rate control. |
|- | |- | ||
| TERRA Game Engine | | TERRA Game Engine | ||
− | | [ | + | | [https://github.com/Relfos/TERRA-Engine GitHub] |
| Delphi/FPC/Oxygene | | Delphi/FPC/Oxygene | ||
| 2D & 3D, all platforms supported | | 2D & 3D, all platforms supported | ||
+ | |- | ||
+ | | [http://www.tilengine.org Tilengine] | ||
+ | | [https://github.com/turric4n/PascalTileEngine GitHub] | ||
+ | | FPC/Delphi OOP Pascal Wrapper and bindings | ||
+ | | Cross-platform 2D graphics engine for creating classic/retro games with tilemaps, sprites and palettes. Last update May 2020. | ||
|- | |- | ||
| [[nxPascal]] | | [[nxPascal]] | ||
− | | [https:// | + | | [https://github.com/Zaflis/nxpascal GitHub] |
− | | Delphi | + | | FPC/Delphi |
− | | | + | | For now only OpenGL is supported. No android or other mobile support yet. |
|- | |- | ||
− | | | + | | g2mp |
− | | [ | + | | [https://github.com/MrDan2345/g2mp GitHub] |
− | | | + | | FPC |
− | | | + | | Ideologically replaced Dan Jet X, multiplatform, editor- and code-based development |
|- | |- | ||
| Andorra 2D | | Andorra 2D | ||
− | | [http://andorra.sourceforge.net/ | + | | [http://andorra.sourceforge.net/ SourceForge] |
| Delphi | | Delphi | ||
− | | | + | | Last update 2008 |
|- | |- | ||
| CAST II Game Engine | | CAST II Game Engine | ||
− | | [http://www.casteng.com | + | | [http://www.casteng.com/ www.casteng.com] |
| Delphi | | Delphi | ||
| Alive? last update 2011 | | Alive? last update 2011 | ||
Line 75: | Line 66: | ||
| FPC/Delphi | | FPC/Delphi | ||
| | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| Brtech1 | | Brtech1 | ||
Line 94: | Line 75: | ||
| [http://www.yoyogames.com/ www.yoyogames.com] | | [http://www.yoyogames.com/ www.yoyogames.com] | ||
| N/A | | N/A | ||
− | | Yes, it's not really a game engine library. But it's a game engine and studio written in Delphi. Special Pascal proud. | + | | Yes, it's not really a game engine library. But it's a game engine and studio written originally in Delphi. Special Pascal proud. |
− | | | + | |- |
− | + | | MinGRo | |
− | + | | [https://www.sf.net/p/mingro SourceForge] | |
− | + | | FPC | |
− | + | | Designed for old-school style games. Still work in progress. Build with [[FPC_and_Allegro|Allegro.pas]]. | |
− | + | |- | |
− | + | | ZGameEditor | |
− | + | | [http://www.zgameeditor.org/ www.zgameeditor.org] | |
− | + | | FPC/Delphi | |
+ | | use OpenGL for graphics and a real time synthesizer for audio | ||
+ | |- | ||
+ | | SO Engine | ||
+ | | [https://github.com/dimsa/ShadowEngine GitHub] | ||
+ | | Delphi/FMX | ||
+ | | Small Crossplatform (Win, Android, iOs) indy engine with formatters, animations, intersections and etc. | ||
+ | |- | ||
+ | | DGLE | ||
+ | | [https://github.com/DGLE-HQ/DGLE GitHub] | ||
+ | | Delphi/FPC/C#/C++ | ||
+ | | Powerful free open source cross-platform game engine. | ||
+ | |- | ||
+ | | raylib | ||
+ | | [https://github.com/tazdij/raylib-pas GitHub] | ||
+ | | FPC | ||
+ | | A simple and easy-to-use raylib library | ||
|- | |- | ||
− | | | + | | PGF |
− | | [ | + | | [https://github.com/GuvaCode/PGF GitHub] |
− | | | + | | FPC/Lazarus |
− | + | | The Phoenix Game Framework is a set of classes for helping in the creation of 2D and 3D games in pascal. | |
− | |||
− | |||
− | |||
− | |||
− | | | ||
− | |||
|- | |- | ||
− | | | + | | ZenGL |
− | | [ | + | | source code [https://code.google.com/archive/p/zengl/ ZenGL before version 3.12][https://sourceforge.net/projects/new-zengl/ ZenGL 4.2 and higher] |
− | | Delphi | + | | FPC/Lazarus/Delphi |
− | | | + | | Cross-platform game development library written in Pascal. |
|- | |- | ||
− | | | + | | Apus Game Engine |
− | | [ | + | | [https://github.com/Cooler2/ApusGameEngine GitHub] |
− | | Delphi | + | | FPC/Delphi |
− | | | + | | 2D (with some 3D effects) engine |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | | + | | Ray4Laz |
− | | [ | + | | [https://github.com/GuvaCode/Ray4Laz GitHub] |
− | + | | FPC/Lazarus | |
− | + | | is a simple and easy-to-use library to enjoy videogames programming | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | | ||
− | |||
− | |||
|} | |} | ||
Line 196: | Line 132: | ||
|- | |- | ||
| TundAx | | TundAx | ||
− | | [https:// | + | | [https://github.com/JordiCorbilla/thundax-delphi-physics-engine GitHub] |
| FPC/Delphi | | FPC/Delphi | ||
| | | | ||
Line 206: | Line 142: | ||
|- | |- | ||
| Box2D-Delphi | | Box2D-Delphi | ||
− | | [https:// | + | | [https://sourceforge.net/projects/box2d-delphi/ SourceForge] |
| FPC/Delphi | | FPC/Delphi | ||
− | | This is Delphi implementation of [ | + | | This is Delphi implementation of [https://github.com/erincatto/Box2D Box2D] library. |
+ | |- | ||
+ | | Kraft | ||
+ | | [https://github.com/BeRo1985/kraft GitHub] | ||
+ | | FPC/Delphi | ||
+ | | Pascal native physics engine by Benjamin Rosseaux. | ||
|} | |} | ||
− | |||
− | |||
− | |||
− | |||
− |
Revision as of 23:47, 30 September 2023
│
English (en) │
français (fr) │
|
A game engine is a software development environment designed to create games. It distinguish from game libraries in that:
- Implements the game loop, resource managers and other complex subsystems as networking communications, user interfaces and configuration systems.
- Implements complex data structures, such as maps, particle systems and actors.
- Implements tools as editors and data managers.
All these subsystems would affect in gameplay aspects as movement, scoring or even genre. You can read this Wikipedia page for more information.
Game Engines
Here's a list of game engines that are Pascal/Delphi based or have Pascal binding libraries.
Name | Site | Usage | Notes |
---|---|---|---|
Castle Game Engine | castle-engine.io | FPC/Delphi | 2D & 3D, all platforms supported |
Quad-Engine | GitHub | Delphi/FPC/C#/C++ | Using Java 8 internal libraries, it is specifically designed for 2D games (no support for 3D), and proposes a set of functions for 2D resources management (images, sprites, animations, tiles...). Inputs and outputs are also available, with an easy keys retrieval, mouse movement... Management of music file is also available (Wav, Midi). Windowed and fullscreen are fully supported, with a complete frame rate control. |
TERRA Game Engine | GitHub | Delphi/FPC/Oxygene | 2D & 3D, all platforms supported |
Tilengine | GitHub | FPC/Delphi OOP Pascal Wrapper and bindings | Cross-platform 2D graphics engine for creating classic/retro games with tilemaps, sprites and palettes. Last update May 2020. |
nxPascal | GitHub | FPC/Delphi | For now only OpenGL is supported. No android or other mobile support yet. |
g2mp | GitHub | FPC | Ideologically replaced Dan Jet X, multiplatform, editor- and code-based development |
Andorra 2D | SourceForge | Delphi | Last update 2008 |
CAST II Game Engine | www.casteng.com | Delphi | Alive? last update 2011 |
Delphi X | www.micrel.cz/Dx | Delphi | |
Afterwarp | www.afterwarp.net | FPC/Delphi | |
Brtech1 | PascalGameDevelopment.com | FPC | Not really available as an engine or library. Many videos can be found on youtube though. |
GameMaker: Studio | www.yoyogames.com | N/A | Yes, it's not really a game engine library. But it's a game engine and studio written originally in Delphi. Special Pascal proud. |
MinGRo | SourceForge | FPC | Designed for old-school style games. Still work in progress. Build with Allegro.pas. |
ZGameEditor | www.zgameeditor.org | FPC/Delphi | use OpenGL for graphics and a real time synthesizer for audio |
SO Engine | GitHub | Delphi/FMX | Small Crossplatform (Win, Android, iOs) indy engine with formatters, animations, intersections and etc. |
DGLE | GitHub | Delphi/FPC/C#/C++ | Powerful free open source cross-platform game engine. |
raylib | GitHub | FPC | A simple and easy-to-use raylib library |
PGF | GitHub | FPC/Lazarus | The Phoenix Game Framework is a set of classes for helping in the creation of 2D and 3D games in pascal. |
ZenGL | source code ZenGL before version 3.12ZenGL 4.2 and higher | FPC/Lazarus/Delphi | Cross-platform game development library written in Pascal. |
Apus Game Engine | GitHub | FPC/Delphi | 2D (with some 3D effects) engine |
Ray4Laz | GitHub | FPC/Lazarus | is a simple and easy-to-use library to enjoy videogames programming |
Physics Engines
These engines simulate the physical world (collisions, trajectories etc). Not really game engines per se, but could certainly be used in games.
Name | Site | Usage | Notes |
---|---|---|---|
TundAx | GitHub | FPC/Delphi | |
Newton | www.saschawillems.de | Bindings | |
Box2D-Delphi | SourceForge | FPC/Delphi | This is Delphi implementation of Box2D library. |
Kraft | GitHub | FPC/Delphi | Pascal native physics engine by Benjamin Rosseaux. |