A little game engine written in C++
This game engine is a personal project for learning about game development and graphics. It follows The Cherno's Hazel Engine series, so take a look at it if you want to follow them too!
-
Logging class for development
-
Event system
Here's the class hierarchy for the event system. Note that only final classes can be instantiated:
-
Window abstraction
This project has a Premake script which can be launched as follows:
GenerateProjects.bat
It will generate a Visual studio 2019 with all the needed configurations.
ZEngine also depends on two submodules, spdlog
and a custom GLFW fork with an additional premake file. They are located in the ZEngine/vendor
folder, so if you want to add your own submodules, you can write the following command in order to integrate them into the project:
$> git submodule add <submodule_repo_link> ZEngine/vendor/<submodule_name>
After that, if you need to link any static library from that submodule, don't forget to add it into the main premake5.lua script at the root of the project.
If you need to update the submodules required by ZEngine to work, type the following command at the project's root folder:
git submodule update --recursive --remote
- 26/08/2021:
- Started the project!
- Added EntryPoint
- 27/08/2021:
- 28/08/2021:
- Added an event system
- 30/08/2021:
- Added window abstraction, implementation for Windows and GLFW support
- Added window events and GLFW callbacks
- 02/09/2021:
- Added application layers and layerstack for selective event handling and updating
- 03/09/2021:
- Integrated ImGUI and demo overlay