Last release:  0.3.3 (05/13/2010)
Status: stable (considered bug free)
In progress:  ----

pyKsoko - Sokoban

Sokoban is a classic puzzle game invented in Japan. The original game of SOKOBAN was written by Hiroyuki Imabayashi.

Today Sokoban is one of the most popular thought and logic games.
The simplicity of the rules, in combination with the many levels ranging from easy to extremely difficult, have made Sokoban become a real classic.

Why pyKsoko?

pyKsoko is a clone from Sokoban, as you probably imagined.

It was intended as a clone of Ksokoban the old Sokoban clone from KDE 3.5.x because unfortunately Ksokoban is not in KDE 4 anymore and I wanted to play it.:-D

So I decided to clone the clone ....

It evolved over time and has now many features and is themed like a guy who works in a warehouse.


* Code,sounds and graphics 100% open source GPL,
   Music is Creative Commons by-nc-sa/3.0/

* Original KDE skin or modern warehouse look

* Statistics about levels

* Play your own music

* Highscore

* Choose different Levelsets

* Over 5000 levels to play (5214)

* Auto-save so just continue where you had a break

* 4 different colours for your truck (modern skin)

* Powerful Acoustic Rock backgroundmusic by Amity in Fame

* Runs on Linux, Windows and Mac OSX

* A lot of fun!


Hardware requirements:

RAM: 256 MB or better
CPU: 1.0 Ghz or better
HDD: 80 MB
GRAPHICS: OpenGL-compatible 256 MB or better

It could run well on slower hardware as well.

Software requirements:

pygame 1.8.1 =>
pyglet 1.1.2 =>
python 2.5.4 =>

Software suggestion:

avbin 7 =>


To play the game you need the tar.bz2 listed under program on Sourcefore.
Normaly named like "pyKsoko_0.x.x.tar.bz2"

If you want music while playing you need the music tar.bz2 from the Data directory on Sourceforge.
Normaly named like "Music.tar.bz2" put the contents of the compressed file into:


If you want the sources of the graphics download the "Sources.tar.bz2"


Install the software requirements with synaptic or apt.


Maybe you need WinRar or WinZip to extract the game tarball archive.
Winzip is also available for Windows Vista.

1. Go to:
and download and install "python-2.5.4.msi"

2. Go to:
and download and install "pygame-1.9.1.win32-py2.5.msi"

3. Go to:
and download and install "pyglet-1.1.4.msi"

NOTE: In the pyglet release for WINDOWS is avbin included!


Open a console (type "cmd" into the execute dialog in Windows) and navigate to the game directory (with "cd").

Then type:


pyKsoko - working is fun!

Report a bug

Thanks that you want the help me to make your game better. Thats great!

And remember:
I can only fix,what I know, so just write a bug report and I will fix it, if I can.

Before you report a bug consider the following:
    * Be specific.
    If you can do the same thing two different ways, state which one you used. "I selected Load" might mean "I clicked on Load" or "I pressed Alt-L". Say which you did. Sometimes it matters.

    * Be verbose.
    Give more information rather than less. If you say too much, the programmer can ignore some of it. If you say too little, they have to come back and ask more questions. One bug report I received was a single sentence; every time I asked for more information, the reporter would reply with another single sentence. It took me several weeks to get a useful amount of information, because it turned up one short sentence at a time.

    * Be careful of pronouns.
    Don't use words like "it", or references like "the window", when it's unclear what they mean. Consider this: "I started FooApp. It put up a warning window. I tried to close it and it crashed." It isn't clear what the user tried to close. Did they try to close the warning window, or the whole of FooApp? It makes a difference. Instead, you could say "I started FooApp, which put up a warning window. I tried to close the warning window, and FooApp crashed." This is longer and more repetitive, but also clearer and less easy to misunderstand.

    * Read what you wrote.
    Read the report back to yourself, and see if you think it's clear. If you have listed a sequence of actions which should produce the failure, try following them yourself, to see if you missed a step.
OK thats said.

How do you actually report a bug?

Thats easy :-D

Go to Sourceforge, click on my name (top right of the project page) and write a message to me.

Thanks again for your help :-D