The warehouse keeper
Sokoban comes from Japan, where the name means warehouse keeper. It first appeared as a computer game in the early 1980s and has been a standard puzzle ever since. The rules fit in one line: push every crate onto a target, one tile at a time, and never pull. This site plays the Microban set by David W. Skinner. It has 155 small levels, written as a gentle start where most puzzles show one particular idea.
Because you can only push, every push is a promise you can't take back without Undo. The skill is not finding a way to move crates. It is avoiding the pushes that make a level impossible.
Know the dead squares
A crate is in trouble whenever it can no longer reach a target. The game marks the plainest case with a red ring: a crate pushed into a corner off its target. Several other traps are just as final, and the game does not mark them.
- Along a wall. A crate pushed against a straight wall can only slide along that wall. If no target lies on that stretch, and the wall doesn't open up anywhere, the crate is stuck.
- Two crates side by side against a wall. Neither can be pushed away from the wall, and neither can slide, because the other is in the way.
- A square of four. Any two-by-two block made of crates and walls is frozen. No crate in it can ever move, so every crate in it must already be on a target.
Before you start a level, spot the dead squares. These are corners that aren't targets, and wall stretches with no target. Treat them as places a crate must never go. That one habit removes most failed attempts.
Plan from the targets back
Look at where the targets are, and ask in which order they can be filled. Targets deep in a dead end or a tight corner usually have to be filled first. Once a crate sits there, it is out of the way. If you fill the targets near the entrance first, they can wall off the deeper ones, and the keeper can no longer get behind the crates.
Also think about where the keeper must stand. To push a crate right, you need to be on its left. Before each push, check that you can still walk to the side you will need next.
Here is a short example. Say a level has two targets in a narrow corridor, one at the far end and one near the opening. Two crates sit outside. Push the first crate all the way to the far target before bringing in the second. If you park a crate on the near target first, the corridor is blocked. The second crate can't pass it, and you can't walk round it to push again.
Habits to break
- Pushing to see what happens. A single careless push along a wall can ruin a level that looked fine. Think two pushes ahead.
- Resetting too fast. Undo reverses one move at a time, and a whole tap-to-walk route counts as one move. Use it to step back to just before the bad push, not to the start. Ctrl or ⌘ Z and Backspace both undo.
- Ignoring the keeper. Many stuck positions have no stuck crate at all. The keeper has simply sealed himself on the wrong side.
Working through Microban
Play the levels in order at first. The early ones are small, and most show one idea at a time. Later levels combine them. The levels picker lets you jump to any level, and the one you're on is kept if you close the tab. Smaller levels show a par step count, the fewest steps to solve them. On those, try to match par once you have solved the level. That trains you to plan the keeper's walk, not just the pushes. If you like this kind of planning, Unblock asks a similar question with cars that only roll in their own lane.