Sokoban and variants game engine
Project description
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
sokoenginepy was inspired by SokobanYASC, JSoko, MazezaM
Installing
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
Using
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
Changelog
0.5.3 (2018-02-24)
Documentation and build fixes
0.5.2 (2017-09-03)
Improved native extension build cofiguration process.
Upgraded to pybind11 v2.2.0
0.5.1 (2017-08-31)
Switched from Boost.Python to pybind11 in C++ extension
0.5.0 (2017-08-25)
added optional C++ native extension (Boost.Graph, Boost.Python)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.