/bansoko

Space-themed :rocket: Soko-Ban :video_game: clone created in Python using Pyxel.

Primary LanguagePythonMIT LicenseMIT

Bansoko is a reimagined, space-themed 🚀 clone of MS-DOS Soko-Ban from 1984 created in Python using Pyxel.

You can download 📦 for both Windows and Linux from:

📖 Introduction

Welcome to Bansoko!

You are a scavenger. You collect cargo that people have left in abandoned ships in deep space. It's a dangerous job, that's why we're using robots.

Your goal is to use a remotely controlled robot to push all crates to cargo bays. Remember, you can only push them (you cannot pull) Fortunately, in case of a mistake, you can undo as many steps as you need.

Good luck!

🎮 Installation

Windows

Install Python (version 3.8 or higher) and make sure that python is added to PATH.

Install Bansoko by running:

pip install -U bansoko

Run the game:

bansoko

Linux

Install python3 (version 3.8 or higher), python3-pip and required SDL2 libraries (libsdl2-2.0-0 and libsdl2-image-2.0-0).

On Ubuntu, this can be done by running:

sudo apt install python3 python3-pip libsdl2-2.0-0 libsdl2-image-2.0-0 

Install Bansoko by running:

pip3 install -U bansoko

Run the game:

bansoko

💻 Development setup

1. Install prerequisites

Windows

Install 32-bit Python (version 3.8 or higher) and make sure that python is added to PATH.

Additionally, install pipenv for managing virtual environments and project dependencies:

pip install pipenv

Linux

Install python3 (version 3.8 or higher), python3-pip, pipenv and required SDL2 libraries (libsdl2-2.0-0 and libsdl2-image-2.0-0).

On Ubuntu, this can be done by running:

sudo apt install python3 python3-pip pipenv libsdl2-2.0-0 libsdl2-image-2.0-0 

2. Set up the project

Clone the repository:

git clone https://github.com/kfurtak1024/bansoko

Navigate to the directory Bansoko was cloned to.

Create virtual environment to isolate development:

pipenv shell

Install all dependencies needed for development:

pipenv install --dev

3. Run the game

Run Bansoko from virtual environment created in the previous step:

Windows

python -m bansoko

Linux

python3 -m bansoko

🧰 Modding

Bansoko is heavily modifiable thanks to included resource builder. More information on how to 'mod' it can be found on Bansoko modding page.

🤝 How to contribute

Submitting an issue

Use the issue tracker to submit bug reports and feature/enhancement requests. When submitting a report, please select the appropriate template.

Submitting a 'mod'

If you have created a modification for Bansoko which you would like to publish then please contact me via contact@krzysztoffurtak.dev

⚖️ License

This project is licensed under the MIT License - see the LICENSE.md file for details.

Copyright © 2020-2024 Krzysztof Furtak