Apus Engine 5: a long-overdue update
by , 04-10-2026 at 09:37 PM (1660 Views)
It's been years since I last posted here, but the engine never stopped. Apus Engine has powered our games since the early 2000s: Astral Masters, Spectromancer, Astral Heroes and Astral Towers. Right now it's going through its biggest rework yet, Engine 5. Here's a short overview of where it stands.
What Apus Engine is
A cross-platform 2D/3D game engine written in Object Pascal. One codebase compiles with both Delphi 12+ and Free Pascal 3.2+, and that is a deliberate rule, not luck: language features that only one compiler supports are simply not used. No IFDEF forks for syntax, no "Delphi-only" corners. The engine is used from source and is BSD-3 licensed.
What's new in Engine 5
- More platforms. Windows, Linux and now macOS (including distributable .app bundles). Android and iOS builds already run in the emulator/simulator. They are in preview, not production-ready yet.
- A modern rendering baseline. One GL 3.3 core path on desktop and a shared GLES 3.0 path for mobile. Newer GL features are optional fast paths that are switched on only when the driver supports them, with the baseline as the fallback. On top of that: normal-mapped 3D meshes with procedural shape generators, text with GPU effects (glow, outline, shadows), WebP and compressed DDS textures.
- A new foundation library. The old monolithic Apus.Common has been split into focused units (Apus.Core, Apus.Strings, Apus.Threads, Apus.Files, geometry, containers… see the module list). They are usable on their own, without the engine. UTF-8 String8 is the primary string type throughout.
- UI that scales. A CSS-like style system: declarative styles, inheritance, states like hover/pressed/disabled, transitions and themes. Multiple windows with live DPI changes, so a window dragged to another monitor adapts. And the UI can safely be touched from any thread, so a background loader can update a progress bar directly.
- Real-world plumbing. Audio through SDL_mixer, a Steamworks integration (achievements, DLC ownership) that leaves the game runnable without Steam, and a virtual file system that every file access goes through, so resource packs and mods work everywhere.
- Testability. The Robot API lets an external tool drive a running game: inspect the UI tree, read state, take screenshots, check pixels. Together with CI on Windows, Linux and macOS, it means changes get checked on a real running engine, not just compiled.
Trying it
git clone -b engine5 https://github.com/Cooler2/ApusGameEngine
cd ApusGameEngine
build.cmd SimpleDemo (./build.sh SimpleDemo on Linux/macOS)
There are no other setup steps. To start your own project, copy demo/ProjectTemplate. The README has the details.
Honest status
Engine 5 is still in development. APIs may change, skeletal animation isn't migrated yet, and the manual is being written. What's done and what's next is in the roadmap. If you need something stable today, Engine 4 is still available. Coming from Engine 4, see the migration notes. Engine 5 is already going through the hardest test there is: porting a shipped commercial game onto it.
Repository: https://github.com/Cooler2/ApusGameEngine (branch engine5)
Questions, feedback and "it doesn't build on my setup" reports are very welcome, here or on GitHub.








Email Blog Entry
