Skip to main content

23 posts tagged with "helios"

Posts about the helios C++23 game framework - architecture, implementation, and technical deep dives

View All Tags

The Engine Document

· 2 min read

helios - Exploratory Development of an ECS-based Game Engine

All set and done, project goal reached!

Well, almost...

The project quickly shifted away from its initially intended focus on gameplay and graphics implementation toward a deeper engagement with engine architectures, and the result breaks with classical OOP paradigms: In the report I published today (the engine document), I document this transition from deep inheritance hierarchies to a data-oriented (DOD) system.

Phase/Pass Architecture: Evolution of the Game Loop

· 7 min read

In my previous post, I outlined the high-level separation between Commands and Events in helios, along with the basic double-buffered EventBus and CommandBuffer concepts. Since then, I've iterated significantly on the architecture, and I'm excited to share what has emerged: A Phase/Pass structure that provides much finer control over when events become visible and when commands execute.

🎄 Milestone 3: Game Systems, Components, Projectiles and Boundaries 🎁

· 4 min read

Merry Christmas - Milestone 3 is out. This one is smaller on flashy visuals but much bigger where it matters: the framework now helps to build gameplay faster. Over the last week I focused on three practical gaps that showed up while iterating on the spaceship demo: clearer system boundaries, easier composition of behavior, and stable, cheap shooting.

Onwards to the rendering model

· 2 min read

The first abstractions for the rendering model have found their way into helios, and the first example application has already rendered its first primitives onto the screen (aka the Hello World! of 3D Computer Graphics).

de Vries' book on OpenGL is proving (once again) to be very useful, as it provides some common, coarse-grained abstractions that serve as a great starting point for further refinement. Think of separating concerns like Meshes, Materials, and Shaders.