Android and iOS improvements, Docker and releases upgrade to FPC 3.2.2
A few loosely connected improvements for building and mobile devices:


Fixed building on Android when the project folder contained spaces. We no longer use ndk-build that cannot cope with that.

Fixed (well, workarounded) crashes on Snapdragon (Adreno) Android devices when using paral

Compiling From Sources
Do you want to compile Castle Game Engine yourself, from our source code? As this is the first step toward contributing in the engine development, we can only encourage it :)

We now have a detailed documentation how to compile CGE from sources yourself.

And we have a video recording of this process on Linux:

Sprite Sheets in Castle Game Engine – Video Demonstration
Watch the latest video on our channel — demonstration how to create and edit sprite sheets completely in Castle Game Engine, how to put them on the scene, how to load Starling and Cocos2d sprite sheets and more! With thousand thanks to Andrzej Kilijański for presenting this, after implementing all features and examples shown here:)

Platformer demo released on
Have a lovely Sunday!

And play our platformer demo, if you haven't already :) We have compiled version of the game, for Windows and Linux, ready here:

You can download it manually as a zip file, or using comfortable App.

We have also updated Castle Game Engine page to represent the engine better.

For developers, an

New manual chapter that introduces editor and states, more manual and website updates, “Register Lazarus Packages” button
I am deep in making big updates to the manual, to document the usage of editor and other concepts that become important during the CGE 7.0 development.

We start with new 1st and 2nd manual chapters:

Packaging to Android App Bundle
You can now easily package Android games using Castle Game Engine to the AAB format (instead of APK). New Build Tool command-line options allow to execute:

castle-engine package --target=android --package-format=android-app-bundle

Will package to the new AAB format.

castle-engine package --target=android --package-format=android-apk

Will package to the trad

Adding behaviors in CGE editor (TCastleBillboard, TCastleSoundSource)
You can now add/remove behaviors using the CGE editor. "Behaviors" are components that enhance the behavior of the parent TCastleTransform. We have a few of them included in CGE, and you can define more ("3D FPS Game" template shows a trivial behavior of an enemy).

If you come from Unity, know that "creating TCa

Non-Visual Components in Editor
You can now edit any TComponent descendant in CGE editor. I expect to use it intensively to design basically everything in the editor.

The non-visual components registered automatically (and thus available by default in CGE editor) are:

Fonts: TCastleBitmapFont, TCastleFontFamily, TCastleFont — described in the previous news about fonts.

TCastleSound — describes a so

Kryftolike – a roguelike-like hide-and seek game using Castle Game Engine
A new Free and Open Source game made in Castle Game Engine: Kryftolike - a hide-and-seek roguelite game where the Player hides from monsters and seeks treasure in an infinite procedurally-generated map.  Danger awaits around every corner.

Source code: Kryftolike at GitLab (Also an example of efficient

Installing FPC and Lazarus using FpcUpDeluxe
This video shows how to install FPC and Lazarus (Pascal compiler and IDE) using FpcUpDeluxe. This process is also documented here. The video shows the process on Linux, with some Linux-specific details (like setting up symlinks in /usr/local/bin).

This method of installation allows you to choose any FPC/Lazarus version (stable, development), switch between m

Font classes upgraded and available in CGE editor
You can now add and configure fonts in CGE editor.

Use the "Design -> Add Non-Visual Component" menu item, or the context menu (when you right-click in the hierarchy on the left). Font is added as "Non-Visual Component" to whatever parent you selected.

The parent that keeps reference to the font node can be anything -- TCastleCompone

Big merge with new features: non-visual components in editor, fonts (TTF and bitmap) in editor, sounds in editor, completely new sound API, behaviors and billboards, FMOD
I just merged to Castle Game Engine master branch a big work that I've been doing for the past 6 weeks (exactly 200 c

Big update to “platformer” demo, fixes, and development coming soon: behaviors in editor, fonts in editor, sounds in editor, new sound API, new Debian packaging
We have a big update to our examples/platformer demo. It is now a complete demo of a platformer game, with

Level (and all UI)

Easy Text (in 3D) and primitives (Box, Sphere, Plane, Cone, Cylinder) components; also upcoming editor plans for new components
New components in Castle Game Engine that you can place inside the viewport

We have a few new components in CGE, working perfectly with CGE editor:


Various build tool improvements
Our build tool got a few minor improvements/fixes lately:

Build tool now supports executable_permission attribute to package some additional files with Unix executable bit set. In general useful by applications that have more than 1 executable. Used now by view3dscene manifest so that it packages tovrmlx3d binary with executable permissions.

Build tool now warns if y

Use custom code editor (Emacs, Atom, VS Code…) when opening Pascal source from CGE editor
A small but important improvement to our CGE editor: Now various commands that open Pascal files can use your custom editor, configured in Preferences -> Code Editor. By default we keep invoking Lazarus but you can now freely change it.

This affects a few editor commands:

GPU-based 3D particle system, and upgraded 2D particle system for Castle Game Engine
With huge thanks to Trung Le (Kagamma), we have a new 3D particle system for CGE, and serious upgrades to the existing 2D particle system:

The 2D particle system has now an alternative GPU-based implementation.

It allows to render 1 million particles on the screen

More permissive license to use our examples code
We change the license of our examples (stuff in examples/ subdirectory) to be more permissive. Namely, all our example code and almost all our example data are now covered by the modified BSD (3-clause) license. It's a very permissive license that basically says "we keep our copyright, but otherwise do what you want with these files, modify them as yo

Automatic downscaled textures can be now specific to a platform
We improve the process of automatic texture downscaling. The automatic downscaling is determined by data/material_properties.xml file and documented here. The new features are:

Ability to specify any set of scales, not necessarily a continuous range.

Ability to specify that some scale values are packaged

Various improvements (2D navigation, PhysicsRayCast, examples upgrades, important bugfixes)
The navigation in 2D viewports (with orthographic projection and standard direction/up: -Z/+Y) is now much better. We have a new algorithm TCastleExamineNavigation.ExactMovement that makes the navigation more natural, and we have a dedicated TCastle2DNavigation class (des

Show older

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!