RGGFramework
Debugging tools that run inside a PC game: an overlay, a console and live loading logs.
In-process diagnostics that do not destabilise the process they measure
Engineering research · Mar 2026 – present
At a glance
- Challenge
- Observe how a game engine loads and draws its assets while it runs, without destabilising the game being measured.
- Solution
- A C++20 in-process framework: a D3D12/DXGI overlay, a command console, live asset-load tracing, and a SHA-256 check that limits it to supported builds.
- Result
- An alpha diagnostic framework validated on one Steam build of Yakuza Kiwami 3; other versions are unverified.
The problem
Studying a proprietary engine's asset and render pipeline means observing it at runtime, and doing that without destabilising the host process: a diagnostic tool that crashes what it is measuring is worse than no tool.
Approach
- A generic DXGI/D3D12 overlay bootstrap with native x64 injection, a Win32 window-proc toggle path, and fail-closed render-fault detection.
- ContentLoadTraceModule, which hooks CreateFileW to categorise and record loaded engine assets live, with string allocation tuned hard to hold gameplay framerate.
- Overlay state synchronisation hardened with recursive mutexes after hook re-entrancy produced DX12 draw-path deadlocks.
- Reproducible builds via CMake and PowerShell deployment, with SHA-256 host fingerprinting so the framework only runs against engine builds it supports.
Outcome
An alpha diagnostic framework with an explicit one-build support boundary; other versions and general runtime compatibility remain unverified.
Built with
- C++
- DirectX 12
- MinHook
- Dear ImGui
- CMake