The ‘Digital Framework’ is a long-term personal hobby project that I have made to improve my technical skills, try out new code stuff, and to gain more knowledge of C++, engine, tools, AI/NPC behaviour, and gameplay systems.
Goal
My goal is to eventually have made a small multi-platform (Windows & Linux) framework, and editor to make AI/NPC Systems. I would then like to create a small 2D/3D game with it.
I aim to learn and improve by researching, reading books & articles, and then attempting to apply that knowledge into the project — but not to go as far as to reinvent the wheel for most systems.
As I have no big interest in low-level graphics programming, I am using the rendering library BGFX to make that part of the framework a little easier to handle.
Currently, I am at the point where I could quite comfortably work on some gameplay AI/NPC experimentation.
Features
The features are not that fancy, but the project has a good foundation to work on top of.
- Application Framework & Stage/Layers - Input Management - Window Rendering - Model & Texture Loading using assimp - CMake Project Management - (Debug) Console & File Logging - Basic Rendering & Shader support - Debug Rendering (Line & Shapes) - Class Reflection System - 3D Physics using JoltPhysics - ECS & Events using ENTT - ‘.map’ loading from level editor Trenchbroom - ImGui (Window Docking & Multi-Viewport Support) hooked onto BGFX - Basic Gameplay Systems (UUIDs, Game Object handling, Camera)