I built a small C++ game engine so an AI IDE could touch the whole thing
Originally posted on Medium . I wanted to make a game. I also wanted the AI IDE on my desk to edit the whole running process, not just the scripts. Godot still makes you do linking and scene wiring in the UI. Unreal would not run on this laptop. Writing a raw Vulkan renderer from scratch meant months before I could drop a cube on screen. So I took the middle: Diligent Engine for the GPU, and I…
In his pursuit of creating a game, the author also aimed to enable an AI IDE to interact with and modify the entire running process, not just the scripts. Frustrated by the complexities of popular engines like Godot and Unreal, he sought a more lightweight solution. Diligent Engine offered a middle ground, supporting multiple APIs including Vulkan, D3D12, Metal, D3D11, and GL, without overwhelming the developer with unnecessary features.
The game engine, named Sapana, was built using Diligent Engine for GPU rendering, along with EnTT for ECS, JSON-based scenes, and Jolt physics. Sapana's rendering capabilities include basic and PBR modes, procedural sky, cascaded shadows, and frustum culling. The physics system is based on Jolt 5.3.0, with static and dynamic bodies, box and plane shapes.
Flight controls feature four virtual motor forces at the arm corners, with tunables in the flight.json configuration file. Cameras offer freelook, chase, and FPV modes. Input configurations are managed through JSON files. The engine was designed to run smoothly on Intel HD 620, an integrated graphics card, necessitating low draw calls and efficient resource management.
The sandbox demonstrates the engine's capabilities, featuring a quad, flying drone, static trees, and a flyable craft with various flight profiles. While Sapana is not a full-fledged product or an Unreal alternative, it serves as a compact engine tailored for specific gaming scenarios with limited VRAM, where the entire workflow can be managed by an AI IDE editing files and JSON configurations.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.