JSoko

JSoko is a Java program for playing the Sokoban game.

It's developed as an open source program at www.sourceforge.net 

Current version of JSoko is 2.25


Suggestions or any questions? Write to:  JSoko(at)mail.de

Sokoban News

By tags filter: jsokomopsokoban for windowssokoban yascsokolutionyassysokoban

Sokoban YASC 1.684 has been published

Brian Damgaard has published a new version of his great and widely used Sokoban YASC program.

The release notes for this new version:

  • New feature: Puzzle-specific backgrounds
    This feature allows each  puzzle to have its own unique backdrop as seen, for instance, in the Christmas-themed "Santaban" Sokoban clone.
     Using "Santaban" as a running example, to implement such a mission pack in Sokoban YASC, the puzzle file header must include the key-value pair
    Skin: Santaban
    The specified skin file must be placed in the "...\Skins\Common Skins" folder. 
    The skin sets the option "Graphics - Board - Background - Level-specific backgrounds enabled" to "Yes" and makes walls, floors, and goals transparent to reveal the artwork.
    The individual puzzle background images are stored in the dedicated subfolder "...\Mission Packs\Santaban\Assets\Graphics\Backgrounds".
    Puzzles and  background images are paired based on names; for example, a puzzle named "Santaban 01" has a matching background image named "Santaban 01.png".

    For a limited time following this release, the Santaban mission pack is available for download here: 
    https://www.dropbox.com/scl/fi/8bkb6hmu3p1iuqwysbcd7/Santaban_1-04-2026_Setup.exe?rlkey=mc9qx4sx3aiklarrqrsqxv23t&st=zqrp74li&dl=1
    This dual-installer bundles the legacy program-featuring an integrated keyboard compatibility workaround-with the Total Conversion for Sokoban YASC.
    Please note that the Total Conversion is currently an active work-in-progress; remaining puzzles await conversion in future updates.
  • The original Sokoban YASC music player has been resurrected.
    While reintroduced primarily to support mission packs like "Santaban", the music player is also available for general use.
    In "Settings", a new "Music" section has been added with two options: "Music enabled" and "Music folder".
    This feature is intended as a lightweight background audio solution rather than a substitute for a dedicated media player.
    It automatically plays the tracks contained within the selected folder as background music during gameplay.
    Thanks to Matthias Meger for providing a reproducible scenario needed to resolve a vicious music player instability issue.
  • As a side effect of the puzzle-specific background feature, it is also possible for regular puzzle collections to force a specific skin selection.
    By adding the key-value pair "Skin: " to the puzzle file header, the specified skin from the "...\Skins\Common Skins" folder will be loaded regardless of whether the collection utilizes individual background images.
    Use of this feature is generally discouraged for standard collections, as the choice of skin is typically left to the user's discretion.
    This functionality should be reserved only for cases where a specific visual style is essential for the intended experience.
  • Renamed the "KenBri - Directional Player" skin to simply "KenBri" to establish it as the default variant of this skin.
    The "KenBri - Walking Player" skin remains available as an optional variant.
  • Minor changes.

Tags: sokoban yasc

Sokoban YASC 1.683 has been published

Brian Damgaard has published a new version of his great and widely used Sokoban YASC program.

The release notes for this new version:

  • Improved the support for Asian languages a little. 
    Before the emergence of the Unicode text encoding system, languages like Japanese and Chinese used a text encoding with both 1-byte characters and 2-byte characters.
    Sokoban YASC processes all texts as having single-byte characters only, with the result that cleansing puzzle titles for unwanted and illegal characters (e.g., quotes) often caused the program to mistake the second half of a 2-byte character for a single character to be deleted.
    This caused spelling errors and garbled puzzle titles on the screen. 
    Now the text cleansing routines make an effort to handle 2-byte characters correctly.
    Users of multibyte languages may also need to adjust several program font settings, such as those found under:
    "Settings -> Graphics -> Open window -> Window font" and
    "Settings -> Graphics -> Tools -> Window font". 
    Thanks to Minoru Yoshitani for suggesting and testing this feature.
  • When displaying the player's legal moves, directional avatars now revert to their neutral direction if the skin lacks a dedicated "highlight player" animation. 
    For humanoid avatars, this typically means facing the spectator.
    This replaces the previous behavior where the avatar maintained the direction of its last move. Thanks to Matthias Meger for this suggestion.
  • Bugfix (1.682): Importing skins in the "Sokoban for Windows" format had stopped working.
  • Minor changes.
Tags: sokoban yasc

Sokoban YASC 1.682 has been published

Brian Damgaard has published a new version of his great and widely used Sokoban YASC program.


The release notes for this new version:

    • New feature: Walking player animation.
      This is an alternative to the simpler "directional player" animation, which has always been capable of showing a player avatar with directional orientation (e.g., an arrow-shaped avatar reflecting the direction of movement).
      The walking player animation features separate animations for walking and pushing.
      The skin format has been extended accordingly (see the detailed layout description added to the built-in help).
      A new speed control parameter has been introduced to regulate the duration of the animation sequence:
      "Settings | Animation | Walking player animation | Do move (milliseconds)". 
      This dedicated setting is necessary to prevent the animation sequence from being rendered too quickly, which would negate the visual effect.
    • Added a new "KenBri - Walking Player" Public Domain skin with walking player imagery.
      The original concept and foundational elements for this skin were generously placed in the Public Domain by Kenney Vleugels (via the CC0 dedication).
      Building upon this base, the resulting "KenBri" skin features significant, high-impact contributions by Brian Damgaard.
      Due to its graphical quality, gameplay suitability, and broad applicability for the Sokoban game, this skin is also donated to the Public Domain under the CC0 license.
      For full details, please see the accompanying description:
      In the skin selector window, select the skin and then choose "Menu -> Image text..."
    • Added a new "KenBri - Directional Player" skin, featuring a directional player avatar in place of a walking animation.
      This player drawing, processed and re-rendered using AI image tools, features a cartoon-style player drawing with advanced, professional-grade shading and depth. 
      Graphic artists are highly encouraged to develop walking player imagery based on this drawing.
      Such contributions would enable a future unified skin variant, serving as a replacement for the existing "KenBri - Walking Player" skin.
      Due to its graphical quality, gameplay suitability, and broad applicability for the Sokoban game, this skin is also donated to the Public Domain under the CC0 license.
      For full details, please see the accompanying description:
      In the skin selector window, select the skin and then choose "Menu -> Image text...".
    • The KSokoban skin has been replaced with a comprehensively updated version, achieving significant improvements in both aesthetics and gameplay clarity.
      While the original skin possessed strong ray-traced foundations, it was critically flawed by design inconsistencies and poor color choices that hampered visibility.
      This new version resolves those issues, introducing a consistent theme, a highly visible yellow gemstone for the player, and a new blue diamond for boxes-on-goals. 
      This refined version is intended to become a worldwide replacement for this classic skin. 
      The skin contains a detailed breakdown of all the modifications:
      In the skin selector window, select the skin and then choose "Menu -> Image text...".
      Thanks to Matthias Meger for valuable contributions to this skin.
    • The oldest section of puzzles from the YASGen collection - the "Greek Mythology" section - has been discarded, as these were early examples of auto-generated puzzles possessing little or no human appeal; they were predominantly perceived as chaotic random sequences of pushes that suddenly yielded a solution. 
      The key lessons learned were that auto-generated puzzles must either be small (e.g., four boxes), a size at which the chaotic element is successfully contained and perceived as a stimulating challenge, or - for larger auto-generated puzzles - they must exhibit structure, such as featuring a goal-room theme or connected goals, in order to introduce identifiable objectives. 
      One discarded puzzle deserving of honorable mention is "Hera":
       "9#|#.$.--*@#|#--.$*$$#|##-$*-*-#|#3-*3-#|#-#$.$#.#|#.$-.--.#|9#". 
      This 7x6 puzzle (not countng exterior walls), with 39 interior floor squares, held the longest known optimal solution of its size class (for conventional puzzles, not recursive so-called "Fibonacci puzzles") and illustrates the practically unsolvable complexity achievable by auto-generation within such small dimensions.
    • The Haywood puzzle collection has been streamlined by discarding the older "SokEvo" puzzle set - which shared the same design shortcomings as the early YASGen puzzles (detailed in the preceding entry) - and retaining only the "SokHard" set, with the entire collection renamed accordingly. 
      Furthermore, to enhance visual variety and appeal, redundant walls have been removed from all remaining puzzles in the collection. 
      One discarded puzzle deserving of honorable mention is "Teresa": 
       "7#|#+$--.#|#*$*$-#|#-$--.#|#.$*$-#|#.--.-#|7#", 
      which was proven to have the longest push-optimal solution in the class of 5x5 puzzles (excluding exterior walls) with nine boxes and no interior walls.
    • All hint texts and menu captions across the application have been inspected and refined using AI tools to improve consistency and bring the language closer to idiomatic English.
    • Windows 11 compatibility: The former logic utilized a two-step process for installing the accompanying Sokoban game skins:
      unpacking them to a shared, common program directory (as unmodified  source files) followed by a copy operation to the individual user's skin folder (where modification is permitted). 
      This design was intended to maintain a clean source copy of all standard skins.
      The subsequent copy step failed on certain installations, notably those running Windows 11, likely due to elevated operating system privilege restrictions. 
      The installer package now bypasses the intermediate common folder and writes all accompanying skins directly to the user's local skin folder during installation and updates.
      This ensures all skins are accessible and modifiable by the user. 
      However, this also means that any local modifications to the default skin files will be overwritten during future updates, so users should make their own copy of a skin before modifying it.
    • Minor changes.
Tags: sokoban yasc
zpqCMeb@6oxMpfGUyU_BL

Sokoban e-mail group

Visit: Sokoban group

Acknowledgements


JSoko installers are created using install4j.

install4j is a powerful multi-platform Java installer builder that generates native installers and application launchers for Java applications.


JSoko is developed with the help of the YourKit Java Profiler.

YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: