How to build a good Sokoban level?

1. Requirements for the making of Sokoban levels

In principal, everybody who is capable of solving Sokoban levels is also able to build Sokoban levels. The quality of the creations is determined by three main factors:

Experience in solving levels

Originality and difficulty of levels solved in the past

Ability of the testers

That is: The probability of someone who has only solved a couple of small and easy levels to
rapidly build original and difficult stuff is close to zero.

Good work requires a decent tool (Construction Kit).
Such an Editor Tool should have the following features:

Comfortably saving, loading, and deleting of level drafts

Overview of saved works

Intuitive controls that allow for quick placement of game elements

Cut & Paste of level areas

Built-in test mode or tight-coupling to playing mode

Sanity check (is the number of boxes equal to the number of goal fields?)

Ability to add Meta information, like name of the level, author, comments

Solutions can be viewed at different speeds

The SOKOFUN Pro editor (Figure on the right) has lots of useful features.

2. Design Strategies

In my opinion, it is advisable to follow different strategies for the construction of Sokoban levels. Avoid a cookie cutter approach. Otherwise, you may end up with many similar levels
that bore the players.
In the beginning, an experienced critic is indispensable. Once you reach a certain level of expertise
a "movie" mode can help you to detect weak points in your creations, without consulting a human player.

Too many levels of the kind "SOKOBLUE #60" (Figure on the left) show: Symmetry can become boring. Additional disadvantage: Solving such levels is very hard to plan. Players switch to trial-and-error methods in such cases.

The following building strategies have proven successful in the past years:

Beginners should apply the trial and error method:
Set up a goal area. Freely spread boxes around the goals. Put up a surrounding wall and start playing. You will soon notice, whether your first draft works at all. Ensure it is solvable! Then continue to refine the level. Remove superfluous spaces, move game elements closer together. Make the starting configuration more complicated. Continue with several Refinement-Testing iterations. This might be tedious, but it usually results in hard levels.
Finally try to create levels that appear to be unsolvable in the starting configuration!

"The Worm" (Figure on the right) is an example of a highly condensed level with three alternating loops and an interesting starting configuration. Disadvantage: It is a so-called "one way level", i.e. you are guided automatically to the solution.
Experienced level designers often use the "goal area method":
At first, set up the goal area. This is done in such a way that allows to fill the goal fields in only one way. Thereafter place the other game elements in order to make it particularly hard to fill the goal area in the predetermined order.
This is done by applying the alternating loop method:
For this the boxes and walls have to be arranged just as trap doors of sliding doors. To progress, you have to open or close these doors which results in alternating loops. Use this strategy if you have in mind long solutions.

"Micrace" is an example of how trapdoors and sliding doors can be used.
The "Parking Lot" method is another popular strategy. Some spaces close to the goal area are planned as "parking space" for boxes. Early on these spaces have to be filled to be able to fill the whole goal area in the end.

Another excellent approach to make a level more attractive is the so-called "Trapper" method:
Try to arrange the boxes in such a way that suggests a certain rather easy solution. Following this idea should however not lead to a real solution. Some experience is needed to devise such configurations. It is of course important that the trap is not too apparent.
One way of achieving this is to offer lots of superfluous free space. Offer the player additional area to move around boxes that is useless for the solution.
A pretty mean but effective strategy is the "Dummy" method:
This strategy is only effective if used very sparse, especially following levels that employed the "Trapper" method. The "Dummy" method hopes that the player avoids simple solutions, fearing traps. In this case, the simple solution should indeed work out. You might for instance place a box very close to the goal area, allowing to push it onto its destination directly.

"Triumvirat" SOKOGOLD #12 (Figure on the left) has been successful, because the solution looks much easier than it really is.

3. Additional Remarks

Individual Style

In time every level designer develops his own style. Certain patterns appear more often, others are used very seldomly or never. That's ok! On the other hand, I do not like it if levels become too similar. Symmetrical designs may look great. If they occur too often, however, most players get annoyed at some point. Aesthetics do matter. According to our experience only a small part of the appeal of a level stems from the visual appearance, though.

"Mostly Crop" SOKOLOVE #90 (Figure on the right). The goal area was done first. Refinement took several hours.

Difficulty

Judging difficulty of sokoban levels is highly subjective. It depends on the previous experience and ability of the respective tester. To be able to compare the difficulty of levels, I introduced a difficulty scale in 1995. Testers judge levels on a scale from 1 (= very easy) to 10 (= extremely difficult). Such ratings can help to better compose level sets. Usually, the difficulty should rise throughout a level set. In addition, the rating may serve as an extra motivation for players if it is displayed as level information.
Remark: To reach a comparable difficulty rating you should consult several testers with varying abilities! Very good players often find it hard to judge easier levels.

"Fun Factor"

The quality of a sokoban problem is not completely determined by its difficulty. In my opinion, it is more important whether the tester/player had fun while searching for a solution.

The following factors may help evaluating the "fun factor":

- First impression. Does it seem to offer fun?
- Is the number of obstacles manageable, can we plan a solution?
- Which obstacles have to be conquered?
- Do we encounter unexpected difficulties?
- Can we solve the problems through logical reasoning, or do I rely on chance (may be frustrating)?
- Does the level keep up the suspense, or does it vanish later on?
- Are the problems new or known from previous levels?
- Is it fun to replay the level a second or a third time?
The "fun factor" can be described by the well-known symbols (++,+,o,-,--):