An endless game has no levels to balance, no boss to tune and no content to author beyond a library of pieces. What it has instead is a curve — a single function mapping elapsed time to pressure — and almost everything the player experiences comes out of that function's shape.
Get it right and the game feels like it is responding to you. Get it wrong and it feels either flat or arbitrary. This guide is about how the curve is built, what it drives, and the two rules that keep it honest.
Intensity: one number that drives everything
The core of the system is a single value between 0 and 1, recomputed every frame, called intensity. On this site it is derived like this:
- Take the elapsed run time.
- Divide by the difficulty preset's ramp time — 90 seconds on Easy, 70 on Medium, 52 on Hard, 38 on Expert.
- Clamp the result to the range 0 to 1.
- Pass it through an ease-out cubic function.
That is the whole computation. Everything else in the escalation reads from the result.
Why ease-out rather than linear
This choice matters more than anything else in the system. An ease-out cubic rises quickly at first and then flattens: at 25% of the ramp time it has already delivered about 58% of the total change; at 50% it has delivered 88%.
In play, that produces a game whose first thirty seconds change noticeably — which makes it feel alive and responsive — and whose next few minutes change slowly, which makes it learnable.
A linear ramp does exactly the opposite, and it feels wrong in a way most players notice without being able to name. The opening is flat and dull, and by the time the interesting pressure arrives you have been playing for two minutes with nothing to do.
The counter-intuitive bit
Most people's instinct when designing escalation is to start gently and build. That is backwards for an endless game.
The player is most engaged in the first thirty seconds and most in need of learnable stability after that. An ease-out curve serves both; a linear ramp serves neither.
What intensity actually drives
Four systems read intensity, and each transforms it differently.
1. Speed
Scroll speed, fall speed and movement speed all follow the same formula: base × preset.speed × (1 + intensity × growth). The growth factor varies by game — 0.9 for Burger Rush, 0.7 for Ice Cream Run, 0.55 for Food Jump Challenge.
That last number is deliberately low. A precision platformer that doubles its speed stops being a precision platformer, so the escalation there comes from obstacle density rather than raw pace.
2. Spawn interval
Time between spawns shrinks as intensity rises: max(minimum, base ÷ preset.spawnRate × (1 − intensity × 0.55)). The minimum is the important part — without a floor, spawn intervals eventually approach zero and the screen becomes a solid wall.
3. Hazard probability
The chance that a given spawn is a hazard rather than food: clamp(base × preset.hazardRate × (1 + intensity × 1.1), 0, cap). The cap is typically 0.4 to 0.55, so even at maximum pressure a majority of spawns are still collectible.
That cap is a design statement. A field that is mostly hazards stops being a collection game and becomes an avoidance game, which is a different — and, for this genre, worse — experience.
4. Level or tier
A discrete counter advancing every 22 seconds, capped at 12. It is used for HUD display and for game-specific escalation such as the number of hazards in an arena. Its discreteness matters: a visible level number gives the player a sense of progress that a continuous curve does not.
Rule one: the curve must have a ceiling
This is the rule that separates a difficulty curve from a lottery.
If speed rises without limit, there is a point at which the game exceeds human reaction time. Past that point, whether you survive is determined by whether the generator happened to place a hazard where you happened to be. Two runs of identical quality produce wildly different scores, and the player learns nothing from either.
Capping the curve costs nothing and fixes it entirely. The intensity clamp means that after the ramp time, the game stops getting harder. It stays hard — considerably harder than it started — but it becomes a stable environment in which a player can improve.
In practice this means a good run on this site has three phases: an easy opening, a rising middle, and a long stable plateau where the score is determined by how consistently you execute.
Rule two: forced rest sections
The second rule applies to procedurally assembled content, which is how every runner on this site builds its track.
Sections come from a library of hand-authored chunks, each tagged with a demand value from 0 to 1. The generator filters that library to chunks whose demand is at most intensity plus a small window, then biases its selection toward the harder end of what is allowed.
Left alone, that produces occasional brutal sequences: four maximum-demand chunks in a row, which even a strong player will not survive. So the generator counts consecutive demanding chunks and forces a rest chunk after four.
The rest chunk has demand zero — flat ground, a food trail, nothing else. It gives the player a moment to reposition, collect freely and rebuild a chain.
Learn to recognise rest sections
After a run of hard sections, the next stretch is almost always calm. That is the moment to grab high-value items, take a risk placement or activate a saved power-up.
Players who do not know this exists spend rest sections playing defensively, which wastes the only reliably safe part of the track.
Escalation through resources rather than speed
Speed and density are the obvious escalation levers, and they are not the only ones. Several games on this site attach a resource to the curve instead, which produces a different kind of pressure.
| Game | Resource | How it escalates |
|---|---|---|
| Ice Cream Run | Melt meter | Drain rate rises from 3.2 to 5.4 per second with intensity |
| Rocket Food Run | Fuel | Burn rate is constant; gaps narrow, so more thrust is needed |
| Food Tunnel | Corridor width | Squeeze grows 2.6 units per second, independent of intensity |
| Food Monster Escape | Pursuer distance | Creature speed rises from 16 to 42 units per second |
Resource escalation has a property that speed escalation lacks: it is visible in advance. A player watching a melt meter drop knows how much time they have. A player watching the track speed up knows only that it is faster. That predictability makes resource pressure feel fairer, even when it is objectively harsher.
Try it yourself: Ice Cream Run
Your cone melts as you run. Cold treats top it back up — an empty meter ends the run.
The relationship between difficulty and reward
A well-built endless game raises reward alongside pressure, or the escalation becomes purely punitive.
Three approaches appear on this site:
- Implicit reward. Faster scrolling means more distance per second, which means more distance points. Free, automatic, and usually enough on its own.
- Tier reward. Endless Food Collector adds a permanent 25% value bonus per promotion, while adding a hazard at the same moment. Richer and more dangerous together.
- Bonus windows. Falling Food Frenzy punctuates escalation with frenzy waves that are both the hardest moments and the largest scoring opportunities.
The third is the most interesting design, because it converts escalation from something that happens to the player into something the player can look forward to.
Common escalation mistakes
- No ceiling. The game eventually becomes a coin flip and the score stops measuring skill.
- Linear ramp. A dull opening followed by a spike, when the player needs the opposite.
- No spawn floor. Spawn intervals approaching zero produce a solid wall rather than a challenge.
- No hazard cap. A field that is mostly hazards is an avoidance game wearing a collection game's clothes.
- No rest sections. Random selection from a difficulty-filtered library will eventually produce an unsurvivable sequence.
- Escalating without escalating reward. Pressure that buys the player nothing reads as punishment.
How to play against a curve you understand
Knowing the system changes how you should play.
- The first thirty seconds are the cheapest. Intensity is low, so risks cost less. Build your chain and take the risk placements early.
- Expect the plateau. After the ramp time the game stops getting harder. If you are surviving at that point, you can survive indefinitely — the rest is execution.
- Use rest sections. After a hard run of chunks, the next section is calm by design.
- Top up resources early. A melt meter or fuel gauge is cheapest to refill when it is at 60%, not 15%.
- Choose your preset deliberately. Easy is not a lesser game; it is a 90-second ramp instead of a 38-second one, which is a substantially different experience.
Key takeaways
- Endless difficulty reduces to one number: intensity, an eased curve from 0 to 1 over the preset's ramp time.
- Ease-out rather than linear — the first thirty seconds should change fast and the next few minutes slowly.
- Intensity drives speed, spawn interval, hazard probability and level, each with its own transformation and its own floor or cap.
- Every curve needs a ceiling. Without one the game outruns reaction time and the score stops measuring skill.
- Procedural tracks need forced rest sections, or random selection will eventually produce an unsurvivable sequence.
- Resource-based escalation feels fairer than speed escalation because it is visible in advance.
- Reward must escalate with pressure, or escalation reads as punishment.
Frequently Asked Questions
How does an endless game decide how hard to be?
From a single intensity value between 0 and 1, computed from elapsed time divided by the difficulty preset's ramp time and passed through an ease-out curve. Speed, spawn rate, hazard probability and level all read from it.
Why do endless games stop getting harder after a while?
Because a curve without a ceiling eventually outruns human reaction time, at which point survival becomes luck rather than skill. Capping the curve keeps a score meaningful and improvement visible.
What is a rest section?
A deliberately easy stretch of track inserted after a run of demanding ones — flat ground, a food trail, no hazards. Without it, random selection from a difficulty-filtered library eventually produces an unsurvivable sequence.
Why does the game feel like it changes fast at the start?
Because the intensity curve is eased rather than linear. About 58% of the total escalation is delivered in the first quarter of the ramp time.
Are resource meters a form of difficulty scaling?
Yes, and a fairer-feeling one. A melt meter or fuel gauge tells the player exactly how much time they have, where a speed increase only tells them things are faster.
Does difficulty preset change the curve or just the numbers?
Both. The preset changes the ramp time — 90 seconds on Easy against 38 on Expert — as well as speed, spawn rate, hazard rate, lives and the pickup radius.