Simple Sokoban skin format

00 01 02 03
FLOOR PUSHER BOX  
04 05 06 07
GOAL PUSHER
on
Goal
BOX
on
Goal
 
08 09 10 11

← WALL →
← WALL → WALL-
CAP
Back-
ground
12 13 14 15

WALL
‾‾
| WALL |
__
© ©
(settings)
16 17 18 19

PUSHER

PUSHER

PUSHER

PUSHER
20 21 22 23

PUSHER
on
Goal

PUSHER
on
Goal

PUSHER
on
Goal

PUSHER
on
Goal
24 25 26 27
  Animation Frames  
28 29 30 31
  Animation Frames  

Starting with version 1.0.6 Simplesok uses a modified version of the "Common skin format". Older versions of the game used a custom format.

The "Common skin format" is convention on how individual tiles are placed in skin image, a kind of cross-program standard format.

This makes it possible, to use some skin, i.e. downloaded from the net, which was not designed for it, with Simplesok. There are however some limitations, when doing this.

The common skin is just an image file usually in PNG or BMP format. The skin image is consisted of 4 by 8 tiles, with each tile representing a game element. Skin sizes for each tile can be 16x16, 32x32, 64x64 or any size you like, because Simplesok supports skins of any size.

The drawing shows, how the tiles are placed into the image.

Here is a short description:

Now we need to talk about the ANIMATED PUSHER and the animation used in Simplesok in general.

The only things that are animated within a Sokoban game are the BOXES and the PUSHER. Most skins, you find on the net, use for both tiles that have a solid background. This has the downside, that the whole tile moves over the background, when the pusher or the box is moving. This makes it impossible to do a smooth, seamless animation. We have to resort to an animation, that "jumps from tile to tile" when using a solid background with the moving tiles.

With the pusher, we have to distinguish 3 different cases:

  1. The pusher is fixed, not animated, also known as static pusher.
  2. The pusher looks completely different when changing direction.
  3. The pusher can be rotated when changing directions.

The 3rd case can only be used with skins, that are created or specially modified for Simplesok. Those skins can not be used with other Sokoban games. These skins make it possible to have smooth, seamless animations by taking advantage of the "chameleon effect". This requires to have a transparent background with the moving tiles and a few other changes.

Here is, what Simplesok does differently:

documentation written and maintained by Friedhelm Mehnert