Skip to main content

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 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



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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for sokoenginepy, version 0.5.3
Filename, size File type Python version Upload date Hashes
Filename, size sokoenginepy-0.5.3.tar.gz (1.6 MB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page