The challenge.
Turning an engine architecture into a path that other developers could follow from scratch, without losing sight of data organisation or execution flow.
My main project
01 / ARCHITECTURE · TECHNICAL WRITING
Building an ECS game engine in C++20
My main project brings together what interests me most about development: understanding engine architecture and explaining it through playable examples. A Spanish-language guide to ECS, memory management and C++20. It is currently used as teaching material in the fourth year of the Multimedia Engineering degree at the University of Alicante.
Author and developer
May 2023
1 year
C++20 · Raylib · ECS · LaTeX
Turning an engine architecture into a path that other developers could follow from scratch, without losing sight of data organisation or execution flow.
I broke the engine down into entities, components and systems. I organised increasingly challenging examples and wrote explanations alongside the code. The guide progresses towards data separation, slotmaps and component storage.
A 174-page guide and five learning projects. The journey ends with The Final Room, a turn-based game that brings together the pieces developed throughout the previous chapters.
Explaining an architecture decision means understanding both the problem it solves and the cost it introduces.
The five projects give each concept a playable problem to refer to. The sequence starts with small examples and reaches The Final Room. Readers can connect each new engine feature with the behaviour the game needs rather than meeting the whole architecture at once.
Entities identify game objects, components store their data and systems perform operations on them. In the final project, player controls, collisions, object positions, artificial intelligence and rendering can be studied separately. The game’s behaviour emerges from how those pieces work together.
Component storage and slotmaps are part of the project material. Keys combine an index and generation to check validity when slots are reused. Readers can examine both the organisation of data and the insertion, lookup and removal operations behind it.
A way into the project through its screens, supporting material and, where available, its source code.
A CLOSER LOOK
Open any image to explore the gallery.
THE PEOPLE BEHIND IT
Author and development
Guide review
NEXT PROJECT / 02