You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
Python version
Python 3.9. No external dependencies are needed, but the game requires the curses library which is not included with Python for Windows, though you can use WSL.
Running Roguelike Sokoban
Run
python3.9 rlsokoban.py
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.
Included levels
By default, the game will use the level file levels/default-levels.txt. 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.txt and can be loaded with the -L option.
Note: the XSokoban levels were converted using the included convert_xsokoban.py 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.
Development/Testing
requirements-dev.txt has various formatting/linting packages you can install with pip.
You can run the included tests with
python3.9 run_tests.py
By default, this will just run unit tests, but you can also play test levels by using the --include-manual-tests option.