# GameEngineDoc - AI Game Engine spec

> Source: <https://gist.github.com/TheCherno/ccf5d7656c68423b22398d9474c7af5d>
> Published: 2026-10-04 22:50:09+00:00

We're building a production-grade, simple and straight-forward 3D Game Engine for Windows, macOS and Linux (Ubuntu 24+). This is professional-grade software that needs to be stable, fully-tested, and real-world deployable. No hacks, no shortcuts - solid as a rock.

- Ask questions only when absolutely necessary - work autonomously
- IMRORTANT! DO NOT look outside of working directory or use other code on my computer as reference
- Start by asking question to determine engine name. Suggest a few
- Testing is of the utmost importance - use lots of unit tests (any framework, simple is good), run automated testing
- Setup a scene used for testing, which tests every single feature in the engine - all components, and entire scripting API
- Do things properly, this is production-grade and not a hack project
- Create AGENTS.md and relevant skills to support development, and contain concrete development guidelines
- Code style to match [Hazel](https://docs.hazelengine.com/HazelForEngineers/DeveloperGuide#naming) , full repo[here](https://github.com/TheCherno/Hazel)
- Create git repository, commit and push to [GitHub repo](https://github.com/TheCherno/AIGameEngine) . IMPORTANT: do a code review before committing, and make sure all changes comply with code style, production-grade quality standards, and have been properly tested/have unit tests that have passed where necessary

- C++ and CMake for core engine
- [GLFW](https://github.com/glfw/glfw) and[nvrhi](https://github.com/NVIDIA-RTX/NVRHI) , using Vulkan primarily on all platforms
- [glm](https://github.com/g-truc/glm) for math
- [miniaudio](https://github.com/mackron/miniaudio) for audio
- Lua for scripting, though this can be up for discussion

- Static library for core engine, executable for editor and runtime (depending on chosen design)
- Need to have editor to build games - this can be embedded into runtime executable (and stripped from distribution builds), or can be a standalone executable
- Simple ECS perhaps, to author scene with entities and components
- Ability to "export" game - executable that runs game without editing ability that we can distribute
- Editor needs to be fully controllable by AI agents - I should be able to ask you to build me a game like Tetris, and you should have all the tools available to do so without my intervention

- Import gltf meshes with materials and textures
- Editor has gizmo to position them in the world
- PBR material workflow
- IBL with HDRIs from [https://polyhaven.com/hdris](https://polyhaven.com/hdris)
- Soft shadow maps
- Good SSAO
- HDR pipeline with tonemapping

- Use simple 3D physics library of your choosing
- Controllable via scripting, authored via components in editor

- Scripting with Lua (or other chosen language)
- Control entities/components and run in update loop, and entity destruction/creation
- Spawn new entities/prefabs
