The goal is to develop a small game engine along with a level editor that can render 2D and 3D scenes using Vulkan. The engine includes several systems:
- Entity-component system
- Physics
- Animation
- User input
- Renderer
- glTF model loading
- Scenes
- Event system
The renderer is based on Vulkan C++ examples and demos by Sascha Willems and Vulkan Samples by Khronos Group and is tested on AMD and Nvidia graphics drivers. Currently using Vulkan 1.4 with Dynamic Rendering.
All third-party dependencies can be found in the CMake folder, which are pulled using FetchContent.
The project uses C++20, CMake, Ninja, and Clang to generate and build the project.
