JSoko Changelog

What's new in JSoko 1.82

Sep 17, 2018
  • JSoko now uses UTF-8 for writing files.
  • The optimizer GUI has changed. The solutions list and optimizer log have switched their places. Suggested by users having low resolution screens.
  • New Features: the Optimizer now offers new methods:
  • - Moves/most Pushes: this method can sometimes be better when a new best solution needs more pushes than the solution to be optimized.
  • - Box lines/Moves: can be used to shuffle the solution a little bit before optimizing for moves again.
  • - Box changes/Moves and Box changes/Pushes: can be used to shuffle the solution a little bit before optimizing for the primary metric (moves or pushes) again.

New in JSoko 1.74 (Jul 20, 2015)

  • bug fix: entering the editor and leaving the editor again without changing the level results in internal crashes of the program. In this case please switch the level up and down one time so the current level is loaded again.
  • database: the collections of the database and the last 5 played collections are displayed in a list in the main GUI for quicker access. The key "c" opens the list of the collections, the key "l" the levels list.
  • JSoko is published using install4j installer for Windows. Therefore all user data are saved in the default user directories ("user home").
  • Translator: the language texts can be exported to a file to share them.
  • The size and position of the optimizer GUI is saved to the settings file and restored from there when the GUI is opened again.
  • Levels that aren't loaded from the database (but from hard disk or clipboard) are automatically saved in a new collection "unregistered". Every time a level is loaded JSoko checks whether a similar level (comparing the level elements: walls, boxes, goals, ...) is already stored in the "unregistered" collection. If this is the case, the solutions of the stored level in the database are added to the loaded level and the level is connected with the one in the database. This means adding new solutions or deleting solutions from the loaded level also adds the solutions to / removes the solutions from the level in the database. Nevertheless, it's recommended to import all levels to the database manually (menu: Database->Import collection to database). This way the levels are stored for a collection having a specific name.

New in JSoko 1.72 (Nov 28, 2013)

  • Bug fix: the solver couldn't solve some levels like Thinking Rabbit Original No 10
  • JSoko uses the default "Look and Feel" on Mac OS
  • The new JSoko icon is used in the program
  • It's possible to save a whole collection of levels in one file
  • Support of "interior empty rows": a level now can contain empty lines. These "empty lines" must only contain spaces except the first character which must be a "-".

New in JSoko 1.71 (Oct 4, 2013)

  • Improved Chinese translation. Thanks to Anian Wu for this update.
  • bug fix: Clicking at "Info -> about JSoko" caused an "out of memory" error. Thanks to garbelinchen for reporting this.
  • optimizer: there is a new optimizing method that optimizes for:
  • moves
  • pushes
  • box lines
  • box changes
  • pushing sessions
  • Optimizing for 5 metrics takes a lot more time than just optimizing moves and pushes. However, this new method can leverage all cores of a system and use more RAM as the other methods. Hence, on multi cores systems this method can be as fast as the old moves/pushes optimizing method. The results of this methods are the same as of the normal moves/pushes method except that the found solutions are also optimized for box lines, box changes and pushing sessions.
  • Hint: in order to use the full power of this method it's recommended to start JSoko with a higher RAM setting. The setting is in the files Start_JSoko_Linux.sh / Start_JSoko_Windows.bat
  • For instance the "512m" in java -Xmx512m -jar JSoko.jar can be replaced by a higher number like 5000m to allow JSoko to use 5000MB (= 5GB) RAM.

New in JSoko 1.68 (Apr 1, 2013)

  • new skin by Jean-Pierre Martel
  • highlighting of reachable box positions can be set on / off
  • replay can be started using key "R"
  • redo and undo can be done using single steps
  • JSoko remembers the last played collection file and level number