
simulation
Abstract base for runtime state — adventure, city-sim, ecosystem all inherit from this
by SimHacker|Open Source
🎮 Simulation
Abstract base for runtime state — concrete types inherit from this
MOOLLM K-Lines
| K-Line | Why Related |
|---|---|
| adventure/ | Concrete type for narrative exploration |
| society-of-mind/ | Simulation as society of agents |
| time/ | Turn mechanics |
| party/ | Party and selection state |
| character/ | Player entities |
| needs/ | Dynamic motivations |
| buff/ | Temporary effects |
| action-queue/ | Task scheduling |
| prototype/ | Concrete types inherit from abstract |
| speed-of-light/ | Many turns in one call |
| ONE-STEP-TRAP.md | Sutton options vs micro-rollout; bike safari field case |
| examples/urban-safari-ride-game.yml | Guess/suggest game; pie network; VoyStick |
Quick Links:
- Full Specification — complete protocol
- One-Step Trap — temporal abstraction
- Ride game — steering + pie + VoyStick
Overview
Abstract base for runtime state management. Concrete simulation types inherit from this:
| Concrete Type | File | Purpose |
|---|---|---|
| Adventure | ADVENTURE.yml | Narrative exploration |
| City Sim | CITY.yml | Urban simulation |
| Ecosystem | ECOSYSTEM.yml | Population dynamics |
[!IMPORTANT] Don't create
SIMULATION.ymldirectly. Use a concrete type likeADVENTURE.ymlwhich includes all simulation properties plus type-specific ones.
What Simulation Provides
All concrete types inherit:
- Turn tracking —
simulation.turn,TICK,PAUSE - Parameters — git, display, gameplay settings
- Party/Selection — who's playing, who commands go to
- World state — flags, active buffs
- Git time machine — commits = undo points
Concrete Type: Adventure
The most common concrete type. ADVENTURE.yml includes:
# Simulation properties (inherited)
simulation:
turn: 47
paused: false
parameters:
git: { auto_commit: true }
display: { narration_level: normal }
player:
character: characters/don-hopkins/
location: pub/
# Adventure-specific properties (added)
adventure:
name: "Quest for Knowledge"
objective: "Find the truth"
navigation:
current_room: pub/
rooms_visited: [start/, maze/]
Commands
| Command | Effect |
|---|---|
PAUSE / RESUME | Stop/start time |
TICK [n] | Advance n turns |
REWIND [n] | Go back n turns (via git) |
SET [param] [value] | Configure parameter |