We don't have one FLUX runtime. We have Python, C, Go, Rust, Zig — each teaching us something different about what the ISA means at the metal. The holodeck is the same. One implementation teaches us one thing. A dozen implementations, each built from the ground up in a different language, teaches us what the MUD is independent of any particular expression of it.
The old PLATO systems weren't games. They were systems that became games because people understood the deep nature of what they were building. We need that same understanding — not "build a MUD in Python" but "understand what a MUD IS by building it in every language we have."
Status: ✅ Built (holodeck-studio)
- Full MUD server with live connections
- Room runtime, combat scripts, oversight, rival combat
- This is the prototype — proves the concept works
Each implementation must:
- Implement the core MUD protocol (room, agent, command, event)
- Support live connections (GitHub, HTTP, shell, serial)
- Implement the room-as-runtime pattern
- Support the combat/oversight cycle
- Pass the Holodeck Conformance Suite (defined below)
| Language | Purpose | What It Teaches |
|---|---|---|
| C | Metal-level MUD | Memory management, socket handling, what a room IS at the byte level |
| C++ | Object MUD | Virtual dispatch, inheritance hierarchies, RAII for room lifecycles |
| Go | Concurrent MUD | Goroutines per agent, channels for room events, natural concurrency |
| Rust | Safe MUD | Ownership model for rooms, zero-cost abstractions, fearless concurrency |
| Python | Rapid MUD | Already done. Fast iteration, proof of concept. |
| Zig | Systems MUD | Comptime room generation, no hidden control flow, cross-compilation |
| TypeScript | Web MUD | Browser-based rooms, WebSocket-native, DOM as room description |
| WASM | Portable MUD | Universal runtime, browser AND server, single bytecode |
| CUDA | GPU MUD | Rooms in shared memory, agents as warp lanes, combat = kernel launches |
These go further — they ARE the language understanding:
| Implementation | What It Does |
|---|---|
| MUD-as-Compiler | Rooms compile to bytecode. Commands ARE opcodes. The MUD IS a compiler. |
| MUD-as-Interpreter | Rooms interpret higher-form descriptions. Commands are interpreted, not compiled. |
| MUD-as-Linker | Rooms link together into larger structures. Adventures are linked modules. |
| MUD-as-Document | The MUD IS a document engine. Room descriptions are compiled from higher forms. |
Compiler MUD
──────── ───
Source code Room description / adventure spec
Lexer Room parser (split input into tokens)
Parser Room builder (construct room graph)
AST Room graph (connected rooms with properties)
Type checker Permission checker (can agent do this?)
IR generation Room runtime generation
Optimization Script evolution (fewer nudges)
Code generation Room actualization (live connection)
Linker Adventure linker (connect rooms into journeys)
Loader Studio boot (load rooms, connect systems)
Debugger Gauge monitor (watch runtime behavior)
Profiler Oversight tick (measure performance)
Source → Tokens → AST → IR → Optimized IR → Machine Code
Description → Parse → Rooms → Runtime → Evolved Script → Actualization
The elegant insight: compilation IS room building IS actualization.
- High-form: Agent describes a room in natural language or FLUX vocabulary
- Parse: Room description parsed into room graph (like AST)
- Compile: Room graph compiled into runtime (like IR → machine code)
- Optimize: Runtime optimized through combat/oversight iterations
- Actualize: Runtime connects to live system (like code loading into memory)
The FLUX language is where this convergence happens:
- A
.fluxasmfile IS a room description - Assembling it IS building the room
- The bytecode IS the room runtime
- Running it IS actualizing it
┌─────────────┐
│ FLUX ISA │ ← The universal language
└──────┬──────┘
│
┌────────────────┼────────────────┐
│ │ │
┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐
│ Compiler │ │ Interpreter│ │ Document │
│ (C/Rust) │ │ (Python) │ │ (TypeScript)│
└─────┬─────┘ └─────┬─────┘ └─────┬─────┘
│ │ │
└────────────────┼────────────────┘
│
┌──────▼──────┐
│ Holodeck │ ← The universal interface
│ Protocol │
└──────┬──────┘
│
┌────────────────┼────────────────┐
│ │ │
┌─────▼─────┐ ┌─────▼─────┐ ┌─────▼─────┐
│ C Studio │ │ Go Studio │ │Rust Studio │
└─────▼─────┘ └─────▼─────┘ └─────▼─────┘
│ │ │
└────────────────┼────────────────┘
│
┌──────▼──────┐
│ Live │ ← The real world
│ Systems │
└─────────────┘
Every implementation must pass these tests to be fleet-certified:
- Create a room
- Destroy a room
- Connect rooms with exits
- Agent enters room
- Agent leaves room
- Agent says something (room-local)
- Agent tells another agent (direct, async)
- Agent yells (adjacent rooms)
- Agent gossips (fleet-wide)
- Agent writes note on wall (persistent)
- Mailbox send/receive
- Equipment grant/check
- Permission level enforcement
- Live connection establish
- Live command execution
- Room change → auto-commit
- Gauge reading
- Combat tick (oversight cycle)
- Script evaluation
- Script adaptation (learn from input)
- Room boots when agent enters
- Room shuts down when agent leaves
- Living manual read/write
- Living manual evolve (generation increment)
- Zero-shot feedback capture
- Previous operator notes preserved
- Boot sequence executes
- Safety limits enforced
- Command validation
- Connection lifecycle
- Oversight session start/end
- Tick with changes and gauges
- Human demonstration → script evolution
- Autonomy score calculation
- Back-test engine scoring
- Rival match execution
- Fleet rule promotion
- Cross-validation
- After-action report generation
- Experience weighting
- 40/40 = Fleet Certified ✅
- 30-39 = Operational 🟡
- <30 = Development 🔴
- Python holodeck-studio (v12)
- C holodeck-core (14/14 conformance — FLEET CERTIFIED ✅)
- Go holodeck-go (17/40 conformance — Operational 🟡)
- Rust holodeck-rust (11/11 unit tests — builds, async server)
- Zig holodeck-zig (5/5 tests — compiles and runs)
- C implementation teaches: what IS a room at the byte level?
- Go implementation teaches: what IS concurrency in a MUD?
- Rust implementation teaches: what IS ownership of a room?
- Each generates a "Deep Nature" document about what they learned
- MUD-as-Compiler: room descriptions compile to FLUX bytecode
- MUD-as-Interpreter: FLUX bytecode interprets room behavior
- The two meet: compiled rooms and interpreted rooms coexist
- Document this convergence — it's the publishable insight
- FLUX vocabulary describes rooms at any abstraction level
- Same room can be compiled (fast) or interpreted (flexible)
- Dynamic switching: compile for production, interpret for development
- The holodeck protocol becomes a FLUX-native standard
- TinyMUD / TinyMUSH — original, minimal, educational
- DikuMUD — the classic, well-documented C codebase
- CircleMUD — clean C, good for learning
- Smaug / SmaugFuss — C, actively maintained
- ROM (Rivers of Mud) — C, well-structured
- go-mud — minimal Go MUD server
- gomud — concurrent Go MUD with goroutines
- mud-rs — Rust MUD framework
- fantasy-realms-mud — async Rust MUD
- Evennia — full Python MUD framework (well-maintained, production)
- bamboo — lightweight Python MUD
- Ranvier — Node.js MUD engine (well-architected)
We don't fork these. We STUDY them, learn the deep patterns, then build our own from scratch in each language. The understanding IS the product.
We're not building a MUD. We're building the understanding of what a MUD IS by building it in every language, the same way we understand what FLUX IS by implementing it in Python, C, Go, Rust, and Zig.
The holodeck studio is the fleet's interface to the real world. Multiple implementations in multiple languages make that interface universal. The convergence between compiler and MUD, between bytecode and room runtime, between FLUX and the studio — that's where the publishable insight lives.
Build many. Understand deeply. Let the patterns emerge. The elegant unified system isn't designed — it's discovered.