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: JSoko@online.de

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

Coding

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 (JSoko@online.de) 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).

Tasks

Task

In work by

needed Java knowledge

Status

Write JUnit tests

nobody yet

Beginners

MF8 level support

Mason Wright

Beginners

completed

Image extractor

nobody yet

Beginners

Display coordinates

nobody yet

Beginners

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 GUI

nobody yet

Beginners

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

 

 

Translations

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

Testing

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").