Sokoban and variants game engine
sokoenginepy is game engine for Sokoban and variants, written in Python and loaded with features:
- implements game logic for Sokoban, Hexoban, Trioban and Octoban variants
- supports Sokoban+ for all implemented variants
- supports Multiban (muliple pushers on board) for all variants
- reading and writing level collections
- fully compatible with SokobanYASC .sok file format and variants (.xsb, .tsb, .hsb, .txt)
- Optional C++ native bindings using pybind11 and Boost.Graph for ultimate speed
Installing sokoenginepy should be as simple as
pip install sokoenginepy
There is optional C++ native extension that is built automatically with pip install if all dependencies are met. It relies on Boost.Graph and pybind11. Boost.Graph needs to be installed on system, everything else is pulled automatically:
sudo apt install python3-dev libboost-graph-dev
- For quick glance of features and usage check the Tutorial.
- For in-depth docs of whole package see API Reference.
- For C++ library API docs see C++ API Reference
- Documentation and build fixes
- Improved native extension build cofiguration process.
- Upgraded to pybind11 v2.2.0
- Switched from Boost.Python to pybind11 in C++ extension
- added optional C++ native extension (Boost.Graph, Boost.Python)