‹ Back to blog

Easy to understand, hard to master: designing real difficulty

There are two very different ways a game can be difficult, and players can usually tell within a few attempts which one they're dealing with, even if they couldn't name the difference outright. One kind of difficulty comes from the game being unpredictable or unfair — hitboxes that don't match what's on screen, obstacles that appear with no warning, randomness that occasionally makes a level flatly impossible. The other kind comes from the game asking something real of the player: precise timing, sustained attention, the discipline to correct a small mistake before it becomes a fatal one. Only the second kind tends to keep people coming back.

Concentration versus reflexes

It's worth separating two things that get lumped together under "difficulty": how fast a game demands you react, and how precisely it demands you think. A game can be difficult purely through speed — reflex-testing, twitchy, rewarding quick hands over careful judgment. A different kind of game can be just as difficult while moving at a measured pace, if the margin for error in each individual decision is narrow enough that concentration, not speed, becomes the limiting factor.

A tap-to-fly game built around rotating obstacles leans naturally toward the second kind, if it's tuned well. The world doesn't have to move especially fast for the game to be hard — what matters is how much room there is to be wrong. If an opening is generous enough that almost any timing gets you through it, the obstacle isn't really testing anything. If it's narrow enough that you have to read the exact moment an opening rotates into a passable position and commit to a precise vertical placement before it rotates away again, the difficulty comes from attention rather than speed, and that tends to feel earned rather than cheap when a mistake happens.

Handling mistakes, not just avoiding them

The other half of designing difficulty well is deciding what happens after a small error, not just before one. A design built entirely around avoiding mistakes treats every imperfect input as equally bad, which tends to produce a brittle, frustrating feel. A design built around recovering from mistakes treats a slightly mistimed tap as something that can still be corrected — a beat later, with the right follow-up input — before it becomes unrecoverable. That single design choice changes what a difficult moment feels like from the inside: not "I did something wrong and now I lose," but "I did something wrong, and now I have to fix it quickly."

This is a subtle distinction, but it's the difference between a game whose difficulty feels like a puzzle you're solving in real time and one whose difficulty feels like arbitrary punishment. The former asks for concentration and rewards it. The latter just asks for luck.

Why constant difficulty, rather than a rising curve, can be the more honest choice

Many casual games ramp difficulty upward as a run continues, on the theory that a longer run should feel harder to sustain. There's a real argument for a different approach: keeping the underlying challenge roughly constant throughout, so that a long, high-scoring run is a genuine demonstration of sustained concentration rather than a race against an artificially escalating clock. Under a constant-difficulty design, the question a high score answers isn't "how long could you survive an accelerating game," it's "how long could you stay precisely focused" — which is a more honest measure of the exact skill the game is actually built to test, and arguably a fairer one to reward.

This post reflects the design approach used in SHAPE FLOW itself, and draws on general genre analysis from Game Design Skills' overview of casual game design and Slavna Studio's guide to hyper-casual design principles.