The Sokoban game

Sokoban is a classic puzzle game invented in Japan. The original game of SOKOBAN was written by Hiroyuki Imabayashi.

Today Sokoban is one of the most popular thought and logic games.

The name comes from Japan and means "warehouse keeper".

As simple as that name is, so is the idea of this game: A level represents a store room, where boxes appear to be randomly placed. You help the warehouse keeper to push the boxes around the maze of the room so that, in the end, all boxes are on marked fields. The only restrictions are that the warehouse keeper can only push a box, never pull, and that just one box may be pushed at a time.

Each level has a different structure, which requires a different solution - often with a different strategy as well. The magic of the game is that boxes, which are out of the way on one move, might be in the way on the next move.

The simplicity of the rules, in combination with the many levels ranging from easy to extremely difficult, have made Sokoban become a real classic.

Rules of the game

The game consists of a warehouse made up of walls that form passages. Within the warehouse are the pusher and an equal number of boxes and storage locations. The pusher can only push a box, never pull, and only one box can be pushed at a time. The goal is to push all the boxes into the storage locations.

These rules present a variety of challenges. Since the pusher can't pull a box, there are some pushes that are irreversible. A box is stuck when pushed into a corner or against a wall that it can't be pushed out of or away from. In real life a warehouse keeper can't walk through boxes or walls. The same is true for the pusher in the game, so the pusher can also be stuck or trapped in an area surrounded by walls and boxes where the boxes can't be pushed out of the way.

The level objects are displayed depending on the chosen skin. Here is how a simple level looks like using the default skin:

 

Example level

You can see three boxes that have to be pushed to the storage locations (having a x as graphic). Above of one of the boxes there is the pusher. It's the only level object that can be directly controlled. In the depicted situation the pusher can't move to the north due to a wall blocking this move. The pusher can move to the west, however. To the east there is a box. Boxes can be pushed - but only one at a time. Hence, a move to the west isn't possible in the depicted situation. However, a push to the south is possible. This push would push the box to a storage location. As soon as all boxes have been pushed to storage locations the level has been solved.

JSoko counts the number of moves and pushes that have been made. This is just information. It doesn't matter by how many moves/pushes a level is solved. Nevertheless there are some web pages comparing the needed moves and pushes for a level. Therefore these values may be interesting for comparisons with other players.