helios - Exploratory Development of an ECS-based Game Engine
My software project helios is a game engine written in C++, originally conceived as a simple framework for a Geometry Wars clone. The project quickly shifted away from its initially intended focus on gameplay and graphics implementation toward a deeper engagement with engine architectures. The result breaks with classical OOP paradigms: In my report, I document this transition from deep inheritance hierarchies to a data-oriented (DOD) system.
After completing my project work at Trier University of Applied Sciences in March 2026, helios rests on an architecture that has grown far beyond the original tracer-bullet approach. As the demands of integrating runtime systems and gameplay mechanics grew, the classical OOP mental model gave rise to a complexity that could no longer meet the requirements of a clean architecture. The associated Array-of-Structures modeling [📖Fab18] and the resulting scattered memory layouts also failed to make effective use of CPU-adjacent caches.

The focus therefore shifted to implementing an Entity-Component System (ECS) that treats components as information carriers and systems as behavior carriers. The tension between the developer's familiar hierarchical mental model and the demands of cache-line optimization that emerged from this data-oriented approach is likewise examined in my report.
Despite unoptimized draw calls, the faster test system1 rendered 10,000 animated objects at a stable 60 FPS - far exceeding the original requirements. The data-oriented system also achieves better scaling under increasing load.
I plan to carry the insights gained from this work forward into a next phase, where I want to explore a type-safe, domain-specific runtime model for more complex, concurrent game engine architectures.
Footnotes
-
Desktop: Ryzen 9 9950X3D, 64 GB DDR5 RAM, RTX 5090. Laptop: Intel Core i7-8750H, 16 GB RAM, GTX 1070 Max-Q. All tests were conducted on Windows 11. ↩
References
- [Fab18]: Fabian, R.: Data-oriented Design: Software Engineering for Limited Resources and Short Schedules (2018), Richard Fabian [BibTeX]

