https://github.com/kfurtak1024/bansoko
Space-themed :rocket: Soko-Ban :video_game: clone created in Python using Pyxel.
https://github.com/kfurtak1024/bansoko
8-bit game gamedev pico8 python python3 pyxel retro sokoban
Last synced: 3 months ago
JSON representation
Space-themed :rocket: Soko-Ban :video_game: clone created in Python using Pyxel.
- Host: GitHub
- URL: https://github.com/kfurtak1024/bansoko
- Owner: kfurtak1024
- License: mit
- Created: 2019-11-07T21:13:25.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2026-02-18T23:17:16.000Z (4 months ago)
- Last Synced: 2026-03-12T19:34:14.531Z (4 months ago)
- Topics: 8-bit, game, gamedev, pico8, python, python3, pyxel, retro, sokoban
- Language: Python
- Homepage: https://kfurtak1024.itch.io/bansoko
- Size: 1.36 MB
- Stars: 16
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Security: SECURITY.md
Awesome Lists containing this project
README
**Bansoko** is a reimagined, space-themed 🚀 clone of MS-DOS Soko-Ban from 1984 created in Python using [Pyxel](https://github.com/kitao/pyxel).
You can download :package: 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](python.org) (version 3.8 or higher) and make sure that python is added to PATH.
Install Bansoko by running:
```shell
pip install -U bansoko
```
Run the game:
```shell
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:
```shell
sudo apt install python3 python3-pip libsdl2-2.0-0 libsdl2-image-2.0-0
```
Install Bansoko by running:
```shell
pip3 install -U bansoko
```
Run the game:
```shell
bansoko
```
## 💻 Development setup
### 1. Install prerequisites
### Windows
Install 32-bit [Python](python.org) (version 3.8 or higher) and make sure that python is added to PATH.
Additionally, install ```pipenv``` for managing virtual environments and project dependencies:
```shell
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:
```shell
sudo apt install python3 python3-pip pipenv libsdl2-2.0-0 libsdl2-image-2.0-0
```
### 2. Set up the project
Clone the repository:
```shell
git clone https://github.com/kfurtak1024/bansoko
```
Navigate to the directory Bansoko was cloned to.
Create virtual environment to isolate development:
```shell
pipenv shell
```
Install all dependencies needed for development:
```shell
pipenv install --dev
```
### 3. Run the game
Run Bansoko from virtual environment created in the previous step:
### Windows
```shell
python -m bansoko
```
### Linux
```shell
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](https://github.com/kfurtak1024/bansoko/wiki/Bansoko-modding).
## 🤝 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](https://github.com/kfurtak1024/bansoko/issues/new/choose).
### Submitting a 'mod'
If you have created a modification for Bansoko which you would like to publish then please contact me via
## ⚖️ License
This project is licensed under the MIT License - see the [LICENSE.md](https://github.com/kfurtak1024/bansoko/blob/master/LICENSE) file for details.
Copyright © 2020-2024 Krzysztof Furtak