Skip to main content

What the engine can do

A Fatum adventure is a role-playing scenario one person plays in their browser, with no game master and no group. Before writing the first scene, it helps to know what the engine brings, and above all what it does not.

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 provide is three things: the vocabulary your declarations are written in, the order in which a reader's action resolves, and the guarantee that the same action on the same state always produces the same result.

The practical consequence: before writing a single scene, decide what your character sheet is. Which numbers exist, which of them are meters with a maximum, what the money is called, whether there are classes at all. Those declarations are your system, and every scene is written against them.

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 the reader will take for "the rules" is something you will have declared. Here are the available building blocks and what each one stands for.

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 A fact the run remembers, invisible to the reader: 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"
Values and resources look alike and are not the same thing. Take a value for a plain number: a statistic, a counter, a reputation. Take a resource when the number has a ceiling the player can be healed back up to: health, mana, stamina, a stress track with a breaking point.

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 reader cannot afford it, lacks the item or lacks the class, the action is simply not there. That is a product decision: the reader never reads a list of things they cannot do, and everything on screen can be played.

Every action produces exactly one outcome

Effects change the state of the run, and nothing else: they never change the scene and never end the run. Going elsewhere or finishing is the job of the destination, and there is exactly one at the end of every path. This is what makes it possible to check an adventure before anyone has played it.

What the reader sees

If your adventure declares classes (setting "Character creation" other than "No class") or a trait group that requires a choice, the start scene, whose role is "Character creation", opens on character creation: a name, and the choices you declared, each with the description you wrote for it. Without classes or choices to make, the run starts straight on the first scene.

An adventure's opening screen: its title, its description and the button to begin.
When the reader already has a run in progress, the page opens it straight away, where they left off, without going through this card.

The reader starts on a card that shows the title, your description and a single button. Nothing that follows is asked of them until they have clicked.

The character creation screen: two items received on entering the scene, the scene title and text, a name field, a class choice and an origin choice, each with its description, and the "Create the character" button.
The two grey lines at the top, "+1 Dim lamp" and "+8 Copper", are entry effects: what the character receives on arrival in the scene.

Next come the scenes. The reader reads your text, then chooses among the actions their character actually has available. What you see below is exactly what the engine displays, at this moment, for this character.

A scene being played: the title, two paragraphs of text, and the actions open to the character as buttons.
Only the actions genuinely open are shown. The others are not greyed out: they are not there.

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.

The character sheet, open: the name, the class, the visible values, the resource meter and the inventory.
Everything here was declared by you, including the order it reads in.

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.

A test and a fight, as seen by the reader

A test and a fight are the two moments when chance shows on screen. The reader does not roll anything themselves: they choose an action, and an already-decided result appears. What that result shows depends on your settings.

A test's display setting has three values. With "Dice visible", the reader reads the formula, the dice, the total, the difficulty and the verdict. With "Result only", they read the outcome without the numbers. With "Hidden test", nothing says a test happened: they simply read what comes next.

The result of a test set to "Dice visible": the formula, the dice rolled, the total, the difficulty and the verdict, above the scene that follows.
A test set to "Dice visible". The same test set to "Result only" would show only the outcome.

With "Dice visible", the dice roll across the page, and the result stays hidden until they stop. The reader can skip the animation by clicking anywhere or pressing Escape, and turn it off in the run menu ("Dice animation"). The result is the same in all cases.

A fight reads on a table. If there are multiple enemies, the reader first picks their target, then an action in the "Your action" zone. The table lists the "Opponents", then "You", then "Last round", which tells what the round just produced. From the second round on, the scene text folds behind "Read the scene text again".

The table of a fight after one round: opponents with their hit points, the damage marked next to the hit opponent, the character's line, the report of the last round and, at the bottom, the actions.
One round of the scavenging dogs, in the demo adventure. A blow landed: its damage is marked on the hit opponent, and each blow of the round is told under "Last round".

The last round's damage is marked on the table: a number with a minus sign (minus 6) next to the hit opponent, the same mark next to "You" for the blows taken, and "Missed" next to an opponent the blow missed.

Two fight settings decide what the reader sees. "What is visible of the enemies": "Exact hit points" shows a bar and a total (4 / 7), "General condition" shows a word (Unharmed, Visible wounds or In bad shape), "Nothing" shows no state. "Round report": "The full detail" tells each blow, "A summary" gives one sentence, "Nothing" tells nothing. The damage marks follow that report: with "A summary", only the character's mark remains, and with "Nothing", there are none. Dice only roll on screen when "Exact hit points" and "The full detail" are together.

What the engine does not do

Each of these absences is deliberate. All of them have been asked for at least once, which is why they are listed here: if nobody says so, a feature left out on purpose looks like a forgotten one.

  • It is not a tactical combat engine. A fight is a resolution step: no grid, no movement, no line of sight.
  • It is neither multiplayer nor a game master's tool. One reader, one run. No shared table, no shared session.
  • It is not a scripting language. You compose your rules from a closed list of conditions and effects. There is no expression to write and no code to type, anywhere in the editor.
  • It is not an equipment simulator. Inventory limits exist, by number of slots or by total bulk; there is no bulk penalty, no crafting, no durability and no random loot.
  • It is not a generator. Content is authored. Nothing is produced automatically during a run.
  • The engine does not keep track of time. There is no clock, no calendar and no day-night cycle. If your adventure needs to keep track of time, do it with a value.