pattern

Use when

You are adding a decision and want to know if it will actually be a decision.

What it is. A choice is real when the options differ on an axis the player values, the stakes are legible before committing, and no option dominates the rest. Everything else is a menu with one right answer wearing a costume.

Player fantasy / why it’s fun. “This is mine.” Ownership comes from having weighed something and paid for it. The player wants to author a path, defend it, and see it play out — not to be quizzed on what you already decided was correct.

The three tests

A decision must pass all three. Fail any one and it degenerates into antipattern-fake-choice.

TestQuestionFails when
DistinctionDo the options feel different, not just numerically bigger?+10% vs +12% damage; two skins of the same verb
LegibilityCan the player predict the shape of each outcome before picking?Hidden stats, antipattern-guess-the-designer, pure lottery
Non-dominanceIs there no single answer that’s best in all contexts?A antipattern-boring-optimal pick, a antipattern-solved-metagame

Distinction without legibility is a gamble. Legibility without non-dominance is a formality. Non-dominance without distinction is a coin flip. You need all three.

The core levers

Tune these to turn a fork from decorative into load-bearing.

Where distinction comes from

Numbers alone rarely distinguish. Reach for a categorical axis:

AxisOptions feel different because…Reference
Playstylethey reward different executionanchor-dishonored ghost vs. slaughter
Timingthey pay off on different horizonsanchor-civilization science now vs. army now
Risk shapeone is reliable, one is swingypattern-risk-reward, anchor-balatro
Resourcethey spend different currenciessystem-economy, system-resource-loops
Identitythey commit you to a buildsystem-build-diversity, anchor-hades boons

If two options differ only in magnitude, merge them or re-skin one onto a new axis.

Twist seams

Scaling: how many, how often

More forks is not more depth. It’s the fast road to antipattern-decision-paralysis and antipattern-feature-soup.

Overdone / failure modes

Checklist

Sits atop pattern-risk-reward (one axis of distinction) and feeds system-build-diversity (choices that accumulate into identity). Its shadow is antipattern-fake-choice; its overload is antipattern-decision-paralysis; its decay is antipattern-solved-metagame. Legibility leans on system-telegraphs and pattern-readability; stakes lean on system-economy. Prove the fun of a fork against design/FUN.md — a choice is real only if removing it makes the game measurably poorer.

This module rendersthe repo's markdowndirectly — edit it there, it changes here.