Skip to content

What are storylets?

New to the idea? Start here. This page is about storylets as a way of building interactive stories, with no tool and no engine, just the idea. Once it clicks, Core concepts shows how Storylet Studio puts it to work.

You have probably played storylet games without knowing the word. None of Fallen London, King of Dragon Pass, Wildermyth, Reigns, or 80 Days runs off a single fixed script. They tell their story in small, rearrangeable pieces, handed to the player when the moment is right.

A chunk of story with a condition on the front

Section titled “A chunk of story with a condition on the front”

A storylet is a small, self-contained piece of narrative, a scene or an encounter or a moment, with a rule stuck on the front saying when it is allowed to appear. The rule is really just an if: show this when such-and-such is true.

Think of a deck of cards. Every storylet you write is a card in the deck. When the game wants some story, it doesn’t shuffle the lot and hope. It deals a hand of only the cards that are valid right now. You play one, and the next hand might look completely different.

A deck of storylet cards on the left, each carrying a condition. Only the cards whose condition currently holds are dealt into a hand on the right. The rest wait in the deck until the world changes in their favour. The deck every storylet you have written if met the blacksmith The Forge at Night if gold >= 50 Pay the Toll if winter The Frozen Pass if dragon woken The Reckoning dashed: waiting for the world to change deal a hand only what holds Your hand what is playable right now The Forge at Night condition met Pay the Toll condition met play one, the world shifts, and the next hand is dealt against what is true then

That is the whole trick: a chunk of story with a condition on it, dealt only when it fits.

The conditions are checked against the state of the world, the facts your story keeps track of. Has the player met the blacksmith? How much gold are they carrying? Is it winter? Is the gate open? You decide what is worth tracking, and you give each fact a name.

Most storylets change those facts when they play. Win the duel, a flag flips. Pay the toll, the gold drops. Since the next hand is dealt against the new state, the story always keeps up with what just happened. Deal, play, the world shifts, deal again. That is the loop.

Because every storylet carries its own condition, the same pile of cards can make very different stories:

  • Linear: a straight chain, each beat unlocking the next.
  • Parallel: several threads at once, so the player nudges a romance, a feud, and a missing-person case along a bit at a time.
  • Interwoven: those threads talking to each other, so a choice in one opens or closes a beat in another.
Three story shapes built from the same storylets: a linear chain where each beat unlocks the next; parallel threads the player advances independently; and interwoven threads where a beat in one unlocks a beat in another. Linear each beat unlocks the next Parallel threads advanced independently Interwoven a beat in one opens a beat in another dashed: one thread changing what the other can reach

The craft is in the conditions. Write them so that however the player wanders through, it still reads like a story and not a heap of scenes.

A beat should not always behave the same once it has been played. In Storylet Studio this is a card’s redraw setting:

  • One-shot (never) plays once and it’s gone. Your big plot turns.
  • Repeating (always) comes back whenever its condition holds again. Ambient flavour, recurring faces.
  • Cooldown (a number of turns) is available again, but only after a while, so it can recur without hogging every hand.

When more cards are eligible than there is room for, priority sets the running order. Give the big moment, the dragon finally turning up, a high priority and it pushes to the front the instant its condition is met, ahead of the everyday stuff.

Storylet Studio also breaks ties by how specific a card is, so the special case wins over the general one without you having to number everything. The whole ranking is on How a deal is decided.

Conditions do not just gate the plot, they tailor it. The same moment can land differently for a warrior than a thief, in winter than in summer, for a player who has been generous than one who has been a menace. You write storylets whose conditions key off those facts, and everyone gets the version that fits.

A few things come for free.

It grows cleanly. New content is just new cards with the right condition on the front, whether a seasonal event, a new character class, or a whole new region, dropped in without disturbing what is already there.

You can test it in pieces, since each thread stands on its own.

It stays honest. Eligibility is explicit, so the game only ever offers something that makes sense right now.

Open, reactive, ever-growing stories that still hang together. That is the appeal.

  • Core concepts: how Storylet Studio puts this to work, with the vocabulary the the rest of the documentation uses.
  • Getting started: install it and open a worked example. example.
  • The Village: a complete storylet project, playable in your browser.
  • The Hamlet: the same idea with Patter performing the dialogue, two engines in one game. performing the dialogue, two engines in one game.
  • Why Storylet Studio: whether this is the right tool for what you are building.

Open source under the MIT licence, made by .