How the difficulty works
Free, no sign-up, works offline.
Difficulty comes from two places: the world moves faster, and the gaps between obstacles get tighter. Both are bounded, which is the part that matters.
What to know
- Speed starts at 330 units a second and climbs towards 900, approaching it without ever arriving.
- A new level begins every 18 seconds, up to level 12.
- Each level may use a tighter gap between obstacles — but never tighter than one jump plus 260 ms of thinking time.
- New obstacle types unlock with the level, one at a time, so each is learnable before the next arrives.
- An obstacle too wide for one jump at the current speed is never spawned, at any level.
In more detail
The speed curve is exponential rather than linear, and that is the single most important decision in the whole game. A linear ramp eventually outruns human reaction time, at which point surviving is luck — and a player who cannot tell a mistake from bad luck stops improving and stops playing. An asymptotic curve keeps getting harder forever without ever crossing that line. By five minutes in you are at 900 units a second and the game is genuinely difficult, but every obstacle on screen is still one you had time to see.
Questions
Does the game ever become impossible?
No. The minimum gap between obstacles is derived from how long a jump takes plus how long a person needs to react, and difficulty can only tighten the slack above that floor — never cut into it.
Does it get harder after level 12?
The level stops climbing but the speed does not, so the pixel gaps keep stretching while the time between obstacles stays constant. In practice it feels like a plateau you settle into rather than a wall you hit.
Is the obstacle order random?
It is random within rules. Which obstacle appears is a weighted draw from the types unlocked at your level; how long until the next one is a draw from that level's gap range. Today's run uses the date as its seed, so everyone playing it gets the identical sequence.
Every figure on this page is read from the game's own tuning and recomputed on each build, so it describes the game you are actually playing rather than a version of it that once existed.