Docker image, Android upgrades, Aarch64 optimizations, FMOD on Android
A bunch of improvements of particular interest to mobile (Android, iOS) developers. In completely related news, stay tuned for The Unholy Society on Android and iOS release :)


Updated our Docker image (affects also FPC/Lazarus used to build the default CGE releases) to:

Better code navigation, new units/states creation, new ways to open source code for editing, better integration with Lazarus project
I've done a number of improvements to our editor and build tool to improve the advised organization of a CGE project and allow to comfortably edit Pascal code from CGE editor.

The goal of

Multi-sampling (full-screen anti-aliasing) on iOS
You can now activate multi-sampling on iOS using Window.AntiAliasing := aa4SamplesFaster. You should set this before window is opened, which usually means it should be done in the initialization section of a unit like GameInitialize.

What values of AntiAliasing are actually meaningful?

Internally iOS supports only "none" or "4" multi-sampling values

Many new things: Various editor, glTF, physics, sprite sheets and other improvements. Upcoming more: tutorial, sprite sheet editor, particle system news.
We're busy doing a lot of things :)

The pull request with our own sprite sheet editor and format is in-progress. Thanks to Andrzej Kilij

Many improvements: behaviors attached to TCastleTransform (a bit like MonoBehaviour), alphaMode and alphaCutoff from X3D 4.0 and glTF, Android services docs, loading/saving from TStream
We introduce a new class TCastleBehavior which can be attached to any TCastleTransfor

Castle Game Engine 7.0-alpha.1 release, view3dscene 4.0.0 release
We proudly present the first alpha pre-release of Castle Game Engine 7.0. It is time to break the long period of waiting since CGE 6.4!

We emphasize that it is a pre-release. We're still working on a finished 7.0 release, where all the features are polished, all examples are reorganized to show the new approach, all o

Simplifications, optimizations, GTK backend suitable for testing OpenGLES too
We had a few methods that needlessly traversed whole TCastleTransform hierarchy. Reworking them was an optimization and also an API simplification (IOW, a "no-brainer" :) ). Changes:

TCastleTransform.Press, TCastleTransform.Release are now only called when TCastleTransform.ListenPr

Demo of showing loading progress, WaitForRenderAndCall utility, new TCastleTouchNavigation
We have new TUIState.WaitForRenderAndCall utility, especially useful to implement loading inside TUIState descendant.

Our examples/user_interface/zombie_fighter features now a demo showing loading progress (as a descendant of TUIState, which is our advised approa

Interactive example showing our collision routines, various engine and editor improvements
I made a nice new example to demonstrate our collision checking routines examples/3d_rendering_processing/collisions:

TCastleTransform.Move - move, with collision checking and wall-sliding
Viewport.Items.WorldBoxCollision - detect collisions with axis-

Reading glTF extras (e.g. from Blender custom properties) to X3D metadata, support changing shape collision mode from Blender, documentation improvements
We now read glTF extras data to X3D nodes metadata.

In practical terms, it means that you can set custom properties in Blender, and then read i

Editor improvements: dragging scenes to viewport, undo for gizmos, better docs
You can now drag scene files (like glTF, X3D, images...) from the "Files" bottom panel onto a viewport. It will automatically create a TCastleScene instance with proper URL that displays this model.

The initial translation is determined by the point where you drop the item, with some smart

New TCastleTransformDesign component (like prefab for TCastleTransform), example advanced_editor showing advanced usage of designs and custom components
New component TCastleTransformDesign allows to reference a xxx.castle-transform file inside a parent design. This way you can define a composition o

Lots of optimizations, support for explicit tangents information in glTF and X3D, X3D 4.0 being finalized
As I mentioned in the news post 2 weeks ago, lately I've been following a trail of reworking and optimizing some renderer code. In particular this is important if you do skinned animation in glTF with bump mapping — which is a very common us

Raspberry Pi – binary builds, ready for download
You can now download Castle Game Engine for Raspberry Pi from our main page.

These are ready builds, with the editor, build tool, view3dscene already precompiled, so just download them and run bin/castle-editor and use CGE on your Raspberry Pi. Technically, they are just Linux/Arm builds, and will work on any Linux/Arm system — we simply call them "Ra

Castle Game Engine video overview (focusing on glTF, X3D, view3dscene and graphic features)
In this video I focus on the engine capabilities to render glTF and X3D content with a lot of graphic features. I show also glTF -> X3D conversion capabilities. This video has been originally made for Web3D 2020.

Video introduction to the engine and editor (from MiniDebConfOnline2)
Two weeks ago I made a presentation about Castle Game Engine at a Debian conference MiniDebConf Online #2 “Gaming Edition”. I think it turned out to be a very nice video introduction to the engine, presenting the editor, creating 3D content in Blender, and even using Docker to create an Android build — all wrapp

Shader effects demo
I added a simple demo to show our Compositing Shaders effects used in practice. The demo is available in examples/3d_rendering_processing/shader_effects.

The demo adds an Effect node by code, to a model loaded from glTF, and also shows how to manipulate custom effect parameter (which maps to GLSL uniform) at runtime. These effects use shader code (GLSL, running on GPU) that is automatically integrated with

Optimizations and improvements to our renderer
Last week we did an important fix for glTF skinned animation combined with normalmaps. It fixed the problem with incorrect lighting, but also made the code a little slower in case of skinned animation + normalmaps (we had to turn "off" one optimization). To counteract this, I'm reworking a relevant part of CGE renderer, to not only bring the old optimizat

Using 3ds Max and Maya to create assets for Castle Game Engine
Thanks to our glTF support, you can export to CGE from the latest 3ds Max and Maya versions. We have updated our documentation:

Detailed instructions how to export from 3ds Max

Detailed instructions how to export from Maya

Thanks go to Andrzej Kilijański for updating these pages!

Being an open-source eng

Various improvements (component gallery started, image loading optimizations, metadata, more)
An unorganized list of new things implemented in Castle Game Engine lately:

I started an important engine example: component_gallery. Right now it's an extensive demo of TCastleButton possibilities. It will be extended with more pages soon.

We made si

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!