Sign in

Castle Game Engine

@castle-engine.io
55 followers 11 following 61 posts

Cross-platform (desktop, mobile, console) 3D and 2D game engine. Powerful visual editor. Support for glTF, X3D, Spine and more. Fast clean code using modern Pascal. Free and open-source. castle-engine.io

PostsRepliesMedia
Castle Game Engine @castle-engine.io · 30/09/2026
AnsiString vs Utf8String properly declared, Delphi: we no longer force AnsiString to UTF-8 ( This announcement is a bit non-exciting small improvement around the engine codebase. For something more exciting, that I was working on through September, see the screenshot attached here :), and stay…
castle-engine.io
AnsiString vs Utf8String properly declared, Delphi: we no longer force AnsiString to UTF-8
( This announcement is a bit non-exciting small improvement around the engine codebase. For something more exciting, that I was working on through September, see the screenshot attached here :), and stay tuned for more news soon. ) Previously, our engine did SetMultiByteConversionCodePage(CP_UTF8) forcing all AnsiStrings (with both FPC and Delphi) to have UTF-8 encoding. This is also consistent with what Lazarus LCL was (and still is) doing.
000
Castle Game Engine @castle-engine.io · 05/09/2026
Everyone! Book a meeting with me to talk about Castle Game Engine Hey everyone! Use this Book a Meeting link to schedule a meeting with me (I'm Michalis Kamburelis, Castle Game Engine lead). Yes, I mean you. Do it right now. Don't hesitate. Stop reading now, and click that link! You're still…
castle-engine.io
Everyone! Book a meeting with me to talk about Castle Game Engine
Hey everyone! Use this Book a Meeting link to schedule a meeting with me (I'm Michalis Kamburelis, Castle Game Engine lead). Yes, I mean you. Do it right now. Don't hesitate. Stop reading now, and click that link! You're still reading? Let me give some examples what we can talk about: If you use the engine, and want to show me…
043
Castle Game Engine @castle-engine.io · 26/08/2026
Particle system updates (custom shaders, web support), FreeCAD -> X3D exporter, documentation (exe size, 2D, easy link to API), geometry shader fixes #CastleEngine #GameDev #Pascal #Shaders #x3d
castle-engine.io
Particle system updates (custom shaders, web support), FreeCAD -> X3D exporter, documentation (exe size, 2D, easy link to API), geometry shader fixes
Forgive us for a calm August without the usual weekly announcements, as Michalis spent most of the month on a family vacation. Stay tuned for an upcoming news post about a feature he made when his wife wasn't watching: Android and iOS compatibility with Delphi 🙂 Until then, here are a number of announcements you can enjoy right now -- with big thanks to everyone using the engine and building the ecosystem around it:
081
Castle Game Engine @castle-engine.io · 02/08/2026
Pointer lock (mouse look) on the web — plus a big refactor and Windows improvements Note that I sent a sneak preview of this news using Patreon Quip earlier this week. I plan to experiment with Quips more in the future. The "quips" are visible to everyone, you can install the Patreon mobile app to…
castle-engine.io
Pointer lock (mouse look) on the web — plus a big refactor and Windows improvements
Note that I sent a sneak preview of this news using Patreon Quip earlier this week. I plan to experiment with Quips more in the future. The "quips" are visible to everyone, you can install the Patreon mobile app to get notifications about them, or just view the Patreon page with Quips. Of course, I will also continue to send longer posts (on…
010
Castle Game Engine @castle-engine.io · 25/07/2026
Toggle visibility of a group of X3D / glTF nodes #CastleEngine #GameDev #glTF #Pascal #x3d
castle-engine.io
Toggle visibility of a group of X3D / glTF nodes
We support now visible field on various X3D nodes: Inline node. This is when looking at the graph from Pascal. and on all X3DGroupingNode descendants, including Transform and Group. These are , , in Pascal. We also support very similar glTF extension KHR_node_visibility. The logic of this glTF extension directly maps to X3D visible field. The main use-case is to toggle visibility of a group of visual things at run-time.
062
Castle Game Engine @castle-engine.io · 17/07/2026
Web: water, terrain, shadow maps, alpha treatment, keys on losing focus Rendering to texture (FBO, our ) works now on the web. This enables a few features on the web: Water, with reflections and waves, visible in the terrain demo (source code in examples/terrain/) is correct now on the web. Screen…
castle-engine.io
Web: water, terrain, shadow maps, alpha treatment, keys on losing focus
Rendering to texture (FBO, our ) works now on the web. This enables a few features on the web: Water, with reflections and waves, visible in the terrain demo (source code in examples/terrain/) is correct now on the web. Screen (Post-Processing) Effects work on the web now. screen_effects_demo demo (source code in examples/screen_effects_demo/). Model viewer…
020
Castle Game Engine @castle-engine.io · 15/07/2026
Windows downloads now code-signed – no more Smart App Control blocks. Plus smaller downloads (7z, tar.xz) Our downloads for Windows include now all the executables code-signed, which means that they are trusted and running the engine will raise fewer alarms from various Windows protection tools.…
castle-engine.io
Windows downloads now code-signed – no more Smart App Control blocks. Plus smaller downloads (7z, tar.xz)
Our downloads for Windows include now all the executables code-signed, which means that they are trusted and running the engine will raise fewer alarms from various Windows protection tools. In particular, "Smart App Control" (mentioned also in past news) will no longer block us, randomly preventing you from running compilers or your applications. This applies to all our downloads, including the automatic snapshots made after every commit+push.
010
Castle Game Engine @castle-engine.io · 05/07/2026
Delphi improvements: build tool uses msbuild, allows to pick Delphi version, better generated DPROJ, hints to fix PAServer on Linux and linking on macOS We improved how our engine tools (build tool and editor) call Delphi. These improvements take us closer to making our engine compatible with…
castle-engine.io
Delphi improvements: build tool uses msbuild, allows to pick Delphi version, better generated DPROJ, hints to fix PAServer on Linux and linking on macOS
We improved how our engine tools (build tool and editor) call Delphi. These improvements take us closer to making our engine compatible with Delphi for Android, iOS and macOS and improve how you can build with Delphi from shell (e.g. from Continuous Integration workflows) for all platforms. First of all, our build tool, when using Delphi (pass…
010
Castle Game Engine @castle-engine.io · 29/06/2026
Review of the engine by Claude Code yielded 11 bug-fixes. The good, the bad about the experience, how you can do this in your own codebase, Docker SBX and more I gave Claude a long-running task: Review every file of Castle Game Engine. The process found 11 "real" bugs (something was indeed a bug…
castle-engine.io
Review of the engine by Claude Code yielded 11 bug-fixes. The good, the bad about the experience, how you can do this in your own codebase, Docker SBX and more
I gave Claude a long-running task: Review every file of Castle Game Engine. The process found 11 "real" bugs (something was indeed a bug in the engine, and it could be a bug in real-life applications using the engine) which we promptly fixed. So I'm happy:) See the "Detailed Stats" section at the end for all the numbers. I will describe the process below, to give some pointers how to do it on your own codebases.
021
Castle Game Engine @castle-engine.io · 28/06/2026
TCastleProcess and ExecuteCommand available with both FPC and Delphi, no more cryptic “Failed to execute  : 4551” when Windows “Smart App Control” blocks us We refactored our process running code (when one application wants to run another). This is used throughout our tools (build tool, editor)…
castle-engine.io
TCastleProcess and ExecuteCommand available with both FPC and Delphi, no more cryptic “Failed to execute  : 4551” when Windows “Smart App Control” blocks us
We refactored our process running code (when one application wants to run another). This is used throughout our tools (build tool, editor) but we also have uses for it in the engine itself. Refactoring this into a nice unit gives us more possibilities, for now and for the future:) The code is now in a nice unit…
030
Castle Game Engine @castle-engine.io · 05/06/2026
Music Player example application, important fixes around audio and skinned animation
castle-engine.io
Music Player example application, important fixes around audio and skinned animation
We have a new example: Music Player, a simple application that allows to play a chosen audio track with UI similar to typical mobile music/audiobook players. This example has a nice backstory: For Mother's Day (which is 26th May in Poland) my daughter and I made a gift for The Wife: a private application (Android apk) with a few audio tracks just for her.
000
Castle Game Engine @castle-engine.io · 31/05/2026
Web: bump mapping, clip planes, fog, terrain, occlusion culling; also Unholy Society demo on web updated Shaders on web fixes: Our shaders on the web platform can render now all our effects: Bump mapping (normal maps). As shown by demos: bump_mapping (source code). creature_behaviors (source…
castle-engine.io
Web: bump mapping, clip planes, fog, terrain, occlusion culling; also Unholy Society demo on web updated
Shaders on web fixes: Our shaders on the web platform can render now all our effects: Bump mapping (normal maps). As shown by demos: bump_mapping (source code). creature_behaviors (source code). third_person_navigation (source code). game_3d_sound (source code). ClipPlane X3D node, useful to clip part of 3D/2D content when rendering. The node can be instantiated using Pascal class or by writing X3D file like this:
010
Castle Game Engine @castle-engine.io · 15/05/2026
Audio (sound, music) on the web, sound API improvements (arbitrary channels, float frequency etc.) We have implemented audio playback on the web. Underneath we use WebAudio API but you don't really need to know anything about it -- just use Castle Game Engine sound API and components and…
castle-engine.io
Audio (sound, music) on the web, sound API improvements (arbitrary channels, float frequency etc.)
We have implemented audio playback on the web. Underneath we use WebAudio API but you don't really need to know anything about it -- just use Castle Game Engine sound API and components and everything will work on the web. Try these examples (links below lead to ready builds -- they should work out-of-the-box in your browser): Platformer game…
021
Castle Game Engine @castle-engine.io · 01/05/2026
More April News: training timer demo, delayed view changes, URL processing on save, how to easier install web compiler, notes on copyright and AI, in progress: audio on web We already announced some new features in April (PLY, InlineGeometry, web: URL parameters and TCastleDownload). Below we…
castle-engine.io
More April News: training timer demo, delayed view changes, URL processing on save, how to easier install web compiler, notes on copyright and AI, in progress: audio on web
We already announced some new features in April (PLY, InlineGeometry, web: URL parameters and TCastleDownload). Below we report more goodies 🙂 Enjoy! Check out Training Timer 2: Zero Time project by Serufu Yua, available for Windows and Android. Downloads on itch.io and source code on GitHub (thank you!). See also ready UI list box components…
010
Castle Game Engine @castle-engine.io · 26/04/2026
Web target: getting URL parameters, downloading resources using TCastleDownload We add 2 new features to our web target: New methods to read URL through which your page was accessed, and get query parameters of this URL. The use-case is creating webpages that react to URL parameters, e.g. expose a…
castle-engine.io
Web target: getting URL parameters, downloading resources using TCastleDownload
We add 2 new features to our web target: New methods to read URL through which your page was accessed, and get query parameters of this URL. The use-case is creating webpages that react to URL parameters, e.g. expose a model viewer on URL like (working version of this coming soon!). Use these methods: - get entire URL as a string,
020
Castle Game Engine @castle-engine.io · 06/04/2026
Support for PLY model format and InlineGeometry node We support now loading models in PLY format, commonly used for 3D scanning and printing. We support all common variants, which means ASCII and binary with any endianness. We support both models with faces (loaded to ) and without (loaded to ).…
castle-engine.io
Support for PLY model format and InlineGeometry node
We support now loading models in PLY format, commonly used for 3D scanning and printing. We support all common variants, which means ASCII and binary with any endianness. We support both models with faces (loaded to ) and without (loaded to ). As usual, "support" means we support them everywhere in our engine and tools. In particular Castle Model Viewer…
041
Castle Game Engine @castle-engine.io · 30/03/2026
PasDoc 1.0.0 release with with many features and fixes: modern HTML look, show source position, visibility of membes toggleable, show inherited members… This a bit non-standard news post: I wanted to announce a new release of PasDoc, documentation generator we use to create Castle Game Engine API…
castle-engine.io
PasDoc 1.0.0 release with with many features and fixes: modern HTML look, show source position, visibility of membes toggleable, show inherited members…
This a bit non-standard news post: I wanted to announce a new release of PasDoc, documentation generator we use to create Castle Game Engine API docs. PasDoc is a documentation generator for Pascal source code. Documentation is generated from comments found in the source code (or in special description files). We support many output formats, like HTML, LaTeX (for PDF, PS), XML and PHP.
083
Castle Game Engine @castle-engine.io · 01/03/2026
Tower Fight game by Phomm, various engine fixes (GTK 3 and Wayland, float textures and Skin and web, macOS editor…) and website updates Phomm posted about a cool new game he made in our forum: Tower Fight - Samurai Arcade for testing math skills. Available for various platforms including web. I…
castle-engine.io
Tower Fight game by Phomm, various engine fixes (GTK 3 and Wayland, float textures and Skin and web, macOS editor…) and website updates
Phomm posted about a cool new game he made in our forum: Tower Fight - Samurai Arcade for testing math skills. Available for various platforms including web. I recommend also his accompanying post about deploying web builds on itch.io for great instructions how to release your web games on itch.io. There's a lot of more in that thread, including our immediate plans for more work on the web -- stay tuned:)
020
Castle Game Engine @castle-engine.io · 23/02/2026
AI usage guidelines and thoughts updated, and… test of vibe-coding with Castle Game Engine As most of us, I spend lately considerable amount of time researching and talking about AI implications (for coding and beyond). It's a big subject. The technology offers us various applications, and various…
castle-engine.io
AI usage guidelines and thoughts updated, and… test of vibe-coding with Castle Game Engine
As most of us, I spend lately considerable amount of time researching and talking about AI implications (for coding and beyond). It's a big subject. The technology offers us various applications, and various new ways for misuse too. I think the following statement manages to summarize my hopes + concerns best: When working to solve the problem, we should be gaining understanding, not losing it.
020
Castle Game Engine @castle-engine.io · 09/02/2026
Upgrade to GTK 3 We are upgrading our engine usage on Linux and FreeBSD from GTK 2 to GTK 3. Our installation instructions and scripts include now information to add GTK 3 packages. This is as simple as installing libgtk-3-dev package on Debian-based systems (including Ubuntu and Raspberry Pi).…
castle-engine.io
Upgrade to GTK 3
We are upgrading our engine usage on Linux and FreeBSD from GTK 2 to GTK 3. Our installation instructions and scripts include now information to add GTK 3 packages. This is as simple as installing libgtk-3-dev package on Debian-based systems (including Ubuntu and Raspberry Pi). See the compiling from source for instructions for other distros. Our under the hood uses now GTK 3 instead of GTK 2 (on Linux and FreeBSD).
041
Castle Game Engine @castle-engine.io · 02/02/2026
macOS improvements: work flawlessly on Apple Silicon (Aarch64), bundled with FPC, signed and notarized; Cocoa mouse positioning; fixes to OnDropFiles; universal binary support We are proud to announce numerous improvements to how our engine works on macOS: As hinted in previous news, our macOS…
castle-engine.io
macOS improvements: work flawlessly on Apple Silicon (Aarch64), bundled with FPC, signed and notarized; Cocoa mouse positioning; fixes to OnDropFiles; universal binary support
We are proud to announce numerous improvements to how our engine works on macOS: As hinted in previous news, our macOS builds are now provided with "bundled FPC" which means that building your games works out-of-the-box with our engine. Castle Game Engine downloads now feature a native macOS/Silicon (Aarch64) build. With everything working natively on Apple Silicon, including our engine, tools, and bundled FPC.
082
Castle Game Engine @castle-engine.io · 18/01/2026
Engine downloads with "bundled FPC" for all platforms, castle-build-ci to easily use CI with our engine, Woodpecker (Codeberg) CI examples and impressions
castle-engine.io
Engine downloads with “bundled FPC” for all platforms, castle-build-ci to easily use CI with our engine, Woodpecker (Codeberg) CI examples and impressions
We have a number of news related to using CI (continuous integration) / CD (continuous delivery) with our engine. The idea of CI / CD is that you let some automatic process to be performed on your code, usually each time you make a commit / push to the repository. There are a number of useful things you can do this way (e.g.
062
Castle Game Engine @castle-engine.io · 30/12/2025
December news (unlimited skin joints on shaders, PointProperties), and plans for 2026 (next release, signpath, better macOS Silicon, shadow maps…) Hello everyone! I hope you have a peaceful time at the end of December and spend it doing what you love -- whether it means developing games, or…
castle-engine.io
December news (unlimited skin joints on shaders, PointProperties), and plans for 2026 (next release, signpath, better macOS Silicon, shadow maps…)
Hello everyone! I hope you have a peaceful time at the end of December and spend it doing what you love -- whether it means developing games, or playing games, or just resting (and thinking about games) 🙂 I wanted to share some of the recent engine developments and plans for the nearest future. First of all, I have to admit I failed.
041
Castle Game Engine @castle-engine.io · 01/12/2025
November improvements: huge animation upgrade, guidelines about AI usage, Codeberg mirror, various fixes We have a few things to report from November. Enjoy 🙂 We have merged a big branch with numerous improvements to our animation handling (skinned animation and other). The important new…
castle-engine.io
November improvements: huge animation upgrade, guidelines about AI usage, Codeberg mirror, various fixes
We have a few things to report from November. Enjoy 🙂 We have merged a big branch with numerous improvements to our animation handling (skinned animation and other). The important new functionality is documented here. This merge features: Skinned animation loaded from glTF is now performed on GPU (mesh is deformed using shaders). This allows such animations to be loaded much faster, take much less memory, and be more efficient at the same time.
0101
Castle Game Engine @castle-engine.io · 02/11/2025
Various October Improvements – VS Code and VS Codium, Google Play 16k requirement, Nintendo Switch update We released a new version (1.6) of our extension to integrate with VS Code: We fixed how it detects OS on win64. This in turn fixes Code Completion, jumping to declaration and other LSP…
castle-engine.io
Various October Improvements – VS Code and VS Codium, Google Play 16k requirement, Nintendo Switch update
We released a new version (1.6) of our extension to integrate with VS Code: We fixed how it detects OS on win64. This in turn fixes Code Completion, jumping to declaration and other LSP features on Win64. In addition to the VS Code marketplace, we're now also in OpenVSX marketplace. This means that you can use our extension in…
051
Castle Game Engine @castle-engine.io · 25/10/2025
KTX support improvements, ability to load images faster Our support for the KTX image format was greatly improved, to make it the best format for images (in some cases -- when you don't care about image size on disk, but care about loading time). Note that the post below discusses various details,…
castle-engine.io
KTX support improvements, ability to load images faster
Our support for the KTX image format was greatly improved, to make it the best format for images (in some cases -- when you don't care about image size on disk, but care about loading time). Note that the post below discusses various details, but you don't really to do anything special to benefit from these improvements. Just use KTX, as any other image, for your textures / images.
051
Castle Game Engine @castle-engine.io · 18/10/2025
Demo how to distribute web application with encrypted data We present a demo showing how you can keep your web application data encrypted (with decryption key embedded in your application code). By default, when you build a web application, the data is packed into a ZIP file, and a person that…
castle-engine.io
Demo how to distribute web application with encrypted data
We present a demo showing how you can keep your web application data encrypted (with decryption key embedded in your application code). By default, when you build a web application, the data is packed into a ZIP file, and a person that wants to access your data can download this ZIP and unpack the data on their own system (and e.g.
031
Castle Game Engine @castle-engine.io · 05/10/2025
IFC support in Castle Game Engine We've been extending in recent months our IFC support. I talked about it at conference in Germany and I will talk about it at conference in Poland next week 🙂 General overview of what IFC is about: You can open, save and manipulate 3D models in the IFC format.…
castle-engine.io
IFC support in Castle Game Engine
We've been extending in recent months our IFC support. I talked about it at conference in Germany and I will talk about it at conference in Poland next week 🙂 General overview of what IFC is about: You can open, save and manipulate 3D models in the IFC format. This is the standard 3D format used by the BIM (
061
Castle Game Engine @castle-engine.io · 02/10/2025
September engine progress: IFC, web, CastleHttps, VS Code debugging, zen mode, X3D 4.0 4.1, downloads mirror This was a busy month, with lots of engine work and also a great conference in Germany organized by Sorpetaler. Let me then announce a bag of engine improvements and news all across the…
castle-engine.io
September engine progress: IFC, web, CastleHttps, VS Code debugging, zen mode, X3D 4.0 4.1, downloads mirror
This was a busy month, with lots of engine work and also a great conference in Germany organized by Sorpetaler. Let me then announce a bag of engine improvements and news all across the board from last month (and more): We've been working a lot in recent months on our IFC support. More details about the IFC improvements will be announced later this week.
031
Castle Game Engine @castle-engine.io · 14/09/2025
Castle Model Viewer available on iOS, Android version updated too We have released Castle Model Viewer Mobile on iOS (iPhone, iPad) and you can get it right now from the App Store! Open this link to the AppStore on your iPhone/iPad, or just search for "Castle Model Viewer" in the AppStore. We're…
castle-engine.io
Castle Model Viewer available on iOS, Android version updated too
We have released Castle Model Viewer Mobile on iOS (iPhone, iPad) and you can get it right now from the App Store! Open this link to the AppStore on your iPhone/iPad, or just search for "Castle Model Viewer" in the AppStore. We're available in all AppStore regions (including US and EU). You can open a number of built-in models (in…
020
Castle Game Engine @castle-engine.io · 07/09/2025
Ton of mobile (iOS, Android) improvements: iOS + OpenGL3, Google Play Biling upgrade, shadow maps precision, more As we're preparing to release Castle Model Viewer on iOS, we've done a number of improvements to our mobile support for both iOS and Android: With big thanks to Jan Adamec, we have:…
castle-engine.io
Ton of mobile (iOS, Android) improvements: iOS + OpenGL3, Google Play Biling upgrade, shadow maps precision, more
As we're preparing to release Castle Model Viewer on iOS, we've done a number of improvements to our mobile support for both iOS and Android: With big thanks to Jan Adamec, we have: Upgraded our OpenGLES usage on iOS to OpenGES 3 (if only your system supports it; otherwise we still fallback to OpenGLES 2). This brings features like shadow maps to iOS rendering.
051
Castle Game Engine @castle-engine.io · 31/08/2025
Enjoy new examples: 3d_games/walking_adventure, 3d_games/dungeons_and_skeletons_fight and more We did some rearrangement of our examples, to showcase better engine features and some good demos. First of all, we now have 3d_games and 2d_games subdirectories in our engine examples. The names…
castle-engine.io
Enjoy new examples: 3d_games/walking_adventure, 3d_games/dungeons_and_skeletons_fight and more
We did some rearrangement of our examples, to showcase better engine features and some good demos. First of all, we now have 3d_games and 2d_games subdirectories in our engine examples. The names 2d_games, 3d_games are alphabetically first -- which is a nice bonus, we want them to be noticeable. Example 3d_games/walking_adventure has been added to the engine repository.
041
Castle Game Engine @castle-engine.io · 30/08/2025
New example: get random image using Unsplash REST API We have a new example in our repository: examples/network/random_image_from_unsplash. This shows using our to access Unsplash API and ask for a random image matching a given search term (like a "cute fox"). The main part of the example is the…
castle-engine.io
New example: get random image using Unsplash REST API
We have a new example in our repository: examples/network/random_image_from_unsplash. This shows using our to access Unsplash API and ask for a random image matching a given search term (like a "cute fox"). The main part of the example is the unit gameunsplash.pas with a reusable class to download images from Unsplash. There are 2 ways how this can be useful:
031
Castle Game Engine @castle-engine.io · 08/08/2025
Android: Updated applications (Castle Model Viewer, Platformer…) in Google Play, on the engine side: upgraded Google Play Services to v2 and Android SDK to 35 Castle Model Viewer for Android version 2.8 has been released! This brings: Support for IFC format right in our mobile viewer. Small UI…
castle-engine.io
Android: Updated applications (Castle Model Viewer, Platformer…) in Google Play, on the engine side: upgraded Google Play Services to v2 and Android SDK to 35
Castle Model Viewer for Android version 2.8 has been released! This brings: Support for IFC format right in our mobile viewer. Small UI improvements: better button order (left-most changes model), show more built-in files. Opening ZIP files underneath doesn't create temp directory on your device. Internally, this is achieved by using to open ZIP files. The class also makes code simpler, and compatible with both FPC and Delphi.
010
Castle Game Engine @castle-engine.io · 02/08/2025
Lazarus packages: moved, renamed We did a few moves and renames to our Lazarus packages. After upgrading to the latest engine version, be sure to run again "Register Lazarus Packages" button (from the "Preferences -> FPC and Lazarus" in our editor, as documented in our Lazarus docs). Note that the…
castle-engine.io
Lazarus packages: moved, renamed
We did a few moves and renames to our Lazarus packages. After upgrading to the latest engine version, be sure to run again "Register Lazarus Packages" button (from the "Preferences -> FPC and Lazarus" in our editor, as documented in our Lazarus docs). Note that the existing applications will continue to work even without you doing the above, because new packages…
010
Castle Game Engine @castle-engine.io · 29/07/2025
14 engine improvements from June/July — window sizing docs, TCastleAbstractPrimitive and TCastleImageTransform extensions, cubemaps and 3D textures in all texture slots, VS Code integration improved, rendering optimizations… Presenting a big batch of engine improvements done last ~month. Lots of…
castle-engine.io
14 engine improvements from June/July — window sizing docs, TCastleAbstractPrimitive and TCastleImageTransform extensions, cubemaps and 3D textures in all texture slots, VS Code integration improved, rendering optimizations…
Presenting a big batch of engine improvements done last ~month. Lots of small things. Everyone, pick what you like 🙂 Upgrade to the latest engine version and enjoy them all! If you like what you see, we appreciate your support on Patreon (we also have other ways to donate). We added a new documentation page Window size and fullscreen…
000
Castle Game Engine @castle-engine.io · 27/07/2025
More scenes are shadow casters for shadow volumes out-of-the-box, because of the auto-detection of 2-manifold scenes (Yes, it's a 3rd news about Castle Game Engine in 3 days. More to come -- we have a backlog of things to announce! Brace yourselves 🙂 ) We introduced an algorithm to detect…
castle-engine.io
More scenes are shadow casters for shadow volumes out-of-the-box, because of the auto-detection of 2-manifold scenes
(Yes, it's a 3rd news about Castle Game Engine in 3 days. More to come -- we have a backlog of things to announce! Brace yourselves 🙂 ) We introduced an algorithm to detect 2-manifold scenes better, meaning that all scenes that are really 2-manifold (even if not all shapes inside are 2-manifold) are automatically shadow casters for shadow volumes…
020
Castle Game Engine @castle-engine.io · 26/07/2025
Register for the upcoming Pascal Conference in Germany (Early Bird price until 31.07) I will be at the Pascal Conference 2025 in Germany, on September this year. And you can be there too 🙂 The schedule is announced at the conference site. A number of great people, influential in both FPC and…
castle-engine.io
Register for the upcoming Pascal Conference in Germany (Early Bird price until 31.07)
I will be at the Pascal Conference 2025 in Germany, on September this year. And you can be there too 🙂 The schedule is announced at the conference site. A number of great people, influential in both FPC and Delphi development, are going to give a talk, so this is going to be very interesting. I will also present. On Friday I will talk about a real use-case of our…
052
Castle Game Engine @castle-engine.io · 25/07/2025
Delphi advancements: groundwork for more platforms (Android, macOS, iOS), Castle Model Viewer + Delphi, cli Delphi tools on macOS, fixes for C++ Builder, Delphi 64-bit IDE We have a few treats for Delphi users in this post: Base engine units (but not yet rendering!) are now compatible with more…
castle-engine.io
Delphi advancements: groundwork for more platforms (Android, macOS, iOS), Castle Model Viewer + Delphi, cli Delphi tools on macOS, fixes for C++ Builder, Delphi 64-bit IDE
We have a few treats for Delphi users in this post: Base engine units (but not yet rendering!) are now compatible with more Delphi platforms. To opens the door to make our engine compatible with more platforms with Delphi. This means we have a "groundwork" to add support for more targets with Delphi: Android (tested both "Android 64-bit" and "Android 32-bit"
021
Castle Game Engine @castle-engine.io · 09/07/2025
Support for new Tangent node in X3D, with vectors as 4D, better aligned with glTF The short version of this post, if you don't want to go into technical details, is that one aspect of using bump mapping is now better in Castle Game Engine. Our data transfer and logic is more efficient and more…
castle-engine.io
Support for new Tangent node in X3D, with vectors as 4D, better aligned with glTF
The short version of this post, if you don't want to go into technical details, is that one aspect of using bump mapping is now better in Castle Game Engine. Our data transfer and logic is more efficient and more aligned with glTF and latest X3D specifications. And if you still don't want to go into technical details, you can…
010
Castle Game Engine @castle-engine.io · 28/06/2025
URL improvements: castle-config:/ protocol, use UriExists and FindFiles on any URL (including e.g. zip), TCastleMemoryFileSystem We present a number of improvements to our URL system, which is the basis for all engine resource loading and saving: We introduced castle-config:/ URL protocol, to save…
castle-engine.io
URL improvements: castle-config:/ protocol, use UriExists and FindFiles on any URL (including e.g. zip), TCastleMemoryFileSystem
We present a number of improvements to our URL system, which is the basis for all engine resource loading and saving: We introduced castle-config:/ URL protocol, to save files in a system-specific place (directory) that is "persistent" for given user. It points to a specific directory that is by convention writeable and should be used to save user data. For example, something like…
010
Castle Game Engine @castle-engine.io · 21/06/2025
Slides and example from Delphi Day 2025 presentation and after-thoughts (Afterwarp, shadow maps, BGFX and deferred rendering) I'm traveling back home after enjoying Delphi Day 2025 in Piacenza. I think I've made a nice presentation about the engine features. Slides are available here and one new…
castle-engine.io
Slides and example from Delphi Day 2025 presentation and after-thoughts (Afterwarp, shadow maps, BGFX and deferred rendering)
I'm traveling back home after enjoying Delphi Day 2025 in Piacenza. I think I've made a nice presentation about the engine features. Slides are available here and one new (simple and fun 🙂 ) example is part of the engine now: examples/physics/physics_throw_chickens. During the talk, I also showed a number of existing projects, including platformer, fps_game, …
010
Castle Game Engine @castle-engine.io · 14/06/2025
Shaders! Large new documentation how to use shaders with Castle Game Engine, and new “shader libraries” (for now: to convert worldeye space comfortably), and new SetEffects methods We've done a number of improvements to our shaders support, and it starts with one big thing: We have a new…
castle-engine.io
Shaders! Large new documentation how to use shaders with Castle Game Engine, and new “shader libraries” (for now: to convert worldeye space comfortably), and new SetEffects methods
We've done a number of improvements to our shaders support, and it starts with one big thing: We have a new documentation how to use shaders with Castle Game Engine. Recommended reading! This documentation shows the most recommended way to use shaders in Castle Game Engine, combining simplicity with power: It starts with up-to-date explanation of why we recommend to use "shader effects" () to express your shaders.
000
Castle Game Engine @castle-engine.io · 08/06/2025
Game controllers (gamepads, joysticks) – new comfortable API, and example of walking and talking using gamepad from Delphi Summit 2025 We're proud to present a completely new comfortable API to handle game controllers (which includes gamepads, joysticks and similar devices). Everything is…
castle-engine.io
Game controllers (gamepads, joysticks) – new comfortable API, and example of walking and talking using gamepad from Delphi Summit 2025
We're proud to present a completely new comfortable API to handle game controllers (which includes gamepads, joysticks and similar devices). Everything is documented, with links to examples, in the dedicated manual page about game controllers. Highlights of the new support: You receive information about pressing / releasing gamepad buttons by overriding and methods. Usually you define these overridden methods in your…
021
Castle Game Engine @castle-engine.io · 30/05/2025
Meet me in Netherlands (Amsterdam), Italy (Piacenza), Germany (Sundern) at the upcoming Pascal conferences As many of you know, I looove talking about Castle Game Engine and our many features. But my wife, though she loves me dearly, eventually says "enough" 🙂 So I learned to travel around the…
castle-engine.io
Meet me in Netherlands (Amsterdam), Italy (Piacenza), Germany (Sundern) at the upcoming Pascal conferences
As many of you know, I looove talking about Castle Game Engine and our many features. But my wife, though she loves me dearly, eventually says "enough" 🙂 So I learned to travel around the world and speak at various conferences. Catch me at these upcoming events: I will be at the Delphi Summit, in Amsterdam (Netherlands)
020
Castle Game Engine @castle-engine.io · 24/05/2025
Web target progress: editor on web (proof of concept), OpenUrl, right mouse button, many new demos (creature AI, 3D model viewer, physics shooting, auto-tests…), Kraft and Vampyre Imaging on web, wasm-opt, embedded fonts We've been busy in the last months developing our web target! If you haven't…
castle-engine.io
Web target progress: editor on web (proof of concept), OpenUrl, right mouse button, many new demos (creature AI, 3D model viewer, physics shooting, auto-tests…), Kraft and Vampyre Imaging on web, wasm-opt, embedded fonts
We've been busy in the last months developing our web target! If you haven't already, check out our video about web support and also a free web game linked in this post 🙂 The new web developments: Let's start with something big: We have developed proof-of-concept portable version of Castle Game Engine editor that has some of our real editor's…
011
Castle Game Engine @castle-engine.io · 01/05/2025
April improvements: physics upgrade, sphere casting, layers filtering, easy factory, iOS fixes, image improvements, and more We have a number of improvements to announce, so welcome to another "bag of improvements all around the engine" news post! Take a look around, see if you find something you…
castle-engine.io
April improvements: physics upgrade, sphere casting, layers filtering, easy factory, iOS fixes, image improvements, and more
We have a number of improvements to announce, so welcome to another "bag of improvements all around the engine" news post! Take a look around, see if you find something you like 🙂 As usual, all the announced improvements are already part of the latest downloads. is now a non-visual component registered in the editor, so it's easier to use it.
010
Castle Game Engine @castle-engine.io · 25/04/2025
Pascal Cafe 2025 presentation: web (play Unholy Society on the web for free!), IFC, 3D scanning, mORMot integration There's a gift at the end of this news post 🙂 Almost a month ago (time flies fast!), I did a presentation at Pascal Cafe 2025, an annual FPC / Lazarus conference organized by Blaise…
castle-engine.io
Pascal Cafe 2025 presentation: web (play Unholy Society on the web for free!), IFC, 3D scanning, mORMot integration
There's a gift at the end of this news post 🙂 Almost a month ago (time flies fast!), I did a presentation at Pascal Cafe 2025, an annual FPC / Lazarus conference organized by Blaise Pascal Magazine. This time, I didn't pick one topic for my talk, I decided to showcase a number of cool engine features. The common theme is…
040
Castle Game Engine @castle-engine.io · 14/04/2025
Modern Pascal course examples and slides, updates to modern Pascal book to fully support both Delphi and FPC Last week I made a course teaching modern Pascal, organized by BSC (Embarcadero branch in Poland). We started from basics (structural and imperative programming, classes) and went on to…
castle-engine.io
Modern Pascal course examples and slides, updates to modern Pascal book to fully support both Delphi and FPC
Last week I made a course teaching modern Pascal, organized by BSC (Embarcadero branch in Poland). We started from basics (structural and imperative programming, classes) and went on to advanced things (TComponent, various ways to deal with memory management, class references, generics, and more). It total, it was 2 days * 6 hours. Mostly lectures, i.e. "Michalis talking and showing"
010
Castle Game Engine @castle-engine.io · 11/04/2025
Dice Throwing Demo, Recording Physics Simulation We've a made a new demo project using Castle Game Engine: Throw a 6-sided dice, using physics, and cheat to make the outcome predictable. Before throwing the dice, you select the desired outcome, and we guarantee the dice will land the desired face…
castle-engine.io
Dice Throwing Demo, Recording Physics Simulation
We've a made a new demo project using Castle Game Engine: Throw a 6-sided dice, using physics, and cheat to make the outcome predictable. Before throwing the dice, you select the desired outcome, and we guarantee the dice will land the desired face "up". Full source code and data are available at You can run the demo in a web browser…
031