"Castle Game Engine" is an open-source cross-platform 3D and 2D game engine.
We have many graphic features (physically-based rendering, shadows, mirrors, screen effects, gamma correction...) and support many data formats for game assets (glTF, X3D, Spine JSON, Collada, ...). We have many user-interface components, with a powerful viewport to display 3D or 2D content. We're cross-platform (desktop, mobile, Nintendo Switch).
See https://castle-engine.io/features.php for the complete list of engine features.
Documentation:
-
Manual is the most recommended way to learn the engine.
-
It is also available offline in the engine archive (if you downloaded the binary engine release), just open the file
doc/reference/index.html
in your WWW browser. -
Numerous examples are provided in the
examples/
subdirectory.
Questions? Talk to us on forum or Discord chat.
See the Installation and building your first application manual page.
If you got this source code straight from our GitHub repository then read first Compiling from source.
In short:
-
Our editor is used to design and build your applications.
-
Our build tool is used to build your applications from the command-line.
Both the build tool and editor use the project settings from the CastleEngineManifest.xml file.
-
You can also use Lazarus ( https://www.lazarus-ide.org/ ).
Install in Lazarus two packages:
- packages/castle_base.lpk and
- packages/castle_components.lpk
Also, compile (but don't install) this package:
- packages/castle_window.lpk
-
You can also use FPC fpmake / fppkg. See https://castle-engine.io/fpmake
The engine is available on the terms of LGPL >= 2 license with "static linking exception". This is the same license as used by FPC RTL and Lazarus LCL. In short, you can make commercial and closed-source games using the engine, you only have to share your modifications to the engine core. See COPYING.md for details.
Have fun!
This is the life project of Michalis Kamburelis.
Thank you to all the contributors for developing the engine with me throughout the years. Keep it going please :)