Sourkoban is one of very many versions of the game Sokoban. Why try this one? Well today, it's probably the newest. It also has the following features:
- An easily-used puzzle solving interface
- Built-in map sets (around 600 maps)
- Built-in solutions for all built-in maps
- Animation to demonstrate solutions
- Animation to replay your moves
- Unlimited undo and redo
- Map set reading
- Map position save
- Map position restore
- Map solution reading
- Map editor/creator
- Map saver
- Remembers your best solution for each map
- Automatic next map modes: next unsolved, next with improvable solution
What is sokoban?
If you haven't come across Sokoban before, here is an outline. The game Sokoban, which in Japanese means warehouse keeper, was invented by Hiroyuki Imabayashi in 1980. The warehouse keeper must push boxes to designated positions. The area in which he operates is effectively a maze, and is viewed from above. He can only push a single box at a time. He cannot pull. He cannot climb over boxes. He can only move up, down, left, right. A puzzle is completed when all boxes are in the designated locations.
In Sourkoban the warehouse keeper, or man, is represented by a Maltese cross, the boxes by marbles, and the designated locations by green circles. Of course, you, the user, have to choose the route and move the man. It might sound simple and boring, but try it; you'll soon find how easy it is to get boxes into positions from which they cannot be moved, and how hard it can be to get them to their designated locations.
Various people such as David Skinner and Aymeric du Peloux devise and publish Sokoban problems - known as maps or levels - and the resulting puzzles are usually far from being simple or boring. If you have not played before, I'd recommend starting with the Microban set of maps from David Skinner or Minicosmos from Aymeric du Peloux as they are suitable for beginners. Both sets are built into Sourkoban.
The program has a solution for each of the built-in maps. These solutions can be displayed in the form of an animation by clicking on the "?" button in the Toolbar. Though they are not necessarily the quickest ways of solving every puzzle, when you lose confidence and start to think that a puzzle is impossible, the animations will demonstrate that a solution really exists. Watching the animations is also a good way of learning and picking up general tips about solving strategies. Once you have solved a puzzle you can also watch an animation of your own route.
I thank David Skinner and Aymeric du Peloux for making their ingenious maps available. I am also very grateful to George Petrov for allowing me to use solutions from his web site. I downloaded map sets from the sites of: Scott Lindhurst and Erim Sever. Both of these sites have lots of useful additional Sokoban information.
In writing Sourkoban I made extensive use of the following online documentation: Lots from Python.org plus Tkinter insights from John Shipman, Stephen Ferg and Fredrik Lundh. At one point I got stuck and received help from members of the Daniweb developers forum. Thanks.
February 18th 2011
Latest changes described here.
Bug fix: undo, redo did not update the move counter. In fixing this I removed the count of the number of pushes. New release is v0.04
Perhaps more importantly, I just installed Kubuntu Hardy and discovered that it does not install Tkinter by default! This means that those wishing to use my programs on Ubuntu will need to install python-tk using the Adept Package Manager.