Skip to main content

Welcome to helios

helios is a modular C++23 game framework ecosystem built from first principles.

What is helios?​

helios is an educational and experimental engine architecture project organized as focused modules with clear responsibilities and explicit dependencies.

The current documentation is organized around these repositories:

  • helios::ecs - Generic ECS primitives and typed entity domains
  • helios::engine - Runtime, world orchestration, rendering abstractions, state, and platform contracts
  • helios::math - Vector, matrix, transform, and projection helpers
  • helios::opengl - OpenGL backend integration
  • helios::glfw - GLFW platform/window integration
  • helios::imgui - Dear ImGui debug overlays and developer tools

Quick Start​

Start with the module overview and then open the repository README for the module you want to use or build.

# Main engine/runtime repository
git clone https://github.com/thorstensuckow/helios-engine.git
cd helios-engine

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build

For local multi-repository development, place the module repositories next to each other in the same parent directory:

workspace/
helios-engine/
helios-ecs/
helios-math/
helios-opengl/
helios-glfw/
helios-imgui/
helios-website/

Features​

  • Modern C++23: Module-based architecture with explicit package boundaries
  • Reusable ECS: Domain-safe typed handles, sparse-set storage, and typed views
  • Math Library: Vector, matrix, transform, and projection operations
  • Runtime Architecture: Game loop, command buffers, event buses, state management, and resource registries
  • Rendering Integration: Engine rendering abstractions with OpenGL backend support
  • Platform Integration: GLFW-backed window and platform lifecycle handling
  • Developer UI: Dear ImGui overlays, diagnostic widgets, and log forwarding
  • Documentation from READMEs: Module pages are generated from each repository's root README.md

Learning Path​

  1. Module Overview - Understand the repository split and dependency graph
  2. Getting Started - Clone/build the current module repositories
  3. helios::ecs - Learn the typed-domain ECS foundation
  4. helios::engine - Explore the runtime and engine integration layer

Project Philosophy​

helios focuses on understanding engine architecture by building core systems from first principles: typed entity identity, data-oriented component storage, module-based dependency boundaries, explicit rendering abstractions, and runtime orchestration through commands, events, and managers.

Contributing​

Contributions and feedback should target the relevant module repository. For cross-module or engine-level topics, use the engine repository:

Academic Context​

This project originated as a computer science thesis project. The design principles, architecture, ECS approach, and prototypical implementation are documented in:

  • [Suc25] Suckow-Homberg, Thorsten: helios: Design and prototypical implementation of a C++ game framework (2025), ResearchGate
  • [Suc25b] Suckow-Homberg, Thorsten: helios: Explorative Entwicklung einer ECS-basierten Game Engine (2025), ResearchGate

License​

The helios modules are released under the MIT License. See the license file in the corresponding module repository, for example helios-engine/LICENSE.