Water Sort: when to use both empty bottles
Keep a spare when it helps, but be ready to use both. In Puzzle Perch's level 8, every solution must reach a point with no completely empty bottle. The two spares supplied at the start are enough to solve it.
The useful question is what space a move creates later. Follow this ten-pour example to see both empty bottles become buffers, then watch a new empty bottle emerge.
Try the level 8 exampleContents, bottom to top
- Bottle 1:mint, blue, mint, coral
- Bottle 2:blue, coral, mint, coral
- Bottle 3:blue, blue, coral, mint
- Bottle 4:Empty
- Bottle 5:Empty
No empty bottle can still mean a useful move
A completely empty bottle accepts any top color. A partly filled bottle can still accept its own top color, up to four layers. When both spares hold water, look for room above a matching top before deciding you are stuck.
For example, our level 6 solution keeps one spare untouched. Level 8 below needs both. Both examples use the same rules; the arrangement of the layers changes the decision.
- Only a connected group at the top can move. It pours as many matching layers as the destination can hold.
- The destination must have room and be empty or show the same top color.
- A finished bottle is full of one color. A short single-color stack can still be a useful destination.
This walkthrough is for Puzzle Perch's level 8. Other games may use a different board for that number. Match the diagram first. Number bottles 1–5 from left to right, continuing onto the next row on a phone. C = coral, B = blue, M = mint; the written contents run from bottom to top.
Use both spares, then recover an empty bottle
The first two pours give coral and mint separate destinations. The next moves peel layers off bottles 1 and 2 into those buffers. Bottle 1 becomes completely empty on pour 7.
1 coral layer
1. Pour bottle 1 into 4
Move coral into the first empty bottle. Bottle 1 now exposes mint. Keep bottle 4 as a coral destination.
After pour 1: bottle 1 into 4 Contents, bottom to top
- Bottle 1:mint, blue, mint
- Bottle 2:blue, coral, mint, coral
- Bottle 3:blue, blue, coral, mint
- Bottle 4:coral
- Bottle 5:Empty
1 mint layer
2. Pour bottle 1 into 5
Use the second empty bottle for mint. Both spares now contain water, but they still have room above a useful matching color. Bottle 1 exposes blue.
Both original spares are occupied. Matching tops still have room.
After pour 2: bottle 1 into 5 Contents, bottom to top
- Bottle 1:mint, blue
- Bottle 2:blue, coral, mint, coral
- Bottle 3:blue, blue, coral, mint
- Bottle 4:coral
- Bottle 5:mint
1 coral layer
3. Pour bottle 2 into 4
The coral on bottle 2 can join bottle 4. This uncovers mint in bottle 2, ready for the other buffer.
After pour 3: bottle 2 into 4 Contents, bottom to top
- Bottle 1:mint, blue
- Bottle 2:blue, coral, mint
- Bottle 3:blue, blue, coral, mint
- Bottle 4:coral, coral
- Bottle 5:mint
1 mint layer
4. Pour bottle 2 into 5
Send that mint onto mint in bottle 5. Bottle 2 now exposes another coral layer. No empty bottle is needed for this match.
After pour 4: bottle 2 into 5 Contents, bottom to top
- Bottle 1:mint, blue
- Bottle 2:blue, coral
- Bottle 3:blue, blue, coral, mint
- Bottle 4:coral, coral
- Bottle 5:mint, mint
1 coral layer
5. Pour bottle 2 into 4
The next coral joins bottle 4. Bottle 2 is down to its bottom blue layer, with room for the blue on bottle 1.
After pour 5: bottle 2 into 4 Contents, bottom to top
- Bottle 1:mint, blue
- Bottle 2:blue
- Bottle 3:blue, blue, coral, mint
- Bottle 4:coral, coral, coral
- Bottle 5:mint, mint
1 blue layer
6. Pour bottle 1 into 2
Join the two blue layers in bottle 2. Bottle 1 now contains only mint, and bottle 5 still has room for it.
After pour 6: bottle 1 into 2 Contents, bottom to top
- Bottle 1:mint
- Bottle 2:blue, blue
- Bottle 3:blue, blue, coral, mint
- Bottle 4:coral, coral, coral
- Bottle 5:mint, mint
1 mint layer
7. Pour bottle 1 into 5
Move the last mint out of bottle 1. You have recovered a completely empty bottle. Using both original spares made this route to new space possible.
An empty bottle returns: bottle 1 is now free.
After pour 7: bottle 1 into 5 Contents, bottom to top
- Bottle 1:Empty
- Bottle 2:blue, blue
- Bottle 3:blue, blue, coral, mint
- Bottle 4:coral, coral, coral
- Bottle 5:mint, mint, mint
1 mint layer
8. Pour bottle 3 into 5
The mint on bottle 3 completes bottle 5. This reveals coral in bottle 3, with its matching destination already prepared.
After pour 8: bottle 3 into 5 Contents, bottom to top
- Bottle 1:Empty
- Bottle 2:blue, blue
- Bottle 3:blue, blue, coral
- Bottle 4:coral, coral, coral
- Bottle 5:mint, mint, mint, mint
1 coral layer
9. Pour bottle 3 into 4
Complete the coral bottle. Bottle 3 is now two blue layers with two free spaces above them.
After pour 9: bottle 3 into 4 Contents, bottom to top
- Bottle 1:Empty
- Bottle 2:blue, blue
- Bottle 3:blue, blue
- Bottle 4:coral, coral, coral, coral
- Bottle 5:mint, mint, mint, mint
2 blue layers
10. Pour bottle 2 into 3
Both blue layers in bottle 2 pour together into bottle 3. Coral, mint and blue each fill one bottle; bottles 1 and 2 are empty.
Solved using only the five bottles supplied at the start.
After pour 10: bottle 2 into 3 Contents, bottom to top
- Bottle 1:Empty
- Bottle 2:Empty
- Bottle 3:blue, blue, blue, blue
- Bottle 4:coral, coral, coral, coral
- Bottle 5:mint, mint, mint, mint
What to check before using your last empty bottle
Name the next few destinations before pouring. In this example, bottle 4 can receive coral and bottle 5 can receive mint. Those matches uncover blue in bottle 2, which can then receive blue from bottle 1. That chain eventually empties bottle 1.
On your own board, check the spaces above each matching top, the color your move exposes, and which bottle could become empty later. A legal pour can still lead to a poor position. If a choice takes you into a loop or leaves no useful destination, Undo lets you revisit it before the puzzle is complete; this version retains the last 32 pours.
Needing to use both supplied spares does not mean an extra bottle is required. All 24 starting levels in this version have a solution with their original bottles. That does not establish whether a different app's board, or your current position after other moves, is solvable.
What we checked across Puzzle Perch's 24 levels
We compared ordinary play with a stricter rule: after every pour, at least one bottle must remain completely empty. All 24 starting boards solve under ordinary rules. 8 cannot solve under that extra restriction: levels 8, 16, 17, 18, 21, 22, 23, 24.
Keeping a spare also changes the shortest solution for level 14: 13 pours with the restriction, compared with 12 normally. These are exact searches of this fixed set of levels, not a success rate for players or a sample of other Water Sort games.
See the checked result for each of the 24 levels
| Level | Ordinary rules | Always keep one empty |
|---|---|---|
| 1 | 3 pours | 3 pours |
| 2 | 5 pours | 5 pours |
| 3 | 6 pours | 6 pours |
| 4 | 6 pours | 6 pours |
| 5 | 6 pours | 6 pours |
| 6 | 6 pours | 6 pours |
| 7 | 8 pours | 8 pours |
| 8 | 10 pours | No solution under this rule |
| 9 | 9 pours | 9 pours |
| 10 | 9 pours | 9 pours |
| 11 | 11 pours | 11 pours |
| 12 | 11 pours | 11 pours |
| 13 | 11 pours | 11 pours |
| 14 | 12 pours | 13 pours |
| 15 | 13 pours | 13 pours |
| 16 | 14 pours | No solution under this rule |
| 17 | 15 pours | No solution under this rule |
| 18 | 16 pours | No solution under this rule |
| 19 | 16 pours | 16 pours |
| 20 | 18 pours | 18 pours |
| 21 | 17 pours | No solution under this rule |
| 22 | 18 pours | No solution under this rule |
| 23 | 18 pours | No solution under this rule |
| 24 | 19 pours | No solution under this rule |
Method and files you can check
The input is the 24 fixed starting boards shipped in Puzzle Perch, checked on 26 October 2026. Each color has four layers, each bottle holds four, and each board starts with two empty bottles. A pour counts as one source-to-destination transfer, including any matching layers that move together.
A standard-library Python program explores legal positions in increasing pour counts. It tries every legal top-group pour and treats bottles with the same contents as interchangeable. The restricted search skips any move that would leave no empty bottle. If all reachable positions are exhausted without a win, that restricted rule has no solution for the starting board.
A separate implementation using the actual game engine agreed on all 48 outcomes and shortest lengths. We also checked level 8 with bottle identities kept separate: all 86 positions reachable under the spare rule were exhausted without a win. Its ordinary ten-pour solution replays in the tutorial below.
Each search has a 100,000-state limit. Reaching that limit would be inconclusive; none of these checks reached it. The results apply to these supplied boards and rules, not other games. The results file includes the starting boards, replayable moves and a hash of the input data.
Put the input and script in one folder, then run:
python audit.py --input levels.json --output results.jsonRead how Puzzle Perch checks examples and uses AI assistance, and see the game's source credits and licenses.
