Studying at The Game Assembly has presented me with a unique opportunity to learn and practice implementing many of the lower-level features usually taken for granted in commercial game engines, such as the rendering pipeline, physics simulation, and how to organize the game world and its objects. Still there is much to learn, and even though TGA have given me some of the puzzle pieces, I feel that an equally important skill is knowing how to assemble these into a full picture. My goal with this personal project has therefore been to apply everything I've learnt in order to create a stand-alone game engine with built-in editor, usable enough to make a simple 3D game with.
My second goal has been to implement features that I feel I haven't had the time to explore properly during game projects. For example, I wanted to make a deep dive into the mathematical foundations of physically based rendering and implement as much as possible of that pipeline from scratch. Though calling it a game engine is at this point a bit of a stretch as it doesn't have much game logic, going forward my intention is to keep adding features and to keep learning!
Some of the libraries/API:s I've used are: Win32 for the application itself, Dear ImGui for the editor windows, DirectX 11 for graphics, PhysX for physics, JSON for Modern C++ for serialization, EnTT as my entity component system, and I also have plans to integrate the FMOD Studio API as I've done for previous game projects. Some features I'd like to add in the near future are support for collisions, area lights, and outlines for selected entities while editing a scene.