Kelly Mears

Compulsion Loop

The short action-reward-anticipation cycle that manufactures "one more" regardless of what sits at the end of it.

Play & Games2 min read287 words8 out · 8 in
also calledCore loopHook loop

Compulsion loop names the short cycle of action, reward and anticipation that produces "one more run," "one more pull," or "one more level" independent of whether what follows is worth the time it costs. Four components recur: fast feedback so the outcome of an action registers in under a second, a variable reward so the payoff is not fully predictable, near-miss framing so a loss reads as almost a win rather than simply a loss, and a visible next goal so the loop never runs out of a reason to continue.

The same machinery produces a well-paced Roguelike Deckbuilder run and a predatory monetization scheme, and the mechanism does not distinguish between them — only the calibration does. A run of Idle Game or Bullet Heaven design tightens the loop toward flow: feedback arrives fast, the next unlock is close and visible, and stopping is the player's decision because the game has nothing to gain from preventing it. A Gacha Monetization system common to Free-to-Play releases tightens the identical loop toward extraction: the visible next goal sits just past a paywall, and stopping is precisely what the design works against.

What distinguishes the two is not the loop's shape but its incentive structure — who benefits when the loop keeps running, and whether the player's stopping point was engineered to be uncomfortable. The underlying reward pattern is frequently Variable-Ratio Reinforcement, since an unpredictable payout produces the loop's most compulsive form, which is why the ethical argument about a compulsion loop is never about whether it exists but about who calibrated it and toward what. Live Service Game and Meta-Progression design both depend on the loop staying open across sessions rather than closing at the end of one.

See also5

Hand-picked in the note itself — the neighbours worth reading next.

Linked from8

Notes elsewhere in the wiki that reach for this one.