Cairn
A 3D game engine you can drive by hand or by agent

C++20 on Vulkan, with an editor, Lua or TypeScript scripting, physics, audio, animation and one-command export for Windows, macOS and Linux. The code is private for now and will be open source soon.

The editor playing Zombie Survival, a sample game made with CairnThe editor playing Zombie Survival, a sample game made with Cairn

A tutorial that builds a game

Seven short parts take you from an empty project to a two-level game with a character, physics, coins and a score, with every script explained.

Learn Lua from nothing

A six-page course in the scripting language, written for people who have never programmed, with a cheat sheet for people who have.

An editor that stays out of the way

Click to select, drag assets into the scene, undo anything. A project hub with templates gets you to a playable level in a minute.

Lua or TypeScript, with hot reload

Game logic is plain Lua files, or TypeScript the editor compiles to Lua. Save one while the game runs and the new code is in use at once, with values kept.

Built for AI agents

Everything the editor does is also a JSON command. An agent can make a project, build a level, play it and export it with no window.

Modern rendering

PBR materials, image-based lighting, cascaded shadows, ambient occlusion, bloom, ACES tonemapping and FXAA.

Physics, audio and animation

Jolt physics with a character controller, 3D sound with music streaming, skinned meshes with animator state machines.

Export in one step

A project becomes a standalone game, with its files in one pack and no editor code inside.