How to contribute to JSoko

Thanks for your interest in the project JSoko.

The project JSoko is a Java implementation of the Sokoban game.

Sokoban is a simple logic game which can be - despite its simple rules - very difficult.

You can find more information about Sokoban in this wiki.

Since JSoko is an open source program you can have a look at the source code of the project. It can be downloaded from sourceforge.

You don't need to understand what Sokoban is to contribute to the project. However, since the rules of the game are really simple you can learn it very fast.

Feel free to ask me about anything you want to know about the program. Just write an e-mail:

The project is a hobby of mine. You can find a blog entry about it here.

Importing JSoko to your IDE

If you want to import the JSoko project into your IDE here are descriptions how to do that:

How to use the IDE Eclipse: Videos for beginners (Just open the "Eclipse Workbench" folder and download the workbench lessons).

If you want to create a new skin for JSoko you can find information for doing that here: Create a new skin for JSoko


Here are some ideas of what can be improved. You can change the coding and then send me the changed files.

If you are familiar with Apache Subversion I can give you write access so you can check in changes directly to the source code of JSoko.

iki/index.php?title=MF8_format_supportPlease write an e-mail to me ( when you start working on anything of this list. Then I can add your name in the column "In work by" so others will know that someone is already working on this feature. (If you don't want your name to be published here I will add just add "someone" in the column).


TaskIn work by needed Java knowledgeStatus
Write JUnit testsnobody yetBeginners
MF8 level support
Mason Wright
Image extractornobody yetBeginners
Display coordinatesnobody yetBeginners
Detailed description of RLE M.H., D.P., Shahid Chohan.  Beginners completed
check language texts nobody yet Beginners  
duplicate check   Beginners  
Version checking Matthias Meger Beginners completed
Transformation icon Marcelo Gobelli / Matthias M. Beginners completed
Settings panel Gabrielides Bill Pro completed
Draw own background nobody yet Beginners  
GUI for doing translations Paweł Kłeczek Beginners/Advanced completed
Improve translation GUInobody yetBeginners
New editor nobody yet Pro  
Database nobody yet Pro/Advanced  
Improved level combo box Minh H. and Matthias M. Advanced completed
Easy load of level from database nobody yet Advanced  
Graphical level browser Minh H. Advanced completed
Queue for optimizer nobody yet Pro  
New features --- Depends  



You can translate the texts used in JSoko to a new language. JSoko includes a translator tool. You can find it in the menu of JSoko: Settings->Language->Translate texts...

You can find a help how to use the translator tool in the help section of this website.


I want to thank these people for their translations:

  • Lei Zheng: Chinese translation
  • Joris Wit: Dutch translation
  • Moisés R. González Rodríguez: Spanish translation


You can test JSoko just by using it. You can try to use all functionality. As default JSoko doesn't show all messages in the Java console. You can enable the debug mode by typing the letters "debug" while the program is running (in the main view) or by passing the "-debug" argument to the program (in Eclipse: Open the "run configurations", in the arguments tab paste "-debug" in the text area "program arguments").