Spielerando

How to Pace a Game Story Without Boring Players

Good pacing means the player always has something to do and a reason to keep going, so switch between playing and story. Have your AI model your scenes and run a checker over every path, because long stretches of talk often appear only on paths you never play yourself.

Why does my story feel slow, then rushed?

Picture an orchard game on a cursed island. It opens with six screens about the island's history, before the player has picked a single apple. Then nothing happens for two hours. Then, in one evening, the ghost appears, the mayor confesses and the orchard burns down.

Each scene is fine alone. The AI wrote them one at a time, and it cannot play your game, so it has no feel for how long anything takes. Optional scenes make this worse. On your favourite path the pace is fine. On another, three talking scenes land back to back.

Which facts and rules can a checker test in pacing?

A checker cannot feel pace. It can count, on every path:

  • Facts: what kind each scene is (play, story or rest), how many story scenes came in a row, and how tense each scene is.
  • Never more than two story scenes in a row. Pick the number that suits your game.
  • Play comes first. The player does something before any long story scene.
  • One big surprise at a time. Two big surprises never sit next to each other.
  • A quiet moment follows a big one.

These are limits you choose, not laws. A pass means your limits held. Only playing tells you if it feels right.

What does a real check look like?

Here is the orchard as a model. The player picks apples and the ghost appears. Then the player either repairs the fence or stays for the mayor's confession, which is optional. After that the orchard burns.

We ran this invented story through TLC 2.19 on 2 November 2026. This is TLC's real output. We only left out its housekeeping lines and put each step on one line.

Error: Invariant NeverMoreThanTwoStoryScenesInARow is violated.
State 1: scene = "Start", storyScenesInARow = 0
State 2: scene = "Pick apples", storyScenesInARow = 0
State 3: scene = "Ghost appears", storyScenesInARow = 1
State 4: scene = "Mayor confesses", storyScenesInARow = 2
State 5: scene = "Orchard burns", storyScenesInARow = 3

On the path that includes the mayor, three story scenes follow each other. Skip him and you never see it. That path is the proof.

The fix: after the confession, the player repairs the fence too, before the fire. We ran TLC again.

Model checking completed. No error has been found.
9 states generated, 7 distinct states found, 0 states left on queue.

TLC looked at all 7 states the story can reach, and the limit held on every path.

Do I have to read any of this?

No. You never have to read the model or the checker's output, because your AI writes it, runs it and tells you the result in plain words. TLA+ is a language for modelling, and TLC is the tool that checks a model. If TLC cannot run on your computer, your AI can get a ready-made checker through our MCP server and run it in your project. Spielerando never looks at your story.

A pass means your limits held on every path in the model. It does not mean your story is good or that the pace feels right.

Paste this to your AI

Do not just tell me the pacing feels good. You cannot feel my game. Model it and check it with a tool.

1. Read the story and the game. If you cannot see my files, ask me to paste them.
2. List every scene in play order. For each one, write what happens, whether it is mostly play, story or rest, about how many minutes it takes, and how tense it is from 1 to 5. Say what each estimate rests on: the amount of text, what the player does, or the line that makes you say so.
3. Create story-bible.md if it does not exist, and add this list as a section called Pacing map.
4. Write a TLA+ model of the story in a folder called story-check.
   - Facts, as state: the kind of the current scene, how many story scenes came in a row, and how long since the last big surprise.
   - Steps: every scene and choice, including optional scenes, with what it needs and what it changes.
   - Rules, as invariants: never more than two story scenes in a row. The player does something before any long story scene. Two big surprises never sit next to each other. A quiet scene follows every big one.
5. Run the TLC model checker on the model so that it walks every path. If TLC cannot run here, use get_recipe with story-model-check through Spielerando and run that checker in this project. If you can run neither, tell me, and do not claim that anything was checked.
6. For each broken rule, show me the exact path of scenes the checker found, in plain words.
7. Suggest the smallest change for each path: shorten, move, split, or turn something told into something the player does. Do not add new chapters. Wait for me to pick.
8. After each fix, update the model, run the checker again and show me the result.

Report only which rules held, how many states were checked and whether the check was cut off. Never tell me the pacing feels good. For anything you cannot show from the scenes, say "I do not know".

Or skip this and connect the MCP: your AI then finds all of this by itself.Connect the MCP

How to check it worked

  • Play the path it gave you. Follow those exact scenes in the game. Does the stretch feel as long as it looks?
  • Time the start. How long is it from pressing start until the player does something real?
  • Watch a friend play, and do not help. Note where they skip text, look away or reach for their phone. No checker can tell you that.
  • Ask what they want to know next. If they have no answer, the story has lost its pull at that point.

Sources

Last updated: 2026-11-02