AI Game Dev Search

"My choices didn't matter": how to make meaningful choices in games

Five tricks side by side that make a choice feel real: react at once, pay it off later, let characters remember, cut fake choices and show the stakes before the player picks.

Tested with Claude Code 2.1.296 · Opus 5.5

Two branching diagrams. Left: two choices that merge straight back into the same line, labelled 'Fake choice'. Right: two choices that lead to different replies and a later payoff, labelled 'He will remember that.'. Below, five labels: Acknowledge it, Delayed consequence, Remembered, Real difference, Show the stakes
What we asked“Make a web page that demonstrates the tricks that make player choices feel meaningful 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: acknowledge, delayed-consequence, remembered, real-difference, show-stakes. Use one short scene with two options (spare or turn in a hungry thief) on both sides, and compress "later" into a few seconds with a clear "later" marker. 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 choices skill
  • Downloaded free Kenney packs: Tiny Dungeon characters, Tiny Town tiles, emote bubbles and two pixel fonts
  • Wrote one shared stage and five scripted scenes, with a loop, a replay and a way to choose yourself
Claude
Wren's sprite has a beard, so I wrote Wren as "he" (his sibling Tam calls him "my brother"). That's easy to change if you'd rather.
  • Fixed a heart emote hidden behind a speech bubble, and trees that drew as hollow outlines
  • Made the "later" marker: the screen goes black, a large LATER with a note like "Three days later, on the north road", then a "3 days later" chip stays in the corner
  • Checked at 720 px and 375 px, served and opened straight from disk, with no errors
Claude
Below 580 px the two panels stack, because side by side the in-game text would be too small to read on a phone. Each trick only plays while it's on screen, and restarts when you scroll back.

“My choices didn’t matter.” Players say it when the game cuts to the same scene whatever they picked, or when nobody ever mentions their choice again. Telltale’s The Walking Dead made “Clementine will remember that.” famous, and was also criticised when choices ended the same way anyway: in one early scene you choose which of two people to help, and the same one dies either way (Game Informer).

Every demo below uses one short scene. Wren, a hungry thief, stole bread from Hilde the baker, and you choose to Spare him or Turn him in. The left side plays it without the trick, the right side with it. The loops alternate between the two options, and a cursor clicks so you can see both outcomes. Let me choose pauses at the choice; your click plays the same pick on both sides.

1. Acknowledge it right away

React within a second or two. The other character’s face and next line should change with the option, and a short note can say it was noticed. Never cut straight to the same line. The Walking Dead shows a notification when a choice changes how a character feels about you (Wikipedia). In our demo, the left side cuts to “You head back to the town square.” whatever you chose. On the right, Wren’s face and words change at once, and a note says “Wren will remember that.”

2. Pay it off later

Bring some choices back much later, when the player has stopped expecting it. CD Projekt Red’s Paweł Sasko reportedly said delayed and “really delayed” consequences make the biggest impression on players (Game Developer). Another CD Projekt Red designer, Philipp Weber, said that “sometimes the consequence comes five hours later”, which also stops players reloading to redo a choice (GamingBolt). Our demo squeezes “later” into a few seconds with a black LATER screen. Then bandits ambush you on the road. On the left, it plays out the same either way. On the right, Wren comes back to help you, or he is with the bandits.

3. Have characters remember it

Save each choice as a flag, and let characters bring it up in later lines, barks and even prices: “You’re the one who spared my brother.” A choice nobody ever mentions again is wasted. The Walking Dead carries choices in the save, and they change later scenes, even across episodes (Wikipedia). In our demo, a “saved choice” tag appears in the corner. A week later, the lines and the price of bread depend on it. On the left, they are the same either way.

4. No fake choices

If two options lead to the same next line, they are really one option. Give each its own reply and some lasting change, or merge them into one line. Small flavour choices are fine, as long as they get different replies. On the left of our demo, both options get “Whatever. I’m off.” On the right, each gets its own reply and a lasting result: Wren free or in jail, 0 or 5 coins. Let both options play, and the log under each side fills in. The left one ends with “Same result either way.”

5. Show the stakes before the pick

Before the player chooses, make clear what each option risks and who it affects: who is watching, what the character wants, what it will cost. Players should choose what they value, not guess a hidden outcome. Disco Elysium shows your chance of success before a skill check: “you’ve seen the odds and you’ve seen the modifiers. Now it’s time to either click on the check or not” (Disco Elysium dev blog). On the left of our demo, the cost arrives after you pick, as a surprise: Hilde saw, and now charges you double. On the right, labels say Wren is “Starving” and Hilde is “Watching you”, and each button shows its cost.

You can’t branch everything

These tricks are cheap compared with writing two whole stories. Most of them are a different line, a flag, and one later scene that reads it. A few rules keep the work small:

  • Not every choice needs a payoff later. Every choice needs a different reply now.
  • Merge, don’t fake. If you can’t afford a difference, offer one option instead of two that end the same.
  • Test every branch. Script each option and count choice points where the next line is identical (should be zero), and choices nobody mentions again. Then ask a tester what each option would risk before they pick.

Add it to your game

  1. Copy the skill at the end of this page into your project.
  2. Ask your agent: “Make the choices in my game feel like they matter.”
  3. Play it, then tune in plain words: “Bring the thief back sooner.”

Art in the demos: Tiny Dungeon, Tiny Town, Emotes pack 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 make your choices matter. The last step scripts every branch and counts fake choices and choices nobody mentions again.

choices
  1. List every choice point, its options, and what each option changes now and later.
  2. Put every trick behind one named switch in a single settings object, all on by default, so each can be tested on its own.
  3. acknowledge. React within a second or two: the other character's face and next line differ by option, and a short note can say it was noticed ("Mira will remember that."). Never cut straight to the same line.
  4. delayed-consequence. Pay off some choices much later, when the player no longer expects it: a spared bandit returns to help, a refused favour closes a shop. CD Projekt's quest designers say delayed consequences make the biggest impression, and they stop players reloading to redo a choice.
  5. remembered. Store each choice as a flag and let characters refer to it in later lines, barks and prices ("You're the one who saved my brother"). A choice no one ever mentions again is wasted.
  6. real-difference. No fake choices. If two options lead to the same next line, rewrite them so each gets its own reply and some lasting change, or merge them into one line. Flavour choices are fine if they still get different replies.
  7. show-stakes. Before the player picks, make clear what each option risks and who it affects: who is listening, what the character wants, a visible cost. Disco Elysium shows the chance of success before you try a skill check. Players should choose a value, not guess a hidden outcome.
  8. Measure it. Script every branch and compare: count choice points where the next line is identical across options (should be zero), choices with no later reference, and the gap from each choice to its first payoff. Then ask a tester what each option would risk before they choose.

Save it as .claude/skills/choices/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.