Cross-Platform Game Engine
A cross-platform game engine written in C++, supporting OpenGL and WebGPU rendering backends.
Features
- Cross-platform rendering, with both OpenGL and WebGPU backends
- Entity-component system (ECS) based scene model, backed by EnTT
- Editor with a content browser, scene viewport, and asset pipeline (textures, meshes, materials, tilesets, audio)
- 2D and 3D rendering, including sprites, text (MSDF font atlases), and static meshes
- Built-in 2D physics via Box2D
- Lua scripting support
- Visual behaviour tree editor for AI
- Scene and asset serialization
Architecture
Where to go next
- Getting Started - creating a project and exporting a game with the Editor
- Behaviour Trees - building AI decisions visually, and scripting custom tasks
- Lua Scripting - worked examples for giving entities behaviour
- Components - what each component does, its scene file format and its Lua API
- Scene Files - the
.sceneXML format, for writing or generating scenes by hand - Lua API Reference - the full scripting API, generated directly from the engine's source