Castle Game Engine

From Free Pascal wiki
Revision as of 19:40, 7 May 2017 by Michalis (talk | contribs) (New CGE website)

English (en) suomi (fi) français (fr)

Castle Game Engine is a cross-platform 3D and 2D game engine. We provide an easy and extensible API to create and manage 3D objects, with out-of-the-box levels, items, intelligent creatures and more. We support 3D models and animations in various formats, in particular very versatile VRML / X3D, but also Collada, Wavefront OBJ, and (especially nice for 2D animations) Spine JSON. Many graphic features are available, like shadows, bump mapping, mirrors, screen effects, shaders. The engine can be used to compile both standalone games (Linux, Windows, Mac OS X) as well as mobile games (Android, iOS).

Rendering is done through OpenGL or OpenGLES2. You can use Lazarus TCastleControl component, so that engine rendering can be a part of your normal Lazarus form. We also provide TCastleWindow class, specialized in creating windows with OpenGL context for games (with optional menu bars and dialog boxes, all without the need for LCL).

The engine can be used just as a set of units and components. You can also use the engine build tool to easily compile and package your games, e.g. for Android or iOS.

The engine is open-source --- the core engine may be used under GNU LGPL, with "static linking exception" like FPC RTL, so you can make both open- and closed-source games. Developed using a clean Object Pascal, for FPC/Lazarus.

More complete list of engine features


We have a lot of documentation about using the engine:

  1. Getting Started
  2. Manual
  3. Guide to creating game data
  4. API reference


VRML/X3D browser in Lazarus:

kambi vrml browser.jpg

FPS example game:

castle game engine fps game.jpg


See Castle Game Engine YouTube channel for all videos. Most interesting:

Enjoy! Author: Michalis Kamburelis