Aegis2D¶
Aegis2D is a modular 2D game engine written in C++26, built for networked multiplayer games. An authoritative server and its clients share the same core, ECS and networking modules, while rendering, audio and input only exist on the client side.
It powers R-Type, developed alongside it.
Status
Early development: the build, dependencies, tests and CI are in place, and the modules are being written. See the changelog.
Modules¶
| Target | Role | Server | Client |
|---|---|---|---|
aegis2d::core |
Logging, time, main loop, events, configuration | ✓ | ✓ |
aegis2d::ecs |
Entity-Component-System | ✓ | ✓ |
aegis2d::net |
Serialization, UDP/TCP sockets, network thread | ✓ | ✓ |
aegis2d::platform |
Window, OpenGL context, input (SDL3) | ✓ | |
aegis2d::render |
OpenGL renderer, sprites, text | ✓ | |
aegis2d::audio |
Sound effects and music (SDL3) | ✓ |
Where to go next¶
- Getting started: requirements, build, tests and using the engine in a game.
- Architecture overview: layers, how subsystems talk, build and delivery structure.
- API reference: every public header, generated by Doxygen.
- Contributing: branches, commits, pull requests and local checks.
- Epitech delivery mirror: how the engine and the game are assembled and delivered.