I worked on this project for 6 months. I started with the focus of learning and practicing, so I learned many concepts about game development that will help me in future projects. Some of these concepts are animations, physics and how game engines work. I have the dream of creating a game engine and use it to create a game. Therefore, this project is a good start for a person with minimal knowledge about videogames and game engine development. This project caused me a lot of pain, because I'm a self-taught person, and I have learned all on videos, courses and books, this is a very slow process, but to me is worth it.
If you read my horrible code and want to tell me how I could be a better programmer, I will really appreciate it. Thank you.
I add os specific binaries in release seccion, I hope it work well.
All the dependencies are installed by Conan package manager with the conanfile.txt.
- Vulkan Headers v1.2.172
- Vulkan Loader v1.2.172
- GLFW v3.3.2
- GLM v0.9.9.8
- Dear ImGui v1.83
- spdlog v1.8.2
- stb_image
- Entt v3.6.0
- TinyGLTF v2.5.0
- Nlohmann Json v3.9.1
- Bullet3 v3.17
- Sol2 v3.2.3
This bindings are tools that add functionality for ImGui.
The resources in this section are all I used for learn some of the key concepts in the project development like as Vulkan, Game design, AI, etc.
- Learn the Vulkan API with C++
- Vulkan Tutorial
- Sascha Willems example
- vk-sandbox (It help me to know how to implement Dear ImGui with Vulkan)
- Infinite grid
- C++ Cocurrency in Action
- Thread Pool Tutorial - How-To
- Vulkan physically-Based Rendering using glTF 2.0 models (It helped me with loading and rendering animations. Also, with some concepts about render glTf models)