AI Game Dev Search

Why players skip your dialogue: how to create stakes in a story, with five game-writing tricks

How to create stakes in a game story, shown side by side: open on a want, end on a change, put a familiar face at risk, plant the final question and limit new names.

Tested with Claude Code 2.1.296 · Opus 5.5

A monster over an empty house, then the same scene with a friend and a heart in danger.
What we asked“Make a web page that demonstrates the story tricks that make players care why they are doing something one at a time, so anyone can see and feel each one within a few seconds. For each one, show the same short moment side by side: without it on the left, with it on the right, playing in a loop, with a caption that says what just happened and a replay button. Where it helps, let me play the moment myself. It will sit inside a blog post about 720 pixels wide, so it has to look good at that width and on a phone. Also make each one viewable alone with ?trick=<id>&solo, using these ids: want-first, end-on-change, face-at-risk, plant-payoff, name-budget. Use one tiny original story in a narrow dialogue box centred low, where the left side is the same scene written flat, and ask the reader one quick question after each side. Use the internet freely for better results: free CC0 art, fonts or small libraries (for example Kenney's CC0 assets) are welcome; download anything you use into this folder so the page works without outside links, and list each item with its licence and source in CREDITS.md.”

What happened

  • Loaded the story-stakes skill
  • Downloaded Kenney's Tiny Town and Tiny Dungeon tilesets and two Kenney fonts (all CC0)
  • Wrote one small story, a scene engine and five scripted moments, each with a flat version beside it
Claude
Most of it looks right. A few things to fix: the woodpile overlaps the forge roof, the whistle slot collides with the plant-and-payoff track, and the night scenes are a bit washed out.
  • Clicked through every Play it yourself path (hold the ladder, catch the whistle, blow it three times, tap the forge) to the end with no errors
  • Checked the phone layout and the question-and-compare flow under each side
  • Wrote CREDITS.md and checked the page works offline
Claude
The well tile reads as a hooded stranger, so I removed it. Below 560 px the two sides stack, labelled Without and With, and if the reader has reduced motion on, each demo plays once and waits for Replay.

Players skip dialogue when nothing in it matters to them. The lines may be well written, but if nobody wants anything, nothing changes and the people in danger are strangers, the player’s thumb goes to the skip button. Kurt Vonnegut’s advice for fiction works for games too: “Every character should want something, even if it is only a glass of water” (Futility Closet, quoting his rules).

All five demos use one tiny story. Wren’s brother Tobin goes into the woods just before the fog comes in. Gran needs the gate lamp lit before dark, and Tobin leaves Wren a whistle: “Three blows and I’ll come running.” Each demo plays one moment twice in a narrow dialogue box: flat on the left, with the trick on the right. A live counter under each side shows the number that matters. After each side, a quick question asks how it felt, and once you’ve answered both, a line compares your answers. Play it yourself turns both sides into click-to-advance, with one small action to do.

1. Open on a want

Within the first two lines of a scene, someone wants something or has a problem, and you can see it in what they do. Cut the warm-up chat. On the left of our demo, Gran and Wren trade three lines of small talk about the weather and the hens, and the want arrives at line 4. On the right, the first line is “Wren! Hold the ladder, quick!” while the ladder wobbles. Every line after it explains why tonight matters: Tobin is still out in the woods. Vonnegut had a matching rule: “Start as close to the end as possible.” In play mode, you press and hold to steady the ladder.

2. End on a change

End each scene with something changed, or a question left open, and then stop. Robert McKee says a good scene “turns the value-charged condition of a character’s life” (McKee Story). In our demo, both sides light the lamp. The left side goes on to supper and bed, and ends where it began, with everyone safe. On the right, fog swallows the light, a single whistle comes back from the woods, and Gran says: “One whistle? He always blows three.” Then it cuts to black. The question under it: do you want to see the next scene?

3. Put a face at risk

A threat only matters if it hits someone the player knows. Before the danger arrives, let the player spend time with that person: help them, or take something from them. Meet them through what they do, not a name card. The Legend of Zelda: Twilight Princess starts with Link working as a ranch hand in Ordon Village before the village’s children are taken (Wikipedia). On the left of our demo, Gran says “Tobin is lost in the fog” about someone you’ve never met. On the right, Tobin throws you his whistle (“Wren, catch!”), says “Back by dark. Keep the soup hot!”, and walks off. Then comes the same bad news. In play mode, you tap to catch the whistle.

4. Plant it, pay it off

Name the final question early, on the main path, bring it back at least three times, and let the ending answer it. Chekhov’s rule: “If you say in the first act that there is a rifle hanging on the wall, in the second or third act it absolutely must go off” (Wikipedia). The plant has to be on the main path; if it only lives in an optional side quest, players who skipped it get an ending they didn’t earn. On the left of our demo, a hunter you never saw finds Tobin: “Luckily, a passing hunter found him.” On the right, the whistle is planted in the first scene, and a row of dots at the top lights up each of the three times it comes back. At the end, Wren blows it three times and Tobin answers: “Heard you.” In play mode, you blow it yourself.

5. Keep a name budget

Bring in at most two new named characters per scene, each one through what they do, somewhere the player can see them. Hold every other name back until it matters. Working memory holds about four chunks in young adults (Wikipedia), and new names fill it fast. On the left of our demo, Gran says “Fetch Harrow, or Bess, or old Corin!” and “Dray saw Tobin past Fenwick’s mill!”: five names in two lines, each with a pop-up name card, and none of them on screen. On the right, Gran says “Run to the forge. Follow the sparks!”, and a smith steps out with a lamp before he says his name: “Harrow. Where’s the boy?” The question after: who is going to help Wren? In play mode, you tap the forge.

Not every scene is a cliffhanger

These tricks make scenes push hard, and a story that only pushes wears people out. Put breathing beats between the pushes: a short walk, an optional talk, a quiet moment in town. Every objective still needs a reason a character gives in the world at that moment; a line in the quest tracker on its own is not a reason. For what a good quest step looks like, see RPG quest design.

The skill checks the script with counts and a fresh pair of eyes:

  • Per scene: lines before the first want (2 or fewer), whether the last line changes something (yes), new names (2 or fewer).
  • Across the story: returns to the final question on the main path (3 or more), and time spent with the at-risk character before the threat.
  • Fresh-reader test: a new reader or a separate agent reads the opening and says in one sentence what the hero wants and what failure would cost. If they can’t, the stakes aren’t on the page yet.

Add it to your game

  1. Copy the skill at the end of this page into your project.
  2. Ask your agent: “Make players care about what happens in my game’s story.”
  3. Read it, then tune in plain words: “I don’t care about the brother yet.”

Art in the demos: Tiny Town, Tiny Dungeon and Kenney Fonts by Kenney (CC0).

The skill that made it work

This is the whole skill we gave Claude Code. Copy it into your project and ask your agent to raise the stakes in your story. It keeps the flat draft beside each scene, and the last step counts wants, changes and new names per scene, then has a fresh reader say what the hero wants and what failure costs.

story-stakes
  1. List every main-path scene in play order: who speaks, what the player is asked to do, every name introduced, and the final threat or question.
  2. Put every trick behind one named switch in a single settings object, all on by default, with the flat draft kept beside each scene for comparison.
  3. want-first. Within the first two lines of every scene, someone wants something or has a problem, shown in what they do ("Hold the door, the goats are out!"), not explained. Cut warm-up chat, not the in-world approach.
  4. end-on-change. End every scene with something changed (a door opens, a friend leaves) or an open question, then stop. Robert McKee: a scene "turns" a value in a character's life.
  5. face-at-risk. Before the threat arrives, let the player spend time with one person or place: help them, get something from them. Then the threat hits them. Twilight Princess opens with Link working in Ordon Village before the village's children are taken.
  6. plant-payoff. Name the final threat or question in the first tenth of the game, on the main path, and return to it at least three times before the end. The ending must answer it. Chekhov: a rifle on the wall in act one must go off.
  7. name-budget. At most two new named characters per scene, each met through what they do, in a place the player can see, with no name-card pop-ups. Hold every other name back until it matters. Cowan puts working memory at about four chunks.
  8. Measure it. For each scene count lines before the first want (2 or fewer), whether the last line changes something (yes), and new names (2 or fewer). Count main-path returns to the final question (3 or more) and minutes spent with the at-risk character first. Then a fresh reader or separate agent reads the opening and says in one sentence what the hero wants and what failure costs.

Save it as .claude/skills/story-stakes/SKILL.md in your project. Or connect your agent and type /aigamedev: it loads this skill with its reference files and the results from this post.