Castle Game Engine's Avatar

Castle Game Engine

@castle-engine.io.bsky.social

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. https://castle-engine.io/

41 Followers  |  9 Following  |  34 Posts  |  Joined: 02.12.2024  |  1.8954

Latest posts by castle-engine.io on Bluesky

Preview
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 (

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.…

05.10.2025 14:36 — 👍 6    🔁 1    💬 0    📌 0
Preview
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.

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…

02.10.2025 15:16 — 👍 3    🔁 1    💬 0    📌 0
Preview
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…

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…

13.09.2025 23:00 — 👍 2    🔁 0    💬 0    📌 0
Preview
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.

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:…

07.09.2025 11:37 — 👍 5    🔁 1    💬 0    📌 0
Preview
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.

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…

31.08.2025 00:17 — 👍 4    🔁 1    💬 0    📌 0
Preview
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:

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…

30.08.2025 04:11 — 👍 3    🔁 1    💬 0    📌 1
Preview
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.

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…

08.08.2025 15:09 — 👍 1    🔁 0    💬 0    📌 0
Preview
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…

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…

02.08.2025 12:31 — 👍 1    🔁 0    💬 0    📌 0
Preview
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…

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…

29.07.2025 16:31 — 👍 0    🔁 0    💬 0    📌 0
Preview
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…

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…

27.07.2025 15:42 — 👍 2    🔁 0    💬 0    📌 0
Preview
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…

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…

26.07.2025 17:51 — 👍 5    🔁 2    💬 0    📌 0
Preview
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"

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…

25.07.2025 17:03 — 👍 2    🔁 1    💬 0    📌 0
Preview
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…

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…

09.07.2025 15:55 — 👍 1    🔁 0    💬 0    📌 0
Preview
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…

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…

28.06.2025 22:17 — 👍 1    🔁 0    💬 0    📌 0
Preview
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, …

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…

21.06.2025 11:45 — 👍 1    🔁 0    💬 0    📌 0
Preview
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.

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…

14.06.2025 10:05 — 👍 0    🔁 0    💬 0    📌 0
Preview
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…

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…

08.06.2025 14:37 — 👍 2    🔁 1    💬 0    📌 0
Preview
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)

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…

30.05.2025 17:14 — 👍 2    🔁 0    💬 0    📌 0
Preview
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…

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…

24.05.2025 04:43 — 👍 1    🔁 1    💬 0    📌 0
Preview
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.

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…

01.05.2025 19:25 — 👍 0    🔁 0    💬 0    📌 0
Preview
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…

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…

25.04.2025 14:26 — 👍 4    🔁 0    💬 0    📌 0
Preview
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"

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…

14.04.2025 11:42 — 👍 1    🔁 0    💬 0    📌 0
Preview
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…

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…

11.04.2025 14:49 — 👍 2    🔁 1    💬 0    📌 0
Preview
Collaborative online editing of 3D world using Castle Game Engine and mORMot2 We're happy to announce a new demo project, showcasing our Castle Game Engine and mORMot 2 working together! mORMot (1 and 2) is an open-source Pascal framework (just like our engine!) providing networking and database solutions, at a few layers. You can use it for ORM (easily synchronize and persist objects), classic client-server (HTTP REST communication), peer-to-peer communication (like WebSockets), database access and many other things.

Collaborative online editing of 3D world using Castle Game Engine and mORMot2

We're happy to announce a new demo project, showcasing our Castle Game Engine and mORMot 2 working together! mORMot (1 and 2) is an open-source Pascal framework (just like our engine!) providing networking and database…

27.03.2025 17:46 — 👍 2    🔁 0    💬 0    📌 0
Preview
TCastleTransformReference improvements – intuitive transformation, menu items to “Duplicate Linked”, “Edit (Make Independent Copy)”, cooperates with LOD, fixed TCastleStickToSurface We implemented multiple improvements around , making it easier to use, have more options, be more optimal and correct in certain cases. Overall, we think that after these improvements, you will use much more often 🙂 The is a component that allows to use the same multiple times in the viewport. This can imply using the same many times or using a whole hierarchy of multiple times in one viewport.

TCastleTransformReference improvements – intuitive transformation, menu items to “Duplicate Linked”, “Edit (Make Independent Copy)”, cooperates with LOD, fixed TCastleStickToSurface

We implemented multiple improvements around , making it easier to use, have more options, be more optimal and…

22.03.2025 12:05 — 👍 4    🔁 1    💬 0    📌 0
Preview
Video overview of the new features – web, IFC, zip Enjoy a new video overview describing the latest development around web, ifc and zip support! The video was supposed to be short, it turned out to be 44 minutes long, and it talks about many details. I hope you enjoy it! If you do, please support us on Patreon or in other ways and use our engine for your next game 🙂

Video overview of the new features – web, IFC, zip

Enjoy a new video overview describing the latest development around web, ifc and zip support! The video was supposed to be short, it turned out to be 44 minutes long, and it talks about many details. I hope you enjoy it! If you do, please support…

16.03.2025 12:31 — 👍 3    🔁 2    💬 0    📌 0
Preview
New class for ZIP handling (TCastleZip), progress on new pretty wireframe approach, WOFF fonts support, LOD usage demo Announcing a number of engine improvements from the last weeks: We have a new class for ZIP handling: . Features: Reading ZIP files from any TStream or URL (see networking about our URL support). Just open ZIP by and read by . Create and write ZIP files. Again, with API consistent with our engine, supporting URLs and so on. Just open ZIP by and write by .

New class for ZIP handling (TCastleZip), progress on new pretty wireframe approach, WOFF fonts support, LOD usage demo

Announcing a number of engine improvements from the last weeks: We have a new class for ZIP handling: . Features: Reading ZIP files from any TStream or URL (see networking about…

09.03.2025 14:03 — 👍 4    🔁 1    💬 0    📌 0
Preview
Big progress of web target and 10 new demos ready to play in your web browser We proudly present next milestone of our web target! The goal is simple: recompile any application developed using Castle Game Engine and FPC to run in a web browser. Any modern web browser (FireFox or Chrome, desktop or mobile) is good. Before we go into technical details, we have added 10 new demos to try out: 2D demos:

Big progress of web target and 10 new demos ready to play in your web browser

We proudly present next milestone of our web target! The goal is simple: recompile any application developed using Castle Game Engine and FPC to run in a web browser. Any modern web browser (FireFox or Chrome, desktop or…

01.03.2025 12:45 — 👍 5    🔁 0    💬 0    📌 0
Preview
January News – Android uninstall, list devices, fix for Android 15; query texture RGBA color from Pascal; IFC and web progress; set default platform; fix for bundled FPC + VS Code You can now easily uninstall Android application or list available Android devices (connnected using USB, paired using Wi-Fi, or running emulated devices). Use the new editor menu items in "Run -> Android -> ...". Or use the command-line build tool like castle-engine uninstall or castle-engine devices. See the uninstall docs and devices docs. The castle-engine devices is a wrapper around…

January News – Android uninstall, list devices, fix for Android 15; query texture RGBA color from Pascal; IFC and web progress; set default platform; fix for bundled FPC + VS Code

You can now easily uninstall Android application or list available Android devices (connnected using USB, paired using…

31.01.2025 13:08 — 👍 1    🔁 1    💬 1    📌 0
Preview
Web target – big progress, first 3 demos to try! We are proud to present the first 3 working applications developed with Castle Game Engine for the web! Check them out -- just open the links below, in any web browser (Firefox, Chrome...), on desktop or mobile! 3D viewport, with random cones, animated spot light, dropping boxes with physics, Examine camera navigation. 2D "Invaders" game - simple game, using keys, multiple views, 2 difficulty modes…

Web target – big progress, first 3 demos to try!

We are proud to present the first 3 working applications developed with Castle Game Engine for the web! Check them out -- just open the links below, in any web browser (Firefox, Chrome...), on desktop or mobile! 3D viewport, with random cones,…

06.01.2025 13:43 — 👍 1    🔁 0    💬 0    📌 0

@castle-engine.io is following 9 prominent accounts