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
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 https://github.com/valterb/sprite-demo-castle-engine.
Citing from the README:
Demo is divided into two parts:
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
We have a new Castle Game Engine forum: https://forum.castle-engine.io/ .
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:
SpriteSheet GUI utility
A new application to manipulate sprite sheets: https://github.com/valterb/spritesheet-utility , thanks to Valter Buccina!
It is a GUI application for Windows.
Load the necessary images and create the spritesheet.
Flip and resize individual images (with or without constraints of proportions). It might be useful for creating spritesheets in the opposite directions.
Swappy Jigsaw – Puzzle Game using Castle Game Engine
With big thanks to Eugene Loza, we can celebrate new year with a new game using Castle Game Engine!
Swappy Jigsaw is a simple jigsaw puzzle game, where you have to unravel an image split into many tiles. Click to pick a tile and click another tile to swap them. There are 84 images total. The game is made in Castle Game Engine (Lazarus/FreeP
Tiled Maps improvements
Many new features in our integration with Tiled, a cool open-source 2D map editor. They all can be tested by the examples/tiled/map_viewer application from the Castle Game Engine sources on GitHub.
This work is sponsored by supporters of Castle Game Engine on Patreon. You asked for a Tiled demo, it is in progress now:) Thank you for supporting the engine!
Tiled integration improvements:
Database-aware demo using Castle Game Engine UI
You asked on Patreon can we have database-aware controls in CGE UI. Of course! :)
I present a simple implementation of a database-aware edit box using Castle Game Engine user interface. The repository https://github.com/castle-engine/castle-db-aware-controls contains an implementation and demo of TCastleDBEdit. It is a database-aware edit box (analog
glTF 2.0 in Castle Game Engine
Castle Game Engine and view3dscene can now open glTF 2.0 model format. glTF is an efficient, modern 3D model format developed by Khronos.
Basic features of glTF are supported for now:
hierarchy of transformations,
meshes (with various primitive modes allowed, with Appearance nodes shared as much as possible),
materials (but without PBR for now; we just use glTF baseColor as Phong diffuseColor now)
November Engine Features (Part 6 (and last, for now)): Planets rendering demo
A new Castle Game Engine demo shows rendering of an Earth, Moon and a satellite (exported from Blender with normal maps), and animating their transformations by code. This demo was created thanks to the support of Doug Chamberlin on Patreon. Thank you![...]
November Engine Features (Part 5): Sprites (example and tool to create sprite sheets), examine camera improvements
A new example how to render sprites using the TSprite class was added: look in the examples/sprite_sheets/sprite_sheet_animation directory. Also, a simple tool to create a sprite sheet from a sequence of images is now available in the examples/sprite_sheets/combine_images_into_sprite_sheet directory. New features of TExamineCamera: Disabl[...]
Author of Castle Game Engine, developer at Cat-astrophe Games. I like open-source, game and web development, and modern Pascal.
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!