Skip to content

castle-engine/castle-engine

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
doc
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Castle Game Engine

"Castle Game Engine" is a cross-platform (desktop, mobile, console) 3D and 2D game engine.

Castle Game Engine - editor with terrain

We feature:

  • Powerful visual editor to design 3D and 2D games.

  • A lot of components to design viewport contents (3D and 2D world, using scenes, cameras, navigation, primitives, lights...) and user inteface (buttons, images, labels...).

  • Support for glTF, X3D, Spine and more formats.

  • Composable shader effects, shadows, mirrors, physically based rendering, bump mapping, gamma correction...

  • Fast clean code using modern Pascal.

  • We are free and open-source.

See https://castle-engine.io/features for the complete list of engine features.

Installation and building your first application

See the Installation manual page.

We recommend you download the engine from our downloads, unpack the release and then run bin/castle-editor executable inside.

If you got the source code straight from our GitHub repository then read first Compiling from source.

Usage 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. Be sure to register Lazarus packages using the button in CGE editor "Preferences -> FPC and Lazarus -> Register Lazarus Packages".

  • You can also use Visual Studio Code. We feature a Pascal LSP server that can do code completion for Pascal and CGE API.

Documentation

  • Manual is the most recommended way to learn the engine.

  • API reference.

    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.

  • Guide to creating game data.

Support

Questions? Talk to us on forum or Discord chat.

Support us on Patreon.

License

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 license for details.

Have fun!

Authors

This is the life project of Michalis Kamburelis.

Thank you to all the contributors and supporters for making the engine with me throughout the years. Keep it going please :)