Bumbo Engine V0
Knowledge of game engine architecture is essential to understand what makes games function. Control over the software can empower developers in ways premade engines cannot. I have been diving into creating my own game engine for a 2D over the top shooter idea. With lessons from a tile based game engine I put together in Java back in 2018 using a graphical library, I used a C++ library to recreate some of Unity’s features at a surface level.
In it’s current state it has a basic implementation of the following features:
Entity Component System
Transform hierarchy
Entity inspector, with variables and components able to be changed at runtime
Entity and Level serialization (Saving and Loading, Prefabs)
2D entity collisions
Display layers and layer logic (UI and collisions)
Level Play/Stop/Pause feature to build and test levels
Basic level creation features like placing/moving/rotating entities
Coroutines and game timer
Despite all of it’s basic features, the brief demo above also showcases it’s shortcomings. Limited camera features, terrible performance and the inability to create a game executable makes this a useless game engine, but it as served me to learn the ropes, as I plan to reiterate using a more low level 2D renderer instead of a plain image and text library, and moving away from Unity’s way of designing an editor.