This page is for a memorandum of my game engine project. I have started this project from scratch as a school project in September 2018 and decided to keep working on it as a personal project recently. The source code of the game engine is placed here
Current State of The GameEngine
Currently, the game engine has implemented the basic structure such as...
​​
-
Entity Component System
-
Heap manager and Smart pointers for memory management
-
Math libraries such as Matrix and Vector with intrinsic instruction
-
2D Rigid body physics and AABB collision detection
-
Simple asset loader, written in Lua
-
Multicast delegate messaging system and input system
-
Assertion and Debug log for a debug purpose
-
​and a lots more​
The rough structure of the game engine is shown below​
​
​
It's been almost a half year since I start working on this project as my personal project. The engine itself is still in a very early stage with a lot of parts rusty, However, I will make it better day by day!
​
​
​
May, 22th, 2020
I have implemented the PBR shading model that Disney made. Among which I have implemented the model UE4 adopted.
March, 29th, 2020
Recently I am doing on a big refactoring to my code.
I have totally replaced the graphic system to my own (It's Open GL, not Vulkan yet but will be cross-platform in the future). Restructured and modulized many pre-existed codes. Still haven't finished everything, but it's been a good progress, so I would like to show off some!
Dec, 16th, 2019
My game engine is using the OpenGL graphics system that our professor provided. I decided to replace the system with my original graphics module. However, just replacing the system with my code isn't that interesting. So I decided to start learning Vulkan and use it as the graphics API for my system.
Nov, 28th, 2019
The vector and matrix functions in my game engine was a bit messy. I have improved the vector and matrix class in both performance and code-structure perspectives using intrinsic function and template.