
During my 4th year, we learned how to develop a game engine 2D in C++, seeing all the important components and systems of a game engine. Despite the context, this project is very personal for me, because I wanted to go further than the course and develop as many features as I could to improve and learn. We were able to discover numerous libraries, such as SDL2 for graphics and chipmunk2D for engine physics. With this engine, we were able to develop a small game to make full use of our work.
Release : June 2024
Period : 4 Months
Platform : C++ using :
- Xmake
- SDL2
- entt
- chipmunk2d
- lz4
- dr_wav
- openal-soft
- nlohmann_json
- imgui
My Role : Game Programmer
- Graphics
- Coordinate & Physics 2D
- Camera
- Input
- Editor
- Scene Management
- Save File
- Son
- Mini-Game

NBOF Engine
Here's what the engine itself looks like, with the game I was able to make. On the left you can see all the entities in the scene, the colliders drawn and even a way to stop the scene.
Entity Inspector
Each entity is made up of several components that can be added, deleted or modified very easily in the editor. You can also modify the properties of each component via the interface and see the changes directly in the scene.


File System
Scenes can be saved and loaded into the editor as a Json file. This is where you'll find all the entities present, along with all their components and parameters. When the level is loaded, the scene returns to the exact state in which it was saved!
Space Invader !
With my engine, I decided to remake a Space Invader, a classic that still works just as well!
