Skip to main content
Euca is one typed HTTP API over a deep engine. Every capability below is reachable the same way — build, play, experiment — and every endpoint is in the API reference. This page is the map.
Hosting — three classes. Most of the engine runs headless: world, simulation, physics, gameplay, navigation, input, and the logic of animation/particles/terrain all run on the Quickstart’s headless server. What needs more: (1) visible output (rendering, camera, and the on-screen side of UI/animation/particles/terrain) needs a GPU/render host; (2) audio and Lua scripting need their own resources — an audio engine, a script VM — not a GPU; (3) everything else, including input, is fully headless. Cards below mark which is which.
“AI” here is never an in-engine LLM. Euca ships no language model. The agents that drive Euca are external — your code or model, talking to the API. In-engine AI is classical and deterministic: POST /ai/set assigns a behavior (idle / patrol / chase / flee), and the euca-ai crate is a behavior-tree library (selectors, sequences, a blackboard). AI asset generation is a separate feature that calls external text/image-to-3D providers — and even then the generated mesh never touches the world’s ground truth.

Build a world

Entities & components

Spawn/despawn, patch components, tag, reset, observe — the world as a table.

Rules as data

when X do Y as inspectable data, changeable mid-run.

Templates & prefabs

Named entity templates and registered prefabs for reusable spawns.

Heroes

Hero definitions and selection — apply hero templates to entities.

Play a world

Simulation

Step, play, pause — physics, combat, and rules run deterministically each tick.

Combat & abilities

Damage/heal, projectiles, triggers, abilities, AI behaviors (behavior trees), match lifecycle.

Economy & items

Inventories, equipment, a gold-based shop, and status effects.

Navigation

Navmesh generation and A* pathfinding; set entity path goals.

Experiment & verify

Forks & counterfactuals

Deep-clone the world, intervene, diff, drop.

Snapshots & probes

Labeled snapshots, diffs, and probe = advance + assert in one call.

Assertions & manifest

Testable expectations and a feature manifest for sprint contracts.

Determinism & replay

Byte-for-byte reproducible runs; scenarios, levels, scene save/load.

Rendering, visuals & I/O

The logic of most of these runs headless; only the visible output (or, for audio/scripting, a non-render resource) needs more than the headless example server.

Camera & rendering

Camera pose/presets, screenshots, per-entity materials, post-processing, volumetric fog. Needs a render/GPU host — see Engine internals.

UI & HUD

HUD text and bars; layout + hit-testing compute headless, drawing needs the GPU host.

Animation

State machines, blend spaces, montages, root motion, two-bone + FABRIK IK — pose math is headless; on-screen skinning needs the GPU host.

Particles & terrain

Particle emitters; heightmap terrain (sculpt/splat, LDtk/Tiled import, heightfield colliders) — simulation/authoring is headless, display needs the GPU host.

Audio

Spatial + global sources, buses, reverb zones, occlusion. Needs an audio-engine resource (not a GPU).

Lua scripting

Sandboxed Lua per entity (spawn/despawn, read/write position & health, events, hot reload). Needs a script-engine resource — headless-compatible, no GPU.

Input

Key/action bindings, action maps, a context stack, gamepad. Fully headless.

MOBA systems

A full MOBA layer — hero attributes, buildings/towers, creep waves, Roshan, items/recipes, fog-of-war/wards, day-night, neutral camps. Headless logic.

Platform & tools

The euca CLI

A command-line client that maps 1:1 to the HTTP API, plus discover / explain / schema.

Networking

A client-server replication + prediction library (UDP/QUIC). A library, not yet wired into a shipping game.

AI asset generation

Text/image → 3D mesh across 8 providers; appearance stays decoupled from ground truth.

Asset cooking

euca-cook: GLB → optimized .emesh with LODs and baked convex-hull collision.

AI asset generation

POST /asset/generate starts an AI 3D-asset job (text/image → mesh) across multiple providers; poll status and list tasks. Generated appearance is decoupled from ground truth — an AI-made mesh never changes the world’s exact state, which is what keeps the engine usable as a world-model answer key.

The full surface

All 121 endpoints, grouped by family, with request/response schemas and a playground.