Settings menu



Select the language you want JSoko to display texts in. After changing the language, JSoko must be restarted to ensure that all texts are shown in the new language.




Look and feel


You can select a new Look&Feel for JSoko. This changes the way the GUI of JSoko is displayed.



Deadlock detection


A deadlock is a situation where the level has become unsolvable. As default JSoko detects as much deadlocks as possible. If JSoko has detected a deadlocked situation, a corresponding text is shown in the status bar.


You can deselect specific deadlock detection routines, if you think that the game becomes too easy with this help.


Read more about deadlocks here



Show dead squares


If you push a box to "simple deadlocked squares", the level immediately becomes unsolvable. JSoko can highlight these squares in order to help you avoiding pushing a box to these squares. If this features is activated all squares to avoid are colored a little bit darker than the normal empty square.



Show minimum solution length


If this feature is activated, JSoko estimates the minimum solution length and displays it in the status bar. This may help in some levels when searching for a push optimal solution.


Note: the displayed estimated solution length is never higher than the actual minimum solution length. However, it's usually a lot lower than the minimum solution length.


Example: if JSoko displays a solution length of 100 this means: the solution length is at least 100 pushes long regarding the already played pushes and the pushes still needed to be played to solve the level. However, the real minimum solution length may be a lot higher (for example 120 pushes).



Single step undo


If the game history isn't created by playing with the keyboard, JSoko treats all pushes of the same box as a single movement. This speeds up undo and redo functionality. However, sometimes it may be useful to just undo one single move. In order to do this activate "Single step undo". You can turn this feature on/off every time you want.



Reverse moves = undo


If this setting is activated, a reverse move is treated as undo. Example: if the player is moved two squares to the right and then back two squares to the left, JSoko counts 4 moves. However, if this setting is activated the last two moves are treated as undo moves so the total moves are 0.



Automatically optimize "between moves"


If this setting is activated, JSoko automatically calculates the optimal non-pushing player moves between two pushes. If this optimal path is better than the one chosen by the user, the better path is used. JSoko also optimizes the moves when the player is moved around (for instance in a circle) between two pushes.



Highlight box reachable positions (since version 1.68)


If this setting is activated, selecting a box using the mouse displays the positions the selected box can be pushed to. Positions that would turn the level unsolvable when a box is pushed to them are never highlighted.



Go-Through boxes feature (since version 1.87)


If this setting is activated, the player can "go through boxes".

You can find more information at Go-Through boxes feature.






You can turn sounds on and off with this setting.



Animation speed


When the player is moved, JSoko moves it with a specific speed. You can adjust this speed with this setting.



Animation speed redo / undo


Animation speed for the undo and redo functionality.


LetsLogic (since version 1.79)


Activates the LetsLogic integration for submitting solutions to