Streaming sound tracks, FMOD linking improved
Our sound engine now supports streaming sounds.

"Streaming" means that we decompress the sound (like OggVorbis) during playback, in parts (as needed). This technique allows much faster sound loading (loading sound as "streamed" is almost instant). It adds a small run-time overhead to playing given sound, although in practice it is not noticeable at all

ASTC texture compression, progress of engine Delphi compatibility
Castle Game Engine now supports ASTC, which is a great GPU compresion method available on most modern mobile devices (Android and iOS). You can easily compress your textures, and then use them at runtime, using the appropriate declaration in material_properties.xml file.

The usage is described in details in ASTC c

Improvements to AdMob service, list of engine features added since last release, and more articles about CGE from Andrzej Kilijański
Andrzej Kilijański wrote a few very nice articles about Castle Game Engine recently:

Updates in Castle Game Engine Admob Service (also available in Polish) describing his recent impr

Localization improvements (and a Japanese version of “Escape from the Universe”)
I implemented a new comfortable workflow for localization using the CastleLocalizationGetText unit. It is documented in details in the manual about localization and is demonstrated by a revised examples/localization/gettext/ demo.

It was tested by localizing to Japanese an upcoming relea

Many Animations Improvements: glTF, simultaneous anims, view3dscene panel, optimizations
Animating transformations (translation, rotation, scale) from the glTF format is supported now. Playing, cross-fading and resetting the animations is now optimized, and exposes some new features. New methods available now: TCastleSceneCore.StopAnimation TCastleSceneCore.ResetA

Physics collision detection and new properties
We now support collision detection using our physics engine (Kraft). You can be notified when a particular object collides, and you can check with what it collided. Big thanks for implementing this feature go to Andrzej Kilijański! Collisions can be checked in two ways: By getting a list of colliding TRigidBody objects from TRigidBody.GetCollidingTransfo

May Engine Features – FMOD, warmup cache, FpMake and InstantFPC docs…
First of all, sorry for posting so seldom recently. At Cat-astrophe Games we have been working on our first title on Nintendo Switch, of course using CGE! Many of the new features described below are a result of that, and of course you can use them already, they are part of Castle Game Engine 6.5. […]

New sound features: alternative backends, new demo, aliases

Our sound engine was refactored to support various backends. There are 3 backends available now:

OpenAL (full-featured, with spatial (3D) sound support),

SOX (only useful for testing — executes command-line sox to play files),

and Nintendo Switch sound backend (not open-source, only available for dev

Castle Game Engine 6.5 “Beta” available for download, many editor and release improvements

First of all, notice that big shiny button on the main page to download CGE version 6.5. Try it out!

While we work on making next stable 6.6 (or maybe 7.0?) release perfect, you should enjoy using the latest 6.5 snapshot. It's in practice very stable (at Cat-astrop

Engine news (6.5 release snapshots, improvements to editor, TCastleWindowBase, joysticks and more)

You can now download Castle Game Engine 6.5 "snapshot" (build from the latest GitHub code) from here.

Until I release a stable Castle Game Engine 6.6, this is the easiest way to test the very latest CGE features (including new GUI editor). I'm work

Castle Game Engine supports Nintendo Switch!

Castle Game Engine now supports compiling your games to the Nintendo Switch console ! It is a full integration, really 100% of the engine works on Nintendo Switch. From the developer point of view, you just write cross-platform Pascal code using CGE units, and then you can recompile the application using the Castle Game Engine build tool with --target=ninten

Facebook and AppsFlyer integration on Android

Two new services are now available on Android:

Facebook - allows to connect your mobile application with Facebook application, and report analytics to Facebook. You can also log custom event "level achieved".
Apps Flyer - connects your application to AppsFlyer, which allows to gather statistics how your application was installed.

Android improvements – shadow maps, 64-bit support, upgrades and fixes

Shadow maps work on OpenGLES (Android and iOS) now!

The Android building tools, which are part of our build tool, were updated. We use a new version of Gradle and Android Gradle Plugin under the hood, and by default we compile using Android platform 27. The minimal supported Android version is lower of course — it

Documentation improvements

Because people will read again, I improved various parts of our documentation:

New page about using CastleSettings.xml to easily configure UI scaling and default font, in a way that can be applied in game as well as in the CGE editor.

Our Coding Conventions (and some related notes about contributing code to the engine) are now on our wiki. It's long, so here's a short version: write a

Sprite Demo from Valter Buccina

Valter Buccina made a demo application using sprites in Castle Game Engine.

The demo is available on

Citing from the README:

Demo is divided into two parts:

Road demo

The first shows with extreme precision the direction of the sprite in degrees. Using mouse click coordinates and Player position I apply t

New rendering capabilities

New Appearance.alphaChannel field (TAppearanceNode.AlphaChannel in Pascal) determines alpha channel treatment when rendering a shape with given appearance. We can use alpha testing, alpha blending, or ignore the alpha channel (render as opaque).

This field overrides the engine auto-detection "how to treat alpha", which normally looks at Material.trasparent and the alpha channels of te

New Forum

We have a new Castle Game Engine forum: .

It is using an open-source Discourse platform. It should be significantly better than the old forum :)

The forum is also integrated with Wordpress (used for engine news). All Wordpress news will result in Discourse posts (in the forum news category), and comments under post are leading to Discourse.

New user interface capabilities

The font rendering behaves better when the text contains a character that we cannot render: it displays a fallback glyph (usually "?") and makes a warning (using WritelnWarning, so it goes to log). This allows to easily spot missing characters in the font and makes backspace working sensibly if you input a character which glyph isn't supported.

You can toggle this by settin

Using Castle Game Engine with Docker

We have a Docker image that you can use to easily get Castle Game Engine along with prerequisites (like FPC with various cross-compilers): kambi/castle-engine-cloud-builds-tools image on Docker hub .

If you're new to Docker, I wrote a nice description how to use Docker with CGE. Basically, instead of installing CGE, FPC, Android SDK/NDK... you can just get a Docker image.

Strategy Game Demo using CGE and Tiled

I'm happy to present a new large Castle Game Engine demo: "Aliens vs Humans". It is a simple strategy game with maps designed using Tiled.

The demo is in the examples/tiled/strategy_game_demo/ directory of our source code. You can also download precompiled versions for Windows or Linux.

Our Tiled maps API was enhanced with various methods to make writing games easy:

Show more

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!