Difference between revisions of "Game Engine"

From Free Pascal wiki
Jump to navigationJump to search
(Added MinGRo Game Engine.)
(19 intermediate revisions by 10 users not shown)
Line 1: Line 1:
 
{{Game_Engine}}
 
{{Game_Engine}}
{{Infobox game development}}
+
{{Menu_Game_Development}}
  
{{Warning|This page needs to be fixed and actualized:
+
A '''game engine''' is a software development environment designed to create [[Games|games]].  It distinguish from [[Game framework|game libraries]] in that:
* Games should be in the new [[Games]] page.
+
* Implements the ''game loop'', resource managers and other complex subsystems as networking communications, user interfaces and configuration systems.
}}
 
 
 
A '''game engine''' is a software development environment designed to create games.  It distinguish from [[Game framework|game libraries]] in that:
 
* Implements the ''game loop'', networking communications and resource managers.
 
 
* Implements complex data structures, such as maps, particle systems and actors.
 
* Implements complex data structures, such as maps, particle systems and actors.
 
* Implements tools as editors and data managers.
 
* Implements tools as editors and data managers.
Line 24: Line 20:
 
| [https://castle-engine.sourceforge.io/ castle-engine.sourceforge.io]  
 
| [https://castle-engine.sourceforge.io/ castle-engine.sourceforge.io]  
 
| FPC
 
| FPC
|
+
| 2D & 3D, all platforms supported
 
|-
 
|-
 
| Quad-Engine
 
| Quad-Engine
 
| [http://quad-engine.com/ quad-engine.com]  
 
| [http://quad-engine.com/ quad-engine.com]  
 
| Delphi/FPC/C#/C++
 
| Delphi/FPC/C#/C++
|  
+
| v0.9.0 (Diamond) 2018-01-15
 
|-
 
|-
 
| TERRA Game Engine  
 
| TERRA Game Engine  
Line 35: Line 31:
 
| 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://github.com/Zaflis/nxpascal github.com]
 
| [https://github.com/Zaflis/nxpascal github.com]
 
| FPC/Delphi
 
| FPC/Delphi
|
+
| For now only OpenGL is supported. No android or other mobile support yet.
 
|-
 
|-
 
| g2mp
 
| g2mp
Line 49: Line 50:
 
| [http://andorra.sourceforge.net/ sourceforge.net]
 
| [http://andorra.sourceforge.net/ sourceforge.net]
 
| Delphi
 
| Delphi
|  
+
| Last update 2008
 
|-
 
|-
 
| CAST II Game Engine
 
| CAST II Game Engine
Line 79: Line 80:
 
| [https://www.sf.net/p/mingro SourceForge]
 
| [https://www.sf.net/p/mingro SourceForge]
 
| FPC
 
| FPC
| Designed for old-school style games.  Still work in progress.  Build with Allegro.pas.
+
| Designed for old-school style games.  Still work in progress.  Build with [[FPC_and_Allegro|Allegro.pas]].
 
|-
 
|-
 
| ZGameEditor
 
| ZGameEditor
 
| [http://www.zgameeditor.org/ www.zgameeditor.org]  
 
| [http://www.zgameeditor.org/ www.zgameeditor.org]  
 
| FPC/Delphi
 
| FPC/Delphi
|  
+
| use OpenGL for graphics and a real time synthesizer for audio
 
|-
 
|-
 
| SO Engine
 
| SO Engine
Line 96: Line 97:
 
| Powerful free open source cross-platform game engine.
 
| Powerful free open source cross-platform game engine.
 
|-
 
|-
| [[Steam Wrapper]]
+
| raylib
| [https://github.com/thecocce/steamwrapper https://github.com/thecocce/steamwrapper]  
+
| [https://github.com/tazdij/raylib-pas raylib pascal binding]  
 +
| FPC
 +
| A simple and easy-to-use raylib library
 +
|-
 +
| PGF
 +
| [https://github.com/GuvaCode/PGF The Phoenix Game Framework]
 +
| FPC/Lazarus
 +
| The Phoenix Game Framework is a set of classes for helping in the creation of 2D and 3D games in pascal.
 +
|-
 +
| ZenGL
 +
| [http://www.zengl.org ZenGL] [https://github.com/goldsmile/zengl GitHub mirror]
 +
| FPC/Lazarus/Delphi
 +
| Inactive, Cross-platform game development library written in Pascal.
 +
|-
 +
| Apus Game Engine
 +
| http://hg.apus-software.com/Engine3]
 
| FPC/Delphi
 
| FPC/Delphi
| Cross-platform game development wrapper written in Pascal, designed to provide necessary functionality for rendering 2D-graphics,
+
| 2D (with some 3D effects) engine
handling input, sound output, etc.
 
 
|-
 
|-
| [[ZenGL]]
+
| Ray4Laz
| [http://www.zengl.org/ www.zengl.org]  
+
| [https://github.com/GuvaCode/Ray4Laz Ray4Laz]
| FPC/Delphi
+
| FPC/Lazarus
| Cross-platform game development library written in Pascal, designed to provide necessary functionality for rendering 2D-graphics,
+
| is a simple and easy-to-use library to enjoy videogames programming
handling input, sound output, etc.
 
 
|}
 
|}
  
Line 136: Line 150:
 
| FPC/Delphi
 
| FPC/Delphi
 
| Pascal native physics engine by Benjamin Rosseaux.  
 
| Pascal native physics engine by Benjamin Rosseaux.  
|-
 
| PAPPE - PAscal Powerful Physics Engine
 
| [https://sourceforge.net/projects/pappe/ sourceforge.net]
 
| FPC/Delphi
 
| Pascal native physics engine by Benjamin Rosseaux. The engine was deprecated by Kraft
 
|}
 
 
==Games==
 
''Main article: [[Games]]''
 
 
Games written with Free Pascal. Currently active projects commercial, closed or open source. Some more [[Projects_using_Lazarus#Games|here]].
 
 
{| class="wikitable sortable" width="100%"
 
! Name
 
! Site
 
! Open Source
 
! Notes
 
|-
 
| Darkest Before the Dawn
 
| http://castle-engine.sourceforge.net/darkest_before_dawn.php [https://play.google.com/store/apps/details?id=net.sourceforge.castleengine.darkestbeforedawn Google Play (Android version)]
 
| {{Yes}}
 
| Using Castle Game Engine
 
|-
 
| Castle
 
| http://castle-engine.sourceforge.net/castle.php
 
| {{Yes}}
 
| Using Castle Game Engine
 
|-
 
| Diablo Roguelike
 
| [http://diablo.chaosforge.org/ doom.chaosforge.org] [http://sourceforge.net/projects/diablorl/ Sourceforge.net]
 
| {{Yes}}
 
|
 
|-
 
| Doom Roguelike
 
| [http://doom.chaosforge.org/ doom.chaosforge.org]
 
| {{No}}
 
|
 
|-
 
| Escape from the Universe
 
| https://play.google.com/store/apps/details?id=com.catastrophe.games.escape.universe.space.shooter
 
| {{No}}
 
| Using Castle Game Engine
 
|-
 
| HedgeWars
 
| [http://www.hedgewars.org/ www.hedgewars.org]
 
| {{Yes}}
 
|
 
|-
 
| Project "W"
 
| [http://www.pascalgamedevelopment.com/showthread.php?3594-Projekt-quot-W-quot PascalGameDevelopment.com ]
 
| {{No}}
 
|
 
|-
 
| Scrabble 3D
 
| [http://sourceforge.net/projects/scrabble/ sourceforge.net]
 
| {{Yes}}
 
|
 
|-
 
| UltraStar Deluxe
 
| [http://sourceforge.net/projects/ultrastardx/ sourceforge.net]
 
| {{Yes}}
 
|
 
|-
 
| Minimon 3D
 
| [http://www.minimon3d.com http://www.minimon3d.com]
 
| {{No}}
 
|
 
|-
 
| Mountains of Fire
 
| http://castle-engine.sourceforge.net/mountains_of_fire.php
 
| {{Yes}}
 
| Using Castle Game Engine
 
|-
 
| Shu
 
| [http://sourceforge.net/projects/rr-rr sourceforge.net]
 
| {{Yes}}
 
| Interesting looking RPG - in progress
 
|-
 
| Project Helena
 
| [https://sourceforge.net/projects/projecthelena/ sourceforge.net]
 
| {{Yes}}
 
| A game by Eugene Loza
 
|-
 
| Asteroids vs You
 
| [https://github.com/dimsa/ShadowEngine/ github.com], [https://play.google.com/store/apps/details?id=com.ShadowEngine.AsteroidsVsYou Google Play (Android version)]
 
| {{Yes}}
 
| Open Source Demo Game for SO Engine
 
 
|}
 
|}

Revision as of 05:25, 27 December 2020

English (en) français (fr)

Game Development

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.sourceforge.io FPC 2D & 3D, all platforms supported
Quad-Engine quad-engine.com Delphi/FPC/C#/C++ v0.9.0 (Diamond) 2018-01-15
TERRA Game Engine github.com/Relfos/TERRA-Engine 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.com FPC/Delphi For now only OpenGL is supported. No android or other mobile support yet.
g2mp github.com FPC Ideologically replaced Dan Jet X, multiplatform, editor- and code-based development
Andorra 2D sourceforge.net Delphi Last update 2008
CAST II Game Engine http://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 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.com Delphi/FMX Small Crossplatform (Win, Android, iOs) indy engine with formatters, animations, intersections and etc.
DGLE github.com Delphi/FPC/C#/C++ Powerful free open source cross-platform game engine.
raylib raylib pascal binding FPC A simple and easy-to-use raylib library
PGF The Phoenix Game Framework FPC/Lazarus The Phoenix Game Framework is a set of classes for helping in the creation of 2D and 3D games in pascal.
ZenGL ZenGL GitHub mirror FPC/Lazarus/Delphi Inactive, Cross-platform game development library written in Pascal.
Apus Game Engine http://hg.apus-software.com/Engine3] FPC/Delphi 2D (with some 3D effects) engine
Ray4Laz Ray4Laz 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.com FPC/Delphi
Newton www.saschawillems.de Bindings
Box2D-Delphi code.google.com FPC/Delphi This is Delphi implementation of Box2d library
Kraft github.com FPC/Delphi Pascal native physics engine by Benjamin Rosseaux.