How We Hand-Tune 500 Levels: A Designer’s Retrospective
Loading…
Enough reading — go solve something
Every idea on this page is one tap away from practice. The first world is free, no download, no sign-up.
▶ Play Flow PuzzleLoading…
Every idea on this page is one tap away from practice. The first world is free, no download, no sign-up.
▶ Play Flow PuzzlePeople assume the hard part of making a puzzle game is the code. It isn't. The code that generates a solvable flow board took me about a week. Making five hundred boards that are actually worth solving took the better part of a year, and it nearly broke me. Here's the honest story of how the levels you play came to exist.
My first generator worked on day three. It happily spat out grids where every color connected and every cell filled. I was thrilled for about an hour, until I started playing them. They were technically perfect and completely lifeless. Some solved themselves the instant you looked at them. Others had a single obvious snake-through-the-whole-board solution with no decisions in it at all.
That was the lesson that shaped everything after: a puzzle being solvable and a puzzle being good are unrelated facts. A computer can guarantee the first. Only a human, playing it, can judge the second.
We build backward. Instead of placing dots and hoping for a solution, the generator starts with a completed board — paths already carving the whole grid into colored regions — and then erases everything except the endpoints. Because we started from a real solution, one is guaranteed to exist. (I dug into why that two-endpoint structure makes this possible in the piece on why colors appear twice.)
But "a solution exists" still isn't "a good puzzle." So every candidate board ran a gauntlet:
That last one has no algorithm. It's just hours.
To keep 500 levels, we generated and rejected somewhere north of ten thousand boards. The ones you play are the survivors of a fairly brutal selection process. The graveyard is much bigger than the game.
Five hundred good boards still don't make a good game if they're in the wrong order. A player's experience is a curve, and the curve matters more than any single level. So the worlds aren't random difficulty — they climb on purpose.
Early worlds — Mr. Bean, Charlie — live on small 5×5 to 7×7 grids and teach instincts gently. Each world ramps internally too: levels 1–10 are easy, then medium, then hard, then expert by level 40. By the time someone reaches Sherlock or The Hero, they're on 9×9 and 12×12 monsters, but they've been quietly trained for them the whole way. The jump from world to world should feel like a stretch, never a wall. I wrote the full tour in the world-by-world walkthrough.
Timers. Adding a countdown to certain levels from the Rocky world onward was the most argued- about choice in the whole project. A timer can add delicious tension or it can wreck the calm, meditative feeling that makes flow puzzles special. We landed on using it sparingly — specific levels, not all of them — so the clock is a flavor, not the whole meal. Whether we got that balance right is genuinely up to you, and there's a guide on surviving those timed levels if they're getting to you.
Level 50 of every world is a named boss — "The Teddy Bear Finals," "The Championship," "The Ultimate Battle." These took absurd amounts of tuning, because a finale has to feel like a climax without feeling unfair. It should be the hardest thing in its world and still be the thing you're proudest of beating. That's a narrow target. I unpacked the whole philosophy in the boss design piece.
Generate ruthlessly, but curate even more ruthlessly. Your players will never see the boards you cut, and those cuts are most of the craft. The game is defined as much by what you removed as by what you kept.
Every level you play is one I personally decided was worth your time. That's not marketing — it's just literally how it was made. I hope it shows.