Sokoban game in the roguelike style
Python Shell
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Roguelike Sokoban

By: Jeremy Nation


Roguelike Sokoban is an ASCII-based Sokoban game that has a look and feel inspired by the roguelike genre, particularly the Sokoban levels in the excellent game Nethack. You can create new maps using a regular text editor.

Running Roguelike Sokoban

Roguelike Sokoban is written in Python and uses the curses library for its display. It should work without special configuration on Linux and Mac systems. Just execute


from the root repository directory to play the default levels. To specify a level file, use the -L option followed by the path to the level file.

On Windows, you will need to install Python and then figure out how to make curses available.

Included levels

By default, the game will use the level file levels/default-levels.yml. Also included are many levels that have been adapted from the game XSokoban, which has been released into the public domain. These levels are included as levels/xsokoban$X-$Y.yml and can be loaded with the -L option.

Note: the XSokoban levels were converted using the included util/ script and have not all been playtested. They were originally written to use a different set of Sokoban rules than Roguelike Sokoban uses. It is possible some of them are unwinnable from the start. Please let me know if one of the included levels is unwinnable.


You can run the included tests with


You will first need to install the Python nose package.


GPLv3 or later (see included LICENSE file).