Slope

How Slope Gets Harder: Runs, Repeats and Speed-Ups

Published · Updated · 3 min read

Slope has no difficulty menu, yet a run at the start feels nothing like a run a minute later. The reason is in the track spawner, the part of the game that lays down pieces in front of the ball. This post looks at how that spawner chooses what to build. The details come from the state machines inside the Y8 Unity build that runs on this site; the names in quotes are the names used in the files.

The track is built in runs

The spawner does not pick one piece at a time. It picks a "run": a short group of pieces of one kind, such as a set of vertical obstacles, a stretch of thin track, a set of horizontal obstacles, a tunnel run or a dogleg run. Each choice is a weighted random pick, so some runs come up more often than others, but none of them follow a fixed order. That is why two attempts never share a layout and why learning a route is not possible.

The obstacle runs come in three groups that the files call the "easy run", "medium run" and "hard run". There are also "repeat" questions inside the spawner, such as "Repeat thin?", "Repeat tilt?", "Repeat dogleg?" and "Repeat death tunnel?", which decide whether the same kind of run comes back straight away.

Speed-ups decide how long a run is

The key detail is a counter of speed-ups. Each time the ball crosses a SPEED UP section, that counter goes up by one. The spawner reads it when setting how many times a run repeats. For each of the easy, medium and hard groups there is a check: if the speed-up count is still below that group's maximum, the repeat count is set to the speed-up count; once it reaches the maximum, the repeat count is held at the maximum.

In plain terms: early in a run, obstacle groups are short and you get a quick change of scenery. After several speed-ups, the same kind of obstacle can keep coming several times in a row before the spawner moves on. Harder stretches get longer, not just faster. The files do not show the exact maximum values in readable text, so we will not guess them here.

Long sections can be switched off

There is also a weight for long sections ("ProbabilityWeightForLongSections") and a state named "Turn Off Long Sections", reached after a "Check score" step. So at some score the spawner changes how often long sections appear. The threshold itself is stored as a number rather than as text, so the post leaves it out instead of making one up.

Two kinds of speed-up piece

The spawner has a normal speed-up piece and one called "Speed Up No Spawn". Both raise your speed, and both play the same visual cue: the SPEED UP message, a wider field of view and a short trail behind the ball. Inside the speed-up logic there are paired "Accelerate" and "Stop accelerate" states, which shows that the push happens while the ball is on that stretch and then stops. Speed in Slope rises at these marked places, not with the clock.

What this means when you play

  • The early track is a warm-up by design. With a low speed-up count, runs are short. Use this part to settle in, not to take risks.
  • Each SPEED UP is a warning. It means the next obstacle groups can be longer as well as faster. Give yourself a moment of straight track after the message before you steer hard.
  • Repeats are a pattern you can read. When one kind of obstacle comes twice, there is a fair chance it comes again. Keep the same rhythm rather than resetting your position each time.
  • Tunnels are not always safe. The spawner has plain tunnels and "danger" versions with obstacles inside, plus a "death tunnel" that can repeat.

What does not change

Some things stay fixed for the whole run: the controls, the two ways to lose (falling off or touching red) and the way the score is counted. There are no power-ups, lives or checkpoints. The game gets harder only through the track it builds and the speed you pick up on the way.

More from the blog

Play nowSlope — the full game, free