Story Promises in Interactive Fiction Need a Keeper
Story promises in interactive fiction are open loops a reader is owed. What counts as one, how authoring tools track them, and why AI narrators drop them.
A story promise is any detail that tells a reader something is still owed — an oath sworn, a door locked, a stranger who looks at you a beat too long. Story promises in interactive fiction are harder to keep than in a novel, because the reader invents half of them and no author stands by with a list. Whether one is ever paid off depends on something outside the prose keeping count.
- A story promise is an open loop: a setup the story has not yet paid off or refused.
- A clear refusal closes a promise as cleanly as a payoff; silence does not close it.
- Authoring systems hold promises as state, not prose: ink stores how often a passage has been read as an integer, and Inform declares the conditions on which a scene begins and ends.
- In an AI-narrated story most promises are made by the reader, so no author’s checklist exists to measure them against.
- A promise nothing records is dropped the turn its scene falls out of the narrator’s view.
What counts as a story promise?
Anything that raises an expectation and has not yet met it. The term covers more than foreshadowing. A promise can be made by a character, by the furniture, or by the narrator’s attention — a rifle described in the first act, in Chekhov’s example, is a promise because the camera lingered. The reader does not need to notice the mechanism to feel the debt.
| Kind of promise | How it is set up | What a payoff looks like | How a drop reads |
|---|---|---|---|
| Oath | A character swears to do something | The deed, or the broken word named aloud | The oath is never mentioned again |
| Threat | Someone says what will happen to you | It arrives, or is visibly averted | The menace quietly evaporates |
| Object | A thing is described more closely than its room | It is used, lost, or claimed | It stays scenery forever |
| Door | A way is shut, locked, or forbidden | It opens, or the refusal is explained | The map stops containing it |
| Arrival | A figure is introduced with weight | They return and matter | They never appear again |
Notice that each row has two acceptable endings and only one failure. A payoff is not the same as a happy outcome, and a promise honored badly by the world of the story is still honored by the story.
How are story promises in interactive fiction tracked?
As named state, kept outside the prose. This is the part the craft books leave out and the authoring tools make unavoidable: a writer of branching fiction cannot hold open loops in their head, because the reader will not visit the passages in the order they were written. The promise has to become a thing the program can ask about.
In ink, the scripting language inkle wrote for its own games, the test for “has the reader seen this yet” is the address of the passage itself. The documentation is blunt about what that value really is: a knot used in a condition “is actually an integer variable containing the number of times the content at the address has been seen by the player.” Its worked example gates an accusation on a clue — {seen_clue} [Accuse Mr Jefferson] — so the option to accuse cannot appear before the setup that earns it.
Inform goes further and gives the open loop a name and a lifespan. A scene is declared with the condition that opens it — Train Stop begins when the player is in the Station for the third turn — and with up to thirty-one differently named endings, so an author can write Brief Encounter ends happily when ... alongside other exits. Afterward the story can test if Brief Encounter did not end happily. The manual puts it well: the endings of a scene “are like the map connections leading out of a room.”
What this costs the author
The price is that every promise must be declared in advance. Inform and ink can only check loops a writer thought to open, which is why hand-authored interactive fiction tends toward a small cast of very well-paid promises rather than a sprawl of small ones. The discipline is real and the ceiling is low.
Why does an AI narrator drop a promise?
Because it was never anything but prose. A narrator generating scenes live is handed some block of text each turn and writes the next passage from it; a vow made in scene two exists in that block only while the block still contains scene two. Nothing in the arrangement distinguishes the sentence carrying an oath from the sentence describing the weather.
The second reason is specific to the form. Most promises in a live-narrated story are made by the reader, in their own words, at a moment no author anticipated. You tell a dying woman you will find her brother. That line is now load-bearing, and no checklist anywhere was written with it on it.
Fabledrift, an interactive fiction app for Android, treats promises as entries rather than sentences: every scene is generated live, and the narrator is handed the story’s structured memory — facts, characters, places, promises — on each turn. A story journal shows what the narrator currently holds. Memory is never a paid feature, on any narrator, because a story that forgets what you swore is not a cheaper story.
The signature of a dropped promise
A dropped promise rarely shows up as a contradiction. It shows up as a story that cannot land. Scenes stay competent and start to feel interchangeable; characters turn courteous and ask what you want; the dread that organized the first hour simply thins out. Nothing is wrong on any single page. There is just nothing left open for an ending to close.
Can a refusal count as a payoff?
It can, and the best interactive fiction leans on this. A promise is an obligation to answer, not an obligation to deliver. The brother is found dead. The locked door opens onto a room stripped bare. The oath is broken and a character says so, to your face, naming what you swore. All three close the loop, and two of them are better stories than the version where you win.
This is also the honest answer to whether choices matter in an AI story: they matter exactly as far as something tracks them and later refers back. A refusal that names the promise proves the record exists. A narrator that waves the question away is telling you the loop was never written down.
Worlds can be built to make the debt felt. The Emberwood, one of the two launch worlds and their narrators, is described on its cover as a forest that remembers every promise made beneath its branches, which is both a premise and a warning to the reader about what an enchanted forest is obliged to collect.
A short ledger to keep while you read
Story promises in interactive fiction survive on the reader’s side of the page too, and three habits do most of the work. Make one promise at a time and make it concrete — a coin returned, a grave visited, a name spoken to the right person. Name the figure you made it to, out loud, once. Then come back for it in plain words, without restating the terms, and see what the story has kept.
What you learn in that moment is worth more than any feature list. A story that answers with the debt is holding a record. A story that answers warmly and vaguely is holding nothing, and the next twenty scenes will be as pleasant and as weightless as the last.
Frequently asked questions
What is a story promise?
A story promise is any detail that creates an expectation the story has not yet met: an oath, a threat, a locked door, an object described more carefully than the room around it.
Does a promise have to be paid off to be kept?
No. A promise is closed either by a payoff or by a clear refusal on the page. What leaves a reader owed is silence, when the story simply stops referring to something it drew attention to.
Why do AI narrators forget what they set up?
Because a setup written only as prose has no existence outside that passage. Once the passage falls out of what the model reads on a turn, the promise is gone unless an application is recording it separately.
How do interactive fiction authoring tools track promises?
As state. In ink, whether a passage has been read is an integer the author can test; in Inform, a scene declares the conditions on which it begins and the several ways it can end.
How can I make promises an AI narrator will keep?
Make one at a time, make it concrete, and name the person you made it to. A specific debt owed to a named figure survives where a vague intention does not.