Secrets in Interactive Fiction Are Kept, Not Hidden
Secrets in interactive fiction need a keeper, not a hiding place. The three records a story must hold for a reveal to land, and how fakes give themselves away.
Secrets in interactive fiction are not withheld text. A secret is a fact the story has settled, a character with a reason to hold it, and a record of what you have actually been shown — and the reveal only lands when all three were in place before you asked. Withhold a fact with nothing keeping it and the reveal reads as an announcement.
- A secret needs a keeper: somebody in the story who loses something when it comes out.
- Three records have to be kept apart: what is true, what you were shown, and what each character knows.
- Ink, inkle’s authoring language, counts how many times you have seen a passage, which is how a written story knows what you already know.
- A reveal is earned when you can retrace it, so the story has to remember the moves you made before you understood them.
- A live narrator keeps only the secrets something recorded as secrets; whatever sits in its working notes can turn up in the next paragraph.
What counts as a secret and what is only unread text?
A secret is information somebody is actively keeping from somebody else. Unread text is the rest of the book. The two feel different when they arrive: unread text informs you, while a kept secret costs its keeper something at the moment it stops being kept. Most stories that advertise secrets have only the first kind.
The giveaway is that nothing changes for anyone when the information surfaces. A door opens, a name is supplied, the plot proceeds. Compare that with a reveal where a character who has been pleasant for ten scenes can no longer afford to be pleasant. The second one had a keeper. The first had a gap in the text, which is not the same thing.
Three questions to ask of any secret
- Who knows it, and since when?
- What do they lose if it comes out?
- What have you been shown that is consistent with it, and what would have been inconsistent?
If the first question has no answer, you are looking at unread text. If the second has no answer, the reveal will be a fact rather than an event. If the third has no answer, the secret is unfalsifiable: it could have been anything up to the moment it was stated, so it means very little once it is.
Why do secrets in interactive fiction break so easily?
Because the author stops owning the order. In a novel the hint on page forty always arrives before the payoff on page three hundred, and the writer can calibrate exactly how quiet the hint should be. Secrets in interactive fiction have no such guarantee. You can approach the reveal from several directions, miss the hint entirely, read it twice, or ask in scene two the question that renders it moot.
Position in the text therefore guarantees nothing. The setup has to be guarded by state: a condition the story checks, rather than a paragraph the story trusts you to have passed. This is why the fair-play detective story is the most demanding form in the medium, and why mystery interactive fiction needs its answer fixed in advance rather than decided when you finally accuse somebody.
It is also why over-hinting is the more common failure. An author who cannot be sure you saw the clue writes it three times, and by the third you have solved a puzzle that was supposed to take the whole book. Both failures have one cause: the story does not know what you have seen.
What does a story have to record before a reveal?
Three separate records, and the usual failure is collapsing them into one. A story that keeps only the truth will leak it. A story that keeps only your reading history has nothing to be consistent with. A story that models nobody’s knowledge but yours will write characters who speak above what they could possibly know.
| Record | What it holds | What breaks without it |
|---|---|---|
| The story record | What is actually true, settled before you look | The answer changes between reads, so nothing you noticed counted |
| Your sight line | Which scenes, objects and lines you were actually shown | Clues planted where you never went; hints repeated after you took them |
| Each character’s knowledge | Who knows, who suspects, who is lying about it | Characters who answer questions they should not be able to answer |
A fourth record does more work than it gets credit for: what you did. Reveals land hardest when they reinterpret your own moves rather than the narrator’s descriptions — the favor you did for the wrong person, the question you decided not to ask. That reinterpretation is only available if the story kept the move, which makes a reveal a memory problem before it is a craft problem.
How does a hand-authored story keep a secret?
By counting. In ink, inkle’s narrative scripting language, the names of passages double as counters: the ink documentation explains that such a name “is actually an integer variable containing the number of times the content at the address has been seen by the player”, and that “Text can also vary depending on logical tests, just as options can.”
Those two sentences are the whole machinery of a fair reveal. The author can write a line that appears only if you were in the room where the ledger was open, and a different line if you were not. The story is not adjusting the truth to suit you. It is adjusting what it says to match what you already know, which is exactly what a person keeping a secret in conversation does.
The older machinery has the same shape and can still be read. Infocom’s ZIL sources were released, and the Zork I repository describes itself as “a directory of source code for the Infocom game ‘Zork I’”, including files “both used and discarded in the production of the game”. The state a 1980 game kept about you is sitting there in plain text.
That is worth noticing, because a story written live has no such file. There is no authored source to appeal to afterward, so the only record of what was kept from you is the one the story made while you were reading it. If nothing wrote the secret down, the secret was never kept; it was improvised and then forgotten.
Why does a live AI narrator give secrets away?
Because nothing in its working notes is unsayable unless somebody marked it so. A narrator writes the next scene from the material it is handed, and material handed to a writer is material available to the writer. Three failures follow, and they are easy to tell apart once you know their shapes.
The leak is the obvious one: a character refers to something she has no way of knowing, usually in dialogue, usually one clause too early. The announcement is subtler — the story states the secret flatly, with no scene built for it, because nothing recorded that this was supposed to cost anyone anything. The third is evaporation: a secret invented in scene three, never written down, quietly contradicted in scene twenty.
Fabledrift, an interactive fiction app for Android, hands the narrator the story’s structured memory — facts, characters, places, promises — on every turn, so something established early is still there to be paid off forty scenes later. We treat that as the precondition rather than the craft. A fact in memory becomes a secret only when somebody in the story has a reason to hold it, and that reason has to be in the record too.
The related failure is the open loop nobody keeps, which is the same bookkeeping problem seen from the other end; story promises and the keeper they need covers that case. And if you want to test whether a story is keeping a secret or saving a sentence, asking the narrator a question outside the story is the quickest probe, because a secret with a keeper survives the question and unread text does not.
Reading backwards from the reveal
When a reveal lands, go back one scene and read it again before the feeling fades. The question is not whether you could have guessed. It is whether the earlier scene still works now that you know — whether the pleasant line reads as evasion, whether the detail you skipped was load-bearing. If it does, something was keeping that secret for you the whole time.
When a reveal does not land, the diagnosis is usually quick. Ask who was keeping the information and what it cost them. If the answer is nobody and nothing, you were not told a secret; you were handed the next paragraph slightly later than usual, and no amount of staging will make that feel like a reveal.
Frequently asked questions
What makes a plot twist feel earned?
A twist is earned when you can retrace it. The story has to have shown you something consistent with the secret before the reveal, and the reveal has to cost somebody something.
Can an AI narrator keep a secret from the reader?
Only a secret that is recorded as one. A narrator writes from the notes it is handed, so a fact sitting in those notes with no instruction to withhold it can surface in any paragraph.
Why do reveals in branching stories feel flatter than in novels?
Because the author no longer controls the order. A hint that always arrives before the payoff in a novel can be skipped, repeated, or read after the fact in interactive fiction, so the setup has to be guarded by state rather than by page number.
How can I tell whether a story is keeping a secret or improvising one?
Ask who is keeping it and what they lose. If no character is holding the information and nothing changes for anyone when it surfaces, the story was not keeping a secret; it was saving a sentence.