Banner of Digital Framework
Project Code (Github)

Digital Framework

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)

Media