An implementation of Sokoban in Rust
Rust Makefile
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
assets Deleted README Sep 2, 2015
src Bumped to version 1.2.1 May 13, 2018
.gitignore Initial commit Aug 28, 2015
.travis.yml Upgraded SDL2 versions in .travis.yml May 13, 2018
Cargo.lock Fixed Cargo.toml May 13, 2018
Cargo.toml Fixed Cargo.toml May 13, 2018
LICENSE Initial commit Aug 28, 2015 Migrated README to Markdown syntax May 13, 2018


Build Status License

This is an implementation of Sokoban in the Rust Programming Language.

An example level: Screenshot

Build Instructions

Before building sokoban-rs, you will need to install the developpement libraries for SDL2, preferably with the package manager that comes with your operating system.

Example for Debian/Ubuntu:

sudo apt-get install libsdl2-dev libsdl2-image-dev libsdl2-ttf-dev

Example for Mac OSX

brew install sdl2 sdl2_image sdl2_ttf

You might also like to read the README for these projects:

To build sokoban-rs, type the following commands:

git clone
cd sokoban-rs
cargo build --release

How to Play

This game is released without any level. You can download level collections from in the SLC (XML) format. For a quick start, try this:

cargo run --release -- microban.slc
  • Use the arrow keys to move the player.
  • Type R to retry the current level.
  • Type N to skip the current level.

Graphics Options

By default, the game will start in 1024x768 windowed mode. You can modify the width and height of the window as well as switch to fullscreen mode.


cargo run --release -- microban.slc --width=1920 --height=1080 --fullscreen


  • Planet Cute art by Daniel Cook (
  • Ruji's Handwriting Font by Ruji C. (


Copyright 2015 Sébastien Watteau

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.