Home Language Packs YHexoban

Free Sokoban implementation for Windows 95/98/NT/2K/XP


Last modified on 16 November 2009
Current version of YSokoban is 1.217


There were two reasons to implement this version of Sokoban: Features:


Download YSokoban YSokoban implementation for MS Windows

Some Sokoban skins. Standard skins (inside ysokoban.zip) are based on XSokoban.

Language packs for YSokoban.

Download YSokoban for mobile phone, java MIDP 2.0 only, experimental version 1.0.2.

YSokoban.atspace.com YSokoban site with solutions.

Original levels reworked by Jordi Domenech ("Haikemono") This is his web site: http://www.abelmartin.com/rj/rj.html

A special version of Sokoban is available, requested by Ming. It is used to help creating animated gif for a solution, by saveing a bmp file after every move.

History:
dateversionchanges
2009.11.191.218Optimized pasting of level (pasting entire collection takes too long sometimes). Thanx to Ming.
2009.11.161.217Two changes in mf8 export (ctrl-m): add title/author (if exist), remove solution (if any). Requested by Ming.
2009.11.141.216Small optimization in algorithm "Which box push to here".
2009.11.041.215Another bugfix in algorithm "Which box push to here".
2009.11.021.214Bugfix in algorithm "Which box push to here", correctly finds all of them, but does not select nearest (bug introduced in v 1.130).
2009.10.151.213Ctrl-L will copy original level and current position (requested by Ming).
2009.10.111.212Option to use transformation for collection export (requested by Ming).
2009.10.061.211Fixed bug in export all solutions, introduced in 1.208. Thanks to Harpreet Singh for the bug report.
2009.09.291.210Do not print ruler in MF8 format export to clipboard.
2009.09.271.209Improved ruler functionality. ctrl-R / alt-R to activate letter/number ruler. (requested by Ming)
2009.09.231.208Added ruler functionality. Activate/Deactivate with ctrl-R. (requested by Ming)
2009.09.101.207Bugfix. It seems that there were some other cases where selected solution is changed unexpectedly.
2009.09.091.206Bugfix. If you have two solutions and replay the second one with F2, it will not auto switch anymore to the first one at the end.
2009.08.271.205Bugfix. Now title is recalculated after every transformation (rotations are important), so that %r and %c are correctly displayed.
2009.07.231.204ctrl-m will not put info for file, author, start line ... (this info is not needed in MF-8)
2009.07.201.203ctrl-m (copy level to clipboard with MF8 format) now puts XSB part with '_' or '-' (depending on setting for RLE encoding).
2009.07.151.202Bugfix. Few strings now are auto changed during language change. YSokoban will not complain if language packs are newer version.
2009.07.141.201Bugfix. Added several hard coded strings to language packs.
2009.07.121.200YSokoban has support for localization. Requested by Ming.
 
2009.07.091.136New hot key ctrl-M to support MF8 format. See readme for more details (search for MF8).
2009.07.081.135Support for MF8 format (# + and @ are replaced with H x and a, and level starts with [soko=width,height] ends with [/soko]). Requested by Ming. See readme for more details (search for MF8).
2009.06.141.134Bugfix introduced in 1.130. Sometimes auto selection for pushable select box on target even if there is a pushable box not on target.
2009.05.171.133Bugfix for copy level into clipboard introduced with 1.132 (puts unwanted "; Level 1").
1.132Improved export (requested by Ming).
2009.05.121.131Improved solution import (requested by Ming).
2009.05.031.130Optimized search for finding pushable boxes (which box can come to this cell).
2009.04.261.129Pressing left & right mouse buttons (or left button with shift) will act as select/move regardless of configuration.
2009.04.191.128Scrollbars in playing area. For details read readme.txt.
2009.03.211.127Playing solution (pasted or with F2 can be paused with space and run again witch ctrl-space
2009.03.151.126fixed some bugs introduced in 1.125
2009.03.101.125added: 2 more slots for skins; show pushable is enhanced, now one can select pushable box by clicking on it with same mouse button (saves one mouse click); added mouse action "show pushable (always but man)" which will show places where man can go if clicked on it (otherwise it works like "show pushable").
2008.12.261.124Bugfix: hangup when pasting levels with comments containing big numbers like 20080408e (try to RLE decode them)
2008.12.261.123Do not save pasted solution (they are not players solutions). Level is saved only if last move is done by the player.
2008.10.291.122Bugfix: stupid bug introduced in version 121 showing all levels as trivial.
2008.09.271.121Bugfix: no crash anymore when importing invalid solution file.
2008.09.271.120Bugfix finding solution for trivial level (level identified as trivial, but solution was wrong).
2008.09.141.119Trivial levels are not exported as not solved levels.
2008.09.141.118Solutions for trivial levels are also exported. It is possible to use F2 with trivial levels. Requested by Ming.
2008.09.131.117Trivial levels (those without boxes to move in normalized form) are considered solved during export. Requested by Ming.
2008.08.171.116A minor problem fixed (thanks to Ming). Do not make a strict check when importing level solutions (process them case insensitive).
2008.06.231.115Bugfix in 1.114 (thanks to Ming) + enhancement: % will split to many files (containing both level and solution), %% to many xsb and xht files.
1.114Export solutions one level per file. Specify % (replaced by level number) in filename. (requested by Ming)
2008.05.291.113ctrl-alt-V & ctrl-shift-alt-INS will paste solution playing step by step, shift-F2 & alt-F2 will play solution step by step. (requested by Ming)
2008.03.071.112Added option to put solution on one line when using ctrl-L. (requested by Ming)
2007.12.291.111Fixed minor bug. Title or Author was not correctly processed if there are digits and '#' in them.
2007.11.051.110Added an option to put "Solution:" on a separate line (option is ON by default). It was requested by Brain to make YSokoban compatible with common sokoban file format.
2007.10.121.109F11 automatically starts default browser with appropriate URL for current level scores. If no such level score is available you will get error page or start page of hosting site (in this case atspace.com).
2007.10.091.108Support for full RLE encoding for solutions.
2007.10.071.107Support for hash code (with F12). Used to get level solution (still working on this) from YSokoban.atspace.com.
2007.09.151.106"Stay on top" implemented.
2007.08.221.105Bug fix: import does not work. Improvement: import will import solutions which does not start with "Solution:", but they still should be one line.
2007.06.271.104Changes requested by Ming: Added option not to save solution for incorrect levels (number of boxes != number of targets). Added hot key ctrl-alt-left/right arrow which jumps to prev/next incorrect level
2007.06.051.103Few cosmetic changes. Added warning message if attempt to save partial solution (because of possible internal error).
2007.05.281.102Bug fix (thanks to Ming). Some problems with finding path with go-trough (hint shows that moving is possible but does not do it actually).
2007.04.071.101Implemented export of non solved levels.
2007.04.061.100Bug fix (thanks to Ming). Corrected refresh in Instant Move mode (in some very rare cases). Added %b & %t format specifiers in title.
2007.03.221.99Bug fix (thanks to Ming). Importing solutions now works even when solution is not in correct case.
2006.12.241.98Bug fix. Importing solutions work even with levels which has more balls than targets or more targets than balls. In that case level is considered solved if there are no empty targets or no balls outside targets (depending on what is less: balls or targets).
2006.12.141.97Copy rest of solution to clipboard (ctrl-alt-C or ctrl-alt-Ins), requested by Ming. Please see readme for explanation.
2006.12.031.96Export of a solutions for current collection.
2006.11.201.95Replace all ' ' with '_' or '-' when copying level to clipboard if 'alt' is pressed together with Ctrl-L. Which one (_ or -) will be used depends on RLE packing level option. Thanks to Ming for the requested feature.
2006.10.071.94Replace all '>' with ' ' when pasting level. The idea is to skip all '>' characters which are inserted in reply emails (at the beginning of a line). Thanks to Ming for the requested feature.
2006.09.091.93Bug fix (thanks to Ming) now selection of first collection in combo box is OK. Normally it sokoban does not change it because it is the current one, but if there is a level pasted then first collection should be selected.
2006.07.021.92Bug fix (thanks to Ming) when pasting levels RLE rules are not applied anymore to other level attributes (like Title, Author and so on).
1.91Default value to encode space is set to hyphen '-' (for RLE). Problem fix - clicking on wall crashes version 1.90. The problem disappear after recompilation and relink, so it is was not a bug but some other kind of a problem.
1.90Change in RLE packing support. There is an option how to encode space in RLE packed levels - with underscore '_' or with hyphen '-'.
1.89Support for RLE packed levels and solutions. You can paste RLE packed levels and solutions. Ctrl-Shift-L will copy to clipboard packed level and solution.
1.88Few bugs fixed (thanks to Ming). Some flicking removed. Correct behavior when selecting un existing collection from drop down list. Go to next level on left click (always) when level is finished.
1.87Bug fixed (thanks to Ming) in "Instant Move" screen refresh when "show direction change" is off (it seems like some boxes disappear).
1.86Bug fixed (thanks to Ming) in "Instant Move" screen refresh (it seems like some boxes disappear).
1.85Improved Instant Move performance, only large levels with HUGE (more than 200000 moves) solutions are affected. Bug fixed - now YSokoban will correctly preserve HUGE solutions (more than 200000 moves). Add new option - not to save solution for levels with only 1 box.
1.84Import and export of solutions. Before this version you can do that only for current level. Now you can export all solutions that you have (and import all of them).
1.83Corrected Ctrl-L. Now it gives level as it is in collection file, before level is in normalized form.
2005.01.031.82Bug fix (thanks to Ming for the bug report). Incorrect read of levels (could even hang up) if levels has a MAC format text file (CR only).
1.81Most option values are saved now in .SokoInfo file (not in registry). On first start program will copy all options from registry (if any) to user file. Only skin and level options are still in registry. I will move all of them to user file.
1.80Improvement of grid size calculations. When I work on transformed skins (from old to new format by Brian Damgaard) I find out that sometimes grid is not very nice (for example for 16x16 or 50x50 levels). Other small change is: selecting already selected ball will deselect it.
1.79New option introduced: Solution should have at least one push. If on (by default) program will require at least one push to be performed to consider level as solved (there are some levels which are initially in solved state).
1.78Configurable size text shown in title bar (requested by Ming). Now %r - rows & %c - cols could be used to select how level size should be shown, by default it is [COLxROW]
1.77Bug fix in path finding using go through. Hope there will be no more bugs in go through.
1.76Added: Option to show level size in title bar. Added: Mouse cursor change during ball (or man) drag
1.75New button added - Instant Move (and new option for it). When pressed - sokoban moves instantly (no animation during move). Requested by Ming (needed for large levels).
1.74Bug fix (bug introduced in ver 1.73). Now it is possible to open a collection which is in a folder inside folder which contains exe.
1.73Small enhancement. Now program will keep relative path (if possible) to selected files (collection, skins, and player). I implement this because I put program on USB drive and find out that sometimes this USB drive is mounted on a different drive letter, so I have to change options.
1.72Bug fix in path finding using go through.
1.71Bug fix. Negative values displayed when there are more than 32768 moves or Pushes. Thanks to Marek Letrab for the bug report.
1.70A small bugfix. Pressing ctrl, shift or ctrl-shift will not increase animation speed anymore. Only replay speed will be affected.
1.69Better output in a clipboard for Ctrl-L. Collection button and combo box are moved after level (now level is at leftmost position - more convenient after resizing of a dialog).
1.68Bug fix in Ctrl-L (man is not displayed in interm positions). Bug fix - incorrect calculation of shelding steps in some of the saved solutions (thanks to Ming for reported bug).
1.67Ctrl-L added - copy of level into clipboard (suggested by Ming).
1.66Bug fix in "Go through box" functionality. Support for filename of a level as command line parameter. This functionality can be used to specify that double clicking on XSB file should start YSokoban with this file.
1.65Go through box functionality (suggested and inspired by Ming).
1.64Show and hide net in a level. Show squares outside of level in a different color (optional). Default skins changed. Old style skins are supported too.
1.63Rotating and mirroring of a level during play (suggested and inspired by Ming).
1.62Bug fix (thanks to Ming) in pasting a level from clipboard.
1.61Bug fix in push path finding (bug was introduced in version 1.50)
2003.03.161.60Settings for optimizing push path are added (Push path optimization in system menu). For more information read readme.txt
 
2003.03.091.53There is a button (Collection) to quickly select of a collection (equivalent to combo box "*** select ***" item).
2003.03.081.52Hint: "show non pushable boxes".
2003.03.071.51Now it is possible to paste text of a level (or even entire collection) with clipboard.
2003.03.061.50All internal functionality of the program is reworked. From user point of view - not much changes, that's why version number jumps, but not to 2.00. Ctrl-Home/End - jumps to first/last level in Collection. 10 collections (and users) are preserved, so you can quickly change them. More than one solution is preserved (best 5 according to five measuring values). Player info files are changed again, now they are *.SokoInfo. Old one (*.plr) is auto converted (or imported).
 
2003.02.031.24Support for compressed LURD format (for example: 5L3u77D)
2003.01.011.23Bug fix. Corrected problem with colors in 256 colors video mode
2002.12.301.22Support for case insensitive lurd format of a solution (for input). (Suggested by Ming)
2002.12.061.21Bug fix - now program correctly displays Author and title.
2002.04.121.20Bug fix "shelding steps" counter is now reset to zero at level start. (Thanks to V.Kindermans)
2002.03.161.19Support for "shelding steps" counter.
2002.02.161.18Bug fix (crashes on invalid levels). Uninstall implemented, skins loaded by default.
1.17Bug fix in test for level equality (thanks to Shaun Green for report and analysis of the problem).
1.16Improved test for level equality.
1.15Small change - collection combo box resizes with dialog.
1.14Supports following keywords in level files: Author, Title and Mouse.
1.13Option to disable mouse support (useful for kids).
1.12Two additional counters (Box changes & Straight line pushes) implemented.
1.11Some small changes and optimizations (invisible to user).
1.10Some changes in options menu. Now you can configure all 3 mouse buttons and even mouse wheel.
1.09Redo. Pause in solution play back.
1.08Option to count moves and pushes as in XSokoban. Keys to move to next/prev unsolved level.
1.07Option to auto save moves.
1.06Possibility to get hint about all balls that could be pushed to certain location.
2001.12.201.01
(711)
+ Ctrl arrows - move to next/prev level,
+ Ctrl+Shift arrows move to next/prev unsolved level
+ Option to implement XSokoban like counting of pushes/moves.
2001.12.181.00
(683)
* Bug fix. Do not save solution if pushes and moves are the same
+ Ctrl-C and Ctrl-V supported as copy & paste.
2001.12.151.00
(675)
+ Auto save moves on exit
2001.12.141.00
(656)
+ Show pushable balls and auto select nearest for move
2001.12.121.00
(609)
+ Force minimum possible dialog size on skin chnage
* Bug fix. Corrected crash if two instances of sokoban started (problem to open the player).
2001.12.101.00
(584)
+ Shows hints.
* Bug fix: It was possible to save incorrect information about how particular level was solved (in .plr file).
2001.12.101.00
(577)
+ Supporting skins.
2001.12.051.00
(477)
+ "Remember" last selected collection, user and level.
2001.12.041.00
(465)
+ Improve handling of a collection file. Now it is possible to separate levels in a collection with empty lines or some text - in fact any line that does not start with #.
2001.12.031.00
(450)
+ First stable version - 1.00, build 450.

This implementation is FREE. But ... if you like it and if you continue to use it, please send me an e-mail. If nobody uses it then there is no reason for me to continue support.





Put all separate XSB files in one text file

Two bat files to put all xsb files into one text file YSokoban supports multiple xsb files in one text file. Moreover it's preferred way. But sometimes you will find on the net (for example in XSokoban) all levels in a separate xsb files. To put them all in one text file is not an easy task. You can try "copy nul+*.xsb all_xsb.txt", but then you should edit manually the resulting text file. To put at least one line between levels I prepare two bat files. Unzip them in a directory which contains xsb files and start "all_xsb.bat" it will put all xsb files in a file all_xsb_files.txt. I did not like this solution very much but it works.

There is a better solution on http://grigr.narod.ru. Go to utils section and get xsb -> txt convertor. There is even a source code.




Sokoban utility to find duplicate levels

SokoDup is a utility program (no user interface, start from dos prompt). It checks for equal levels in collections and inside them.

Thanks to Shaun Green for his suggestions for program improvement and for tests and bug reports.

dateversionchanges
27.Mar.20051.12option -U added (same as -u but will dump comments before level).
03.Jan.20051.11Bug fix (thanks to Ming for the bug report). Incorrect read of levels (could even hang up) if levels has a MAC format text file (CR only).
25.Nov.20041.10some minor bugfix (dumping unique levels)
1.09Option -c supports now name of collection folder
03.Jul.20021.08Option -u (suggested by Ming) added.
1.07Option -= (suggested by Ming) added.
1.06Options -i (suggested by Shaun Green), and -T, -E, -D, -N added.
1.05Enhanced criteria for equal levels search (suggested by Shaun Green).
1.04option to check all levels from collection folder.
1.03Bug fix (thanks to Shaun Green for report and analysis of the problem).
1.02option to dump normalized and/or cleaned level. Improved level equality test (suggested by Shaun Green).
1.01option to check for duplicate levels without boxes or without boxes & targets (suggested by Shaun Green).
1.00Created and published

Download SokoDUP (80 KB)




Sokoban utility to transform levels - rotate, flip (14.Dec.2002)

SokoXform program - transform Sokoban levels by rotating and/or flipping them. Program functionality was suggested by Ming.
On command line specify two parameters - first of them is a number, second one is a filename. Redirect result to a file. For example:

C:\sokoban> sokoXform 8 mySokolevel.xsb > allXforms.xsb

First parameter is: Download SokoXform (80 KB)

dateversionchanges
31.May.20061.04Support for rle encoding. Warning!!! YSokoban does not support RLE encoding in XSB files. Only copy/paste RLE encoding is supported in YSokoban. So do not use RLE encoded XSB files for YSokoban (and perhaps for many other Sokoban clones).
03.Jan.20051.03Bug fix (thanks to Ming for the bug report). Incorrect read of levels (could even hang up) if levels has a MAC format text file (CR only).
1.02Bugfix, now parameter 8 is correctly processed (thanks to Hans-Dietrich).
1.01Support for parameter value 0 & 8.
1.00Created and published


Home Language Packs YHexoban