No game system is included
The engine does not know what a hit point is. It does not know that gold is money, that a d20 is the usual die, that poison eventually wears off, or that zero health means death. It ships no statistics, no resources, no items, no currencies, no classes, no abilities, no damage types and no formulas.
What it does ship is three things: the vocabulary your declarations are written in, the order in which a player's action resolves, and the guarantee that the same action on the same state always produces the same result.
An adventure that wants 2d6 under a Luck score works exactly as well as one that wants d20 plus a statistic against a target number, because neither is built into the engine.
What you declare
Everything a player will take for "the rules" is something you declared. Here are the pieces available, and what each of them answers.
| You declare | What it answers | For example |
|---|---|---|
| Values | A plain number, on the character or on the run. | courage, reputation, suspicion |
| Resources | A meter, with a current value and a maximum. | breath at 8 of 10 |
| Items | What the character owns, money included. A currency is an item. | rope, brass key, coins |
| Events | Story memory, invisible to the player: it happened, or it did not. | spoke to the chandler |
| Statuses | A current condition, which you may make visible. | soaked, poisoned, blessed |
| Abilities | What the character can do, and what it costs. | lockpicking, quick patch-up |
| Classes and traits | The archetype, and the choices made at character creation. | lighthouse keeper, harbour child |
| Formulas | The arithmetic of a test or an attack. It is composed, never typed. | 1d6 + courage |
| Tests | An uncertain action, and what each outcome triggers. | climbing a wet stairway |
| Shops | A structured place to buy, sell or obtain a service. | the chandler's shop |
| Combats | A round-based fight, with its enemies and its attack options. | the seized mechanism |
| Endings | How a run concludes, and what the player keeps from it. | "The light returns" |
The two rules everything follows from
A visible choice is a playable choice
There is no greyed-out action with a reason attached. If the player cannot afford it, lacks the item or lacks the class, the action is simply not there. That is a product decision: the player never reads a list of things they cannot do, and everything on screen resolves.
Every action produces exactly one outcome
Effects change state and nothing else: they never move the player and never end the run. Going somewhere, or ending, is the destination's job, and there is exactly one per resolved path. That is what makes it possible to check an adventure before anyone has played it.
What the player sees
If your adventure declares a class or traits, the run opens on character creation: a name, and the choices you declared, each with the description you wrote for it.
The player starts there, on a card carrying the title, your description and a single button. Nothing that follows is asked of them before they have clicked.
Then come the scenes. The player reads your text, then picks from the actions genuinely open to them. What you see below is exactly what the engine decided to show, at that moment, to that character.
The character sheet opens beside the text. It shows only what you made visible: a value marked as shown, a visible status, an item in the inventory. What is hidden stays hidden, including from a curious reader.
Randomness, and why it does not move
A roll is derived from the run's seed and the action that triggered it, then stored. Refresh the page, come back tomorrow, click twice: the result is the same. A bad roll cannot be re-rolled by reloading.
You decide everything else: which formula is rolled, against which difficulty, and what a success and a failure do. The engine only guarantees that it happens once.
What the engine does not do
This list is a set of decisions, not a backlog. Each of these absences has been asked for at least once, which is why it is written down here: a feature absent by choice looks exactly like a feature absent by oversight until somebody says which it is.
- It is not a tactical combat engine. A fight is a resolution step, not a battlefield: no grid, no movement, no line of sight.
- It is neither multiplayer nor a game master's tool. One player, one run. No shared table, no common session.
- It is not a scripting host. You compose from a closed list of conditions and effects. There is no expression to write, no code and no JSON, anywhere in the editor.
- It is not an equipment simulator. Inventory limits exist; encumbrance, crafting, durability and procedural loot do not.
- It is not a generator. Content is authored. Nothing is produced automatically during a run.
- Time is your mechanic, not the engine's. There is no clock, no calendar and no day/night cycle. An adventure that wants time counts it itself, with a value.