CIO Survey: Apple in the Enterprise
SEE THE RESULTS

Mac Open-Source Hosting Spotlight: Castle Game Engine

Emily Atchison
|
December 18, 2024

Introduction to open-source hosting with MacStadium

MacStadium’s Free and Open-Source Software (FOSS) program provides free access to a Mac mini hosted in one of our US or European data centers for the development and hosting of open-source projects. We currently sponsor over 100 projects, including Castle Game Engine, enabling continued support for open-source software in the Apple ecosystem.

What is Castle Game Engine?

Get ready to take 3D and 2D game design to the next level with Castle Game Engine.



Castle Game Engine is an open-source cross-platform game engine. Users can design 3D and 2D games using a visual editor and write code using modern Object Pascal – a clean, efficient, and modern (classes, units, generics) programming language.

MacStadium FOSS Castle Game Engine 3D Interface

Castle Game Engine supports a number of platforms, including desktop (macOS, Linux, Windows, FreeBSD), mobile (iOS, Android), and consoles (Nintendo Switch). Users have the ability to target multiple platforms by writing a single application source code that can be recompiled for various platforms, while also allowing seamless work across those platforms. With multi-platform support, you can design your games on any supported system, with more web platforms coming soon.



This game engine integrates with popular graphic standards like X3D, glTF, and IFC, enabling compatibility with 3D tools such as Blender, 3ds Max, and Maya, as well as asset stores like Sketchfab. It also includes tools like Castle Model Viewer, a versatile application for viewing 3D and 2D models.



Explore more features and macOS-specific resources from Castle Game Engine.

How Castle Game Engine uses MacStadium for macOS development

GitHub Actions runner

The team at Castle Game Engine are big proponents of CI/CD, understanding the bigger picture when it comes to needing dependable Mac infrastructure. They use a MacStadium Mac mini to run consistent and reliable tests for their game engine. Castle Game Engine is hosted on GitHub and uses GitHub Actions to perform automatic tests and then build on the engine.



“Thanks to MacStadium, we have a persistent, fully under our control, macOS environment where all these jobs run,” says Michalis Kamburelis, Project Lead at Castle Game Engine. “We have a set of tools installed there, including a number of packages from HomeBrew and the open-source FPC compiler, using FpcUpDeluxe.”



The team also had several migrations over the past few months but was able to seamlessly transition with MacStadium’s Mac hardware.



“A few months ago, we migrated from Jenkins to GitHub Actions, migrating also the MacStadium machine from a Jenkins node to a GitHub Actions runner,” says Kamburelis. “This was an easy transition, again thanks to us having full control over the machine.”

MacStadium FOSS Castle Game Engine Interface

Interactively testing on macOS

Testing is a huge part of what makes Castle Game Engine run properly for users. From new Steam integrations to ready application bundles, there are several tasks that require specific testing on macOS for the team.



With Castle Game Engine contributors in different locations, having easy access to a Mac for testing is crucial. Not all developers who work on the engine have their own macOS machine to run tests, which was a significant problem for the team. MacStadium helps bridge the gap and avoid connectivity issues that inevitably arise from this limitation with access to a shared virtual Mac with the right Apple OS.



“This is tremendously useful when testing and investigating macOS-specific issues,” says Kamburelis. “While we have a set of auto-tests that run non-interactively, from command-line, but many of the important engine code really comes into play once you run the editor and click around or run our Castle Model Viewer. Our editor uses Apple Cocoa framework, through Lazarus, while the games using our engine use Cocoa through our custom integration code. So, there's quite a bit of macOS-specific code that we need to test.”

How to download and support Castle Game Engine

Want to help support Castle Game Engine? Read the details on GitHub, or check out more ways to contribute here.



Ready to get started with Castle Game Engine? Get the platform on GitHub, Itch.io, or directly from Castle Game Engine’s website.