How water washes in Rinse, and why it is a puzzle
In Rinse, falling water scrubs, sliding water carries a little and still water drops its dirt. How the water works, and how that turns washing into a puzzle.

Cleaning games are oddly relaxing. You watch dirt come off something, a strip at a time, and your brain just goes quiet for a minute. I wanted that feeling in a puzzle game, and Rinse is the result.
But a cleaning game is not a puzzle by itself. If you can scrub anywhere, as much as you like, there is nothing to think about. So Rinse needed two things. A limit, which is the tank: you only have so many pours. And a catch, which is the whole game in one sentence:
Dirty water runs downhill.
Wash something high up, and the dirty water from it lands on whatever is below. So the order you wash things in decides whether your water lasts. That is the puzzle.
This post is about how the water works under the hood, because the water is the most important character in this game.
The board is a grid seen from the side
A Rinse board is a grid, like a wall of tiles seen from the side. Every cell is air, or a tile, or mud, or a drain, or the floor of a tray. An air cell can hold one drop of water.
Then the game moves the water one small step at a time. Each step, working from the bottom row up, every drop first tries to fall straight down. If it can’t, it tries to fall diagonally. If it still can’t, it slides one cell sideways.
Working from the bottom up sounds like a small detail, but it matters. It means a whole column of water falls together, instead of the top drop jumping over the one below it.
Everything is whole numbers and a fixed order. No randomness anywhere. So the same pours always give exactly the same board, on every phone, every time. That is what makes Rinse fair: if a plan works once, it works always.
Which way does a drop go?
The hard part of water is the sideways part. When a drop can’t fall, which way should it slide?
If the water ever did something you could not predict, the puzzle would feel like luck. So I gave the water two rules, and they make it readable:
- Pool first. A drop resting on water first looks for a place it can reach across that water. So a bath fills right up to its rim before it spills over, instead of half the stream leaking out the low side while the bath is still filling.
- Keep going the way you were going. Every drop remembers the way it last leaned. When both sides are equally near, it keeps going that way, so a stream does not wobble.
And a pour’s drops lean alternately left and right as they come out. So a pour onto the top of a peak splits evenly, half each way, every time.
A pour is one tap
A pour is four drops into one column, one after another, and then the board runs until all the water has come to rest. You tap once, and that is the whole move.
You can aim first if you like: touch and slide, and a nozzle rides along the top with a dotted line showing where the water will land. Lift your finger and it pours. But how fast your finger moves never matters. A plan in Rinse is just a list of columns.
I wanted this very much. In a lot of cleaning games, how long you hold the hose decides everything. That is fun, but it is not a puzzle. In Rinse, the thinking is all in where and when, never in how fast.
Moving water holds dirt, still water lets it go
Now the washing.
Grime is a little count on each dirty tile, and each drop of water also carries a little count. How much a drop can carry depends on how it is moving:
| What the drop is doing | Grime it can hold |
|---|---|
| Falling | 3 |
| Sliding | 1 |
| Sitting still | 0 |
After the water moves each step, every drop does one of two things.
If it has room to spare, it scrubs. It lifts one unit of grime off a dirty tile next to it, looking below first, then ahead, then behind, then above. So water cleans the floor it runs over before anything else.
If it is carrying more than it can hold, it drops one unit onto the tile under it.

That is all. I didn’t write a special rule for “dirty water lands on what is below”. It just happens. A waterfall full of grime lands on a ledge and slows down, and a slow drop can hold less, so it drops the grime right where it lands. This is my favourite thing in the whole game: the main rule was never written down anywhere, it comes out of the water by itself.
And grime only leaves the board two ways: off the edges of the board, and through drains. The level is washed when no grime is left anywhere, on a tile or in the water. Clean water left standing is fine.
Mud, baths and trays
Once the water worked, every new piece in Rinse is just something that holds water in a different way.
Mud holds water back, like a little wall. It holds three units of grime in itself. The first drop with room to spare that touches it knocks the whole lump loose and carries it off. So clean water breaks mud, and dirty water just slides past it.
Baths are cups in the board. Dirty water that reaches a bath of standing water stops there and stays dirty, because still water can’t carry anything out. That is why the game says to fill a bath with clean water first.
Plugs are mud in a bath’s floor. Knock one out and the bath drains.
Trays are the opposite of mud. A tray’s floor holds water until the row above it is full, then it opens and drops the whole lot at once, as falling water that scrubs hard, and shuts again when it is empty. It is the only piece that lets you save water and use it later.

Each of these arrives in its own chapter, and the first boards of that chapter are small enough that the piece explains itself. After the seventh chapter, no new pieces come. The first prototype showed that the puzzle lives in the pieces that hold water, and these five already make every kind of order decision the game needs. Everything after that is new places, bigger boards and tighter tanks.
Making water look like water
The grid is great for rules and terrible for looks. Square drops look like a spreadsheet.
So each drop is drawn as a soft blob, rounder when resting and thinner and stretched when falling. The blobs add up into one smooth shape, so drops next to each other join into one body of water with a clean surface. Each blob also carries its grime, so dirty water is brown exactly where the dirty drops are.
The game plays the water a little slower while a pour is spraying, so you can follow the stream, and faster once it is only settling.
The hint knows the water too
Because the water always does the same thing, the game can plan ahead.
Every level comes with a plan that washes it within its tank, played through the game’s own water before the level is ever saved. The hint follows that plan while you do. If you go off it, the game searches again from your board as it is, in the background after every pour, so the answer is usually ready before you even tap the bulb. And if the water you have left can no longer wash the level clean, the hint tells you so and costs nothing, and the screen offers Undo.
That is the honest part I care about most. Rinse never asks you to guess what the water will do. Watch it once, and it will do that same thing every time.
Every board in Rinse is also a thing to wash, a snowman or a lighthouse or a rocket, and that story is in a thing to wash. If you are new, the rules of Rinse will get you pouring.
