01 / PROSCENIUM Game studio · Early alpha
Proscenium icon
01 Proscenium

An agentic studio for 3D RPGs.

Levels, characters, quests, combat and the HUD in one native editor — and a coding agent that builds the world with you. Written in Rust on Bevy, scripted in Lua, and yours.

For macOS · Apple silicon
Rust·Bevy 0.18·Lua 5.4·Claude Code·Codex·Gemini CLI
The editor — sun, colour grade and entity inspector Screenshot
The editor — sun, colour grade and entity inspector
02 / Highlights Game Studio

What's inside.

01

Agentic by design

Describe a change in plain words. Claude Code, Codex or Gemini CLI edits the level, the editor validates it, and ⌘Z undoes it.

02

Real 3D, isometric soul

Bevy's 3D renderer behind an orthographic iso camera. Physically based lights, real shadows, flickering torches.

03

Quests as world state

Main and Side quests whose objectives are facts about the world — defeat every enemy, reach the cave, the gate is open.

04

Combat and progression

Factions, weapons and skills, enemy factories, experience, and a passive skill tree in the style of Path of Exile.

05

Lua where it counts

Small Lua 5.4 scripts hook into triggers, hits, loot and AI responses, reading and writing the world through one path syntax.

06

Your HUD, your way

Life and mana bars, action bar, bag, quest tracker and minimap — pinned to the screen's edges and dragged into place.

03 / Videos On YouTube
Scripting a crow YouTube ↗
04 / Screenshots Captured in Proscenium
Generative 3D modelling — revise a model by describing it
Generative 3D modelling — revise a model by describing it 01
Quests and factions during Play
Quests and factions during Play 02
The weapon library and real shadows
The weapon library and real shadows 03
05 / Under the hood Plain JSON · Plain Lua
The agent · Built in

Describe it. The agent builds it.

The editor never calls a model itself. It writes the level and an asset catalogue into the project, starts the coding agent you picked, and streams its progress back. A bundled skill teaches the agent the world format, the Lua API and the quest model, so it uses only your assets, places things near the centre of your view, and never renumbers what is already there.

  • Claude Code
  • Codex
  • Gemini CLI
Example run
› put four enemies around the shrine and give them bows
▸ reading .proscenium/agent/assets.json
▸ reading .proscenium/agent/world.json
▸ placing 4 × UAL2_Standard near cell (3,-2)
▸ labels: enemy · attackable · weapon: Bow
✓ Added four archers around the shrine.
Validated and loaded · ⌘Z to undo
Scripting

Script it in Lua.

Hooks for triggers, hits, loot and responses. Paths like world.entity[12].life autocomplete as you type.

assets/scripts/boss.lua
local enraged = false

function on_hit(hit)
  if not enraged and hit.life.value <= hit.life.max // 2 then
    enraged = true
    self_play_clip("Roar", false)
  end
  if hit.life.value <= 0 then
    self_set_attackable(false)
    world.vars.gate_open = true
    emit("boss_defeated")
  end
end
Quests

Quests are data.

A level is plain JSON, and its quests live in it — readable by you, writable by the agent.

worlds/world.json
"quest_book": {
  "quests": [{
    "id": 1,
    "title": "Kill all enemies",
    "kind": "Main",
    "xp": 250,
    "objectives": [{
      "goal": {
        "kind": "Defeat",
        "target": { "Label": "enemy" }
      }
    }]
  }]
}
Engine 01

Rust + Bevy

Native 3D with PBR lights and shadows.

Inside engine
  • Iso camera Orthographic 3D at the classic 2:1 angle. src/camera.rs
  • Painted ground Texture layers blended by a splat map. src/ground_splat.wgsl
  • glTF models Every animation clip, ready to play. src/model_view.rs
Editor 02

egui

One native macOS window, panels docked.

Inside editor
  • Overlay builder Custom HUD panels bound to live values. src/overlay_builder.rs
  • Passive tree Nodes, links and start points. src/passive_tree.rs
  • Audio mixer Master volume and a 3-band EQ. src/audio_mixer.rs
Behaviour 03

Lua 5.4

Embedded through mlua, one state per object.

Inside behaviour
  • Scripting host on_load, on_tick, on_collide and more. src/scripting.rs
  • Quests Event-driven goals over world state. src/quests.rs
  • Agents Headless coding-agent runs. src/agent.rs
Early alpha · Not yet released

Join the waitlist

Proscenium isn't out yet. Leave your email and I'll let you know the moment the first build is ready to download — just the release, nothing else.

Reading List