All case studies

Glupo Puzzle — 200 levels that are provably solvable

Most water sort clones shuffle tubes at random and strand players on impossible boards. Every level here was solved by a machine before it shipped.

Glupo Puzzle — 200 levels that are provably solvable
Client
In-house title
Platform
Android / Google Play
Engine
Unity
Genre
Puzzle
UnityC#level solverAdMob rewarded video

The challenge

Water sort is one of the most cloned puzzle formats on mobile, and almost every clone shares the same defect: levels are generated by shuffling tubes at random, and nobody checks whether the result can actually be finished.

That produces a specific, trust-destroying failure. A player works on a board for ten minutes, cannot solve it, and eventually concludes they are not clever enough — when in fact the board was never finishable. There is no way for them to tell the difference from inside the game. An unsolvable level and a very hard level look identical until someone proves otherwise, and by then the player has already decided the game is broken, or that they are.

It is worse than an ordinary bug because it is invisible to the developer too. A randomly shuffled board usually is solvable, so casual testing passes. The failure only surfaces in the field, scattered across a small percentage of levels, reported as "I'm stuck on 47" rather than as a defect.

The second problem is that difficulty in a sorting puzzle does not come from where people assume. Adding more colours makes a board look harder and often is not — more colours with plenty of spare tubes is simply more bookkeeping. The thing that actually makes these puzzles hard is the absence of free space: when there is nowhere to temporarily park a colour, every pour has to be in the right order, and a single careless move becomes unrecoverable. Tuning difficulty by colour count alone produces a curve that flattens out and stops challenging anyone.

Third, the genre's own simplicity sets a trap for the interface. The rule set is four lines long. Any tutorial, modal, or onboarding flow costs more attention than the rules themselves would, so the game has to teach by being played rather than by being explained.

And finally there is scoring. Finishing a water sort board is usually not difficult once a player has the hang of it, so completion alone stops being a meaningful goal fairly quickly. Without a second axis, the game runs out of things to ask for long before the level list ends.

Our approach

Every level is verified by a solver before it ships. Not spot-checked, not sampled — all 200 boards were run through a solver that searches for a complete sequence of legal pours and replays those moves through to the finish. A board that cannot be solved does not become a level. This is the foundation the whole game rests on, and it is the one thing that separates it from the clones: the game can honestly promise that every board in front of you has an answer.

The solver produces something more valuable than a yes or no. Because it finds the shortest solution, the game knows the optimal move count for all 200 boards. That number is not just validation sitting in a build script — it becomes the scoring system, which is what turns a one-off check into a feature players interact with every session.

Difficulty was built on free space rather than colour count. Three dimensions scale together across the 200 levels: tube depth grows from two units of liquid up to five, colour count rises to seven, and available free space shrinks. The third is the one doing the real work. Early boards are forgiving because there is somewhere to park a mistake; late boards are hard because there is not, and the player has to work out the order things must come apart in before the first pour. That is a genuine planning problem rather than a memory one, and it keeps climbing where a colour-count curve would have flattened.

Stars are tied directly to the solver's answer. Three stars require finishing in the shortest possible number of moves — the exact solution the solver found. Two stars go to an efficient solve, one to a completion. The lowest move count is saved per level, so a cleared board remains something to improve rather than a closed box. This gives the game a second axis of difficulty at zero content cost: a player who finds 200 completions easy still has 200 optimal solves ahead of them, and a three-star late board means they matched the solver exactly.

The helpers are scoped so they assist without dissolving the puzzle. Undo steps back one move at a time, for a pour that was wrong the instant it landed. Hint reveals a pour that keeps a solution alive — importantly, it preserves solvability rather than simply suggesting any legal move, which would be worse than useless on a tight board. Shuffle rearranges into a fresh layout that is still guaranteed solvable, so the escape hatch cannot drop a player into an impossible position. Three of each to start, nothing locked behind them, and no point in the game requires them.

Friction was removed everywhere it could be. The levels live on the device, so the game works with no connection. There is no sign-up, no account and no login. There are no timers, no lives and no energy meter — nothing that can tell a player they may not play right now. Boards persist mid-level, so a session can be two minutes long and still be worth starting. The layout is one-handed portrait, because the places this game gets played are buses and queues.

Presentation carries the teaching. Pouring is animated with liquid that settles and sways, which does more than look pleasant: it makes the result of a pour legible, so a player learns the rule by watching it rather than by reading it. The palette is soft enough for long sessions, and the seven liquid colours were chosen to stay clearly distinguishable from each other — in a game where the entire decision is which colour goes where, two colours that read alike is not a cosmetic issue but a broken mechanic. Sound, music and vibration each have an independent switch.

After the 200 levels there is continued play drawn from the hardest stretch of the game, so the curve does not end with the content.

The result

A water sort puzzle that cannot strand the player. All 200 levels were solver-verified before shipping, so a board that looks impossible is always just unsolved — and the game can say so honestly, which is exactly what the cloned versions of this genre cannot.

The solver's shortest solution became the scoring system rather than staying a build-time check. Three stars means matching the optimal move count, so every cleared level keeps a second goal attached and 200 completions turn into 200 optimal solves.

Difficulty scales on free space rather than colour count, which is what keeps the late boards genuinely hard: with nowhere to park a mistake, the player has to plan the order of disassembly before the first pour.

The helpers assist without breaking the puzzle — Hint preserves solvability rather than suggesting any legal move, and Shuffle only ever produces another solvable board.

No connection, no account, no timers, no lives. The board waits exactly as it was left, and the whole game works one-handed in portrait.

Live on Google Play, free, with optional rewarded video for extra helpers.