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.