How We Make 5,000 Levels With One Perfect Solution Each
BallRoute has 5,000 levels, and we didn't draw them by hand. We didn't just throw random arrows on a board either: a random board is almost always impossible or boring. Here is how a level gets from an idea to your screen.
Step 1: Decide what the level should feel like
Every level number maps to a recipe: the board size, how many arrows on the route start out pointing the wrong way, how many holes there are, which mechanics may appear (golden arrows, portals, ice, keys) and roughly how many moves the perfect solution should take. Early boards are 7×5. The biggest are 12×8.
Difficulty doesn't just climb. It moves in waves across every ten levels: a step up, an easier one, then another step up. That rhythm matters. Constant difficulty is tiring, and constant ease is dull.
Step 2: Build a board with a real route
The generator first carves a route from the start to the exit, then fills the rest of the board with arrows, holes and the level's mechanics. Then it turns some of the route's arrows the wrong way. That is your puzzle. Because the route exists before anything is scrambled, every level is guaranteed to be solvable.
Step 3: Let a solver play it
Before a level is accepted, a solver plays it. It explores every way the ball could travel, keeping track of which keys it has collected, and finds the cheapest set of turns that gets the ball to the exit. That number becomes the level's par: the move count for three stars.
The solver then double-checks its answer by actually running the drop, with ice slides, portals and locked exits, to make sure the route really works.
Step 4: Make many, keep the best
For each level we generate a batch of candidate boards and score them. A good candidate:
- has one perfect solution, so three stars is a real discovery and not luck
- has a par close to the target for that level
- puts the level's mechanics on the route, not as decoration in a corner
The highest-scoring board wins. In our tests, every one of the first 600 levels has a single three-star solution.
Step 5: The same level on every phone
Each level is generated from a fixed seed, so level 347 is the same board on every phone, offline, every time. The daily challenge uses the date as its seed. That is why everyone gets the same puzzle on the same day without downloading anything.
What a computer can't decide
Some things still need people. We built level 1 by hand as a tutorial, chose when each new mechanic appears (golden arrows at 6, locked arrows at 12, portals at 17, ice at 21, keys at 31) and play a lot of levels to tune the recipes. If a level ever feels unfair, we want to hear about it at hello@ballroute.com.
Curious how the mechanics look from the player's side? Start with every BallRoute mechanic explained.