The AIgame enginefor agents.

Built for LLMs, not for mouse clicks.

SimEngine is a lean C++20 and Vulkan 1.3 game engine with no editor and no GUI baggage. Claude Code, Codex or any coding agent discovers it, changes a scene, runs it headless, looks at the frame and proves the change from one terminal. Tokens go into your game, not into learning a tool.

Works with
scenario.json · seed 20261027tick 000 / 120
    · ball_on_table· crate_b_stacked· table_staticRUNNING
    first_scene, replayed in your browser with three.js · the engine itself renders with Vulkan
    How agents drive it
    Shell + JSON

    Every command returns one typed JSON document with coded errors. No plugin, no MCP bridge.

    What it runs on
    C++20 · Vulkan 1.3

    Native code on a thin, direct backend. No VM, no garbage collector, no AI calls at runtime.

    What it costs
    Free

    MIT OR Apache-2.0. The repository opens with the first distributable milestone.

    Where it stands
    Pre-release

    Scenes, headless runs and Vulkan captures work today. Physics, game loop and audio are next.

    01Definition

    What is an AI game engine?

    An AI game engine is a game engine built so that AI agents can create, run and verify a game, not just suggest code for it. It exposes a discoverable command interface, reproducible headless runs and machine-readable results, so a coding agent like Claude Code or Codex can check its own work.

    AI bolted onto an editor

    • A chat panel inside a GUI made for mouse and keyboard
    • The agent infers state from screenshots and opaque files
    • "Done" usually means "it compiled"
    • Often tied to one vendor's plan or credits

    Engine built for agents

    • Typed commands with versions, units, frames and coded errors
    • Seeded headless scenarios and offscreen captures
    • "Done" means expectations passed and the state digest changed as intended
    • Works with any agent, and the runtime has no AI dependency

    02Built for LLMs

    Less engine to learn,
    fewer tokens per change.

    Most engines are built around a human in an editor. SimEngine is built around an LLM in a terminal: we removed what only humans use, kept what lets an agent check its own work, and wrote the runtime in native C++ for speed.

    Less to read

    Fewer tokens spent learning the engine

    No visual editor, no GUI state, no plugin marketplace. Everything an agent needs is one capabilities document, versioned text files and a compact API index. A smaller surface means less context spent figuring out the tool, and more spent on your game.

    Less to retry

    Every run says if it worked

    Coded errors with the failing step, seeded runs, state digests and captures tell the agent at once whether a change is right. Cost per accepted change (time, model cost, retries, human interventions) is an engine metric, measured on a fixed task corpus.

    Native speed

    C++ all the way down, for AAA ambitions

    The engine is C++20 on a thin, direct Vulkan 1.3 backend, with no virtual machine and no garbage collector in the runtime. Gameplay is native code plus data. Frame time is a budget: the proposed target is 2560×1440 at 60 FPS, natively rendered, with tails measured.

    −Left out, on purpose

    • Visual editorA minimal diagnostic inspector is planned instead
    • GUI authoring stateScenes are versioned text with units and frames
    • Plugin marketplaceOptional modules with explicit contracts
    • Scripting VMNative code and data until evidence says otherwise
    • A platform matrixWindows 11 x64 first, Linux for headless CI
    • An LLM in the runtimeAI drives development, never a frame

    +Kept, for agents

    • Typed commandsOne capabilities document lists everything callable
    • Seeded headless scenariosSame seed, same ticks, same digest
    • Offscreen Vulkan capturesPNG plus manifest, a black frame fails
    • Structured diagnosticsCoded errors with the step that failed
    • Native C++20 + Vulkan 1.3No VM, no GC, frame time as a budget
    • Agent skillsCreate, modify and diagnose, in every project

    Cutting the editor doesn't make the runtime faster by itself. It shrinks what an agent has to learn. Speed comes from native code and measured frame budgets.

    03Philosophy

    Six rules that stop
    agents from guessing.

    SimEngine is opinionated on purpose. Each rule removes a way an agent can be wrong without knowing it.

    1. 01

      The agent is the user

      Every capability is a typed command an agent can discover. Nothing lives in hidden editor state, and there is no GUI to click through.

    2. 02

      Proof, not vibes

      A change is done when its expectations pass and the state digest changes as intended. Compiling is not acceptance.

    3. 03

      Same seed, same world

      Scenarios pin seeds, ticks and commands. Two runs give one digest, so every bug can be replayed from a file.

    4. 04

      Eyes when it matters

      Headless by default, captured through Vulkan when pixels matter. A missing or black frame counts as a failure.

    5. 05

      Nothing you didn't ask for

      A small core with optional modules. A disabled module isn't compiled, linked or discoverable.

    6. 06

      AI builds it, AI doesn't run it

      The runtime never calls a model. Your game ships with no AI dependency, and any agent can drive development.

    Also in the boxIsolated worktrees per agentAgent skills in every projectCoded, structured errorsBuild identity sidecarsDeterministic glTF cookingMeasured iteration loop

    04Not to be confused with

    An engine you own,
    not a game generator.

    "AI game engine" means four different things. Here is where SimEngine sits.

    GEN

    AI game generators

    Describe a game, get a playable browser build. Great for quick prototypes, but the model makes the implementation decisions and you inherit whatever architecture it picked.

    NN

    Neural game engines

    Research systems like GameNGen generate every frame with a neural network. Fascinating, but there is no scene, code or toolchain to build a game on.

    EDT

    Editors with an AI assistant

    Unity, Unreal and Godot add assistants and MCP servers to a visual editor. Useful, but the agent still works through a tool built for a mouse.

    SIM

    SimEngine

    A native C++20 and Vulkan engine whose primary interface is the agent's: CLI, typed JSON, seeded runs and captures. You direct the game; the agent builds it and proves each change.

    SimEngine's architecture and roadmap →

    05The agent loop

    How an agent ships a change,
    in five steps.

    This is how a coding agent builds with SimEngine today, and the loop the engine is optimized for. Every step is a command the agent runs and a JSON document it parses. The edit-build-run-verify cycle is tracked like a frame-time budget.

    01 / 05

    Discover

    The agent asks the engine what it can do. It gets back one typed JSON document listing schema versions, commands, components and modules, so it doesn't have to guess from the docs.

    $simengine_host --capabilities

    { "capabilities": {
        "schema_version": 1,
        "scenario_schema": { "schema_version": 1 },
        "commands": ["simengine.entity.set_position"],
        "modules": [] } }
    

    06Onboarding

    Setup is one prompt
    you paste into your agent.

    SimEngine's setup is written for your agent. It runs the same rerunnable scripts that humans and CI use, and it reports failures verbatim instead of working around them.

    The repository opens with the first distributable milestone.

    prompt.txt
    Set up SimEngine and verify my environment end to end.
    
    1. Clone the repository and read AGENTS.md first.
    2. Run tools/setup.ps1 (Windows 11) or ./tools/setup.sh --install-missing (Linux).
    3. Expect zero failures among the selected CTest tests; report skips separately.
    4. Show me the smoke summary JSON naming my Vulkan device.
    5. Report anything that failed verbatim, with its exit code.
       Do not work around a failure silently.

    07Comparison

    Unity vs Unreal vs Godot
    vs SimEngine.

    Unity, Unreal and Godot are excellent, production-proven engines built around a visual editor, with AI added through assistants and MCP bridges. SimEngine trades the editor for an interface agents drive directly. Here is what that buys you for AI game development, and what it costs.

    SimEngine vs
    Comparison of Unity, Unreal Engine, Godot and SimEngine for AI-assisted game development
    As of Oct 2026 Unity Unreal Engine Godot SimEngine
    Built for 2D/3D across mobile, console, desktop and XRHigh-end 3D, AAA productionLightweight, general-purpose 2D/3DCoding agents building 3D sims and large worlds
    Primary interface Where the work happens, and what an agent must learnPartial: Visual editorPartial: Visual editor + BlueprintsPartial: Visual editorStrong: CLI and typed commands, JSON in and out
    AI integration Partial: Unity AI assistant + MCP bridge (beta, paid plan)Partial: Experimental MCP plugin in the editor (5.8)Limited: None first-party; community MCP pluginsStrong: The engine interface itself is designed for agents, with any provider
    Headless runs Partial: Batch mode, -nographicsPartial: Commandlets, -nullrhiPartial: --headlessStrong: Seeded scenario runner is the main loop
    Machine-readable results Partial: Logs + Test Framework reportsPartial: Logs + Automation/Gauntlet reportsLimited: Logs, community test toolsStrong: One JSON document per command, coded errors
    Reproducible verification Partial: Play-mode tests you write and maintainPartial: Automation tests you write and maintainLimited: Third-party (GUT, gdUnit)Strong: Built-in expectations + final state digest
    Scene format How easily an agent can read and diff itPartial: YAML with GUID referencesLimited: Binary .uassetStrong: Text .tscnStrong: Versioned schemas, explicit units and frames
    Language C#C++, BlueprintsGDScript, C#, C++ (GDExtension)C++20 (gameplay authoring model under review)
    Gameplay runtime What executes your game codePartial: C# (Mono JIT or IL2CPP)Strong: Native C++, Blueprint VMPartial: GDScript VM, C#, native C++Strong: Native C++ and data, no VM, no GC
    Rendering Strong: URP / HDRPStrong: Nanite, LumenPartial: Forward+, Vulkan / GLLimited: Direct Vulkan 1.3, PBR subset today
    Large-world precision Limited: Floating origin by handStrong: Large World CoordinatesPartial: Optional double-precision buildStrong: Typed hierarchical frames, camera-relative rendering
    Platforms Strong: 20+Strong: Desktop, console, mobile, XRStrong: Desktop, mobile, web, XRLimited: Windows 11 x64 (Linux headless)
    License & cost Partial: Proprietary · Personal free under $200K revenuePartial: Source-available · 5% royalty past $1MStrong: MIT · freeStrong: MIT OR Apache-2.0 · free (source opening soon)
    Maturity Strong: Production, since 2005Strong: Production, since 1998Strong: Production, 4.xLimited: Pre-release: you can't ship a game yet
    ✓Strong for agents~Partial–Limited

    Based on public documentation as of October 2026. Unity, Unreal and Godot are production engines that ship thousands of games. SimEngine is pre-release, and the table says so. The question here is narrower: how well can a coding agent drive each engine on its own?

    Which should you pick?

    Unity for the widest platform reach, Unreal for high-end 3D, Godot for a light, open, text-friendly engine. Pick SimEngine if you want your agent to prove its changes, and you can wait for it to mature.

    08Status, honestly

    What works today,
    and what doesn't yet.

    A SimEngine offscreen Vulkan capture: PBR spheres and a cylinder on a checkered ground with world axes
    SCN-001 · offscreen Vulkan · RTX 4070 TiEngine output, not concept art

    ✓Works today

    • Seeded, headless scenarios with typed commands and expectations
    • Offscreen Vulkan PBR capture to PNG with a manifest
    • Windows scene playground: camera, selection, move, export
    • Offline glTF/GLB cooking for a strict static subset
    • Typed rigid frames with camera-relative GPU submission
    • Optional modules selected at build time
    • Agent skills for create, modify and diagnose

    …Not yet

    • Supported rigid-body physics (experimental adapter is gated)
    • Textured materials, shadows, atmosphere
    • Game loop, input and audio for shipping a game
    • Planetary terrain and orbital propagation
    • Full typed operations and controlled reload
    • Platforms beyond Windows
    Full roadmap: 13/56 tasks done →

    09FAQ

    AI game engine
    FAQ.

    Still curious? The long version is in why we built SimEngine.

    An AI game engine is a game engine built so that AI agents can create, run and verify a game, not just suggest code. In SimEngine, that means typed commands, seeded headless runs, machine-readable results and offscreen captures that Claude Code, Codex or another coding agent can use without a human clicking through an editor.

    It depends on what you need today. To ship a game now, Godot, Unity or Unreal with an AI assistant or MCP plugin is the safe choice. If you want an engine whose interface is designed for coding agents, with reproducible runs and checkable results, SimEngine is built for that, but it is pre-release and can't ship a game yet.

    An AI game generator turns a prompt into a playable game and makes most implementation decisions for you. An AI game engine gives an agent the infrastructure to build a game you direct and own: code, scenes, runs and tests. SimEngine is an engine, not a generator. There is no prompt-to-game shortcut.

    AI can write much of a game's code, and generators can produce small browser games from a prompt. A complete, polished game still needs a human directing design, art and review. SimEngine's bet is narrower: give the coding agent an engine where it can prove each change worked, so you review evidence instead of guessing.

    Yes. Any agent that can run a shell command and read JSON works: Claude Code, OpenAI Codex, Cursor, GitHub Copilot, Gemini CLI and others. No MCP bridge is needed. New projects include agent skills (SKILL.md files) for creating, modifying and diagnosing a scene, which the agent loads to learn the workflow.

    Because its primary user is an LLM, not a person with a mouse. An editor adds GUI state an agent cannot see and a large surface it would have to learn. SimEngine exposes everything as typed commands, versioned text and captures instead. A minimal diagnostic inspector is planned for humans who need to look inside.

    That is a design goal, and it is measured rather than promised. A smaller surface (one capabilities document, a compact API index, no GUI) means less context spent learning the engine, and checkable results mean fewer retries. SimEngine tracks cost per accepted change, including model cost, on a fixed task corpus against a baseline.

    AAA visuals are the ambition, not a claim yet. The runtime is native C++20 on a direct Vulkan 1.3 backend, with no VM or garbage collector, and frame time is treated as a budget: the proposed target is 2560×1440 at 60 FPS natively rendered on reference hardware. Today the renderer covers a PBR subset.

    No. AI drives development, not the runtime. The engine, examples and tests never need an API key or provider SDK, and no frame ever waits for a model. Your shipped game has no AI dependency.

    Not yet. Today you can author seeded scenes, run them headless, capture them with Vulkan, cook static glTF assets and explore them in a Windows playground. Physics, a game loop, input and audio are still on the roadmap, which is public and evidence-gated.

    MCP plugins connect an agent to an editor built for humans. SimEngine starts from the other end: the CLI, the schemas and the results are the product, and the agent loop (discover, author, run, capture, verify) is a first-class engineering target with measured iteration times.

    It will be. The code is dual-licensed MIT OR Apache-2.0, and the repository opens publicly with the first distributable milestone. There is no paid AI plan and no AI dependency in the runtime: you use whichever coding agent you already have.

    Windows 11 x64 with a Vulkan 1.3 GPU is the first supported target. Linux builds run the headless toolchain and CI. Other platforms come later and only with an accepted decision.

    SimEngine started from SpaceSim, a space game first built in Godot. Reaching scales between Kerbal Space Program and SpaceEngine, with AAA visuals and agent-driven development, meant owning the frames, renderer and tooling contracts end to end. The full story is in "Why we built SimEngine" on our blog.

    →Open source soon · MIT OR Apache-2.0

    Build with your agent, not around it.