Sokoban

Sokoban is an interactive puzzle genre in which solvers move a character around a grid, pushing boxes onto specific spaces, navigating walls and other obstacles along the way.

Game publications
The name 'Sokoban' as a genre is taken from the first-ever game released that used the objectives/controls that we know today. Sokoban (倉庫番, meaning 'warehouse keeper') was designed in 1981 by Hiroyuki Imabayashi and released in 1982 by Thinking Rabbit. The original game featured a limited color palette, but practically all of the functionality seen in modern Sokoban puzzles. The goal in this game (and most other official games) was to navigate a maze filled with boxes that could be pushed (but not pulled) and had to be brought to specific 'storage' locations. When all boxes were on a storage space, a level was considered complete, and players could move on to the next.

'Official' releases of Sokoban games are sparse, with the majority of releases happening between 1982 and 1991, at the height of cassette- and floppy-based software distribution. A resurgence in the genre in the 2010s resulted in more releases for digital distribution through both Thinking Rabbit and Unbalance Corporation, with the latter releasing two titles for 8th-generation consoles.

A prominent modern developer of Sokoban and Sokoban-like games is Increpare (AKA Stephen Lavelle), who also developed an open-source scripting language called PuzzleScript. PuzzleScript is capable of creating various types of puzzle games, but one of the most common genres that it is used for is Sokoban. PuzzleScript games have appeared in numerous puzzle hunts, including both Galactic Puzzle Hunt and PI Hunt.

Research Application
Sokoban puzzles have been the subject of serious research in computer science, particularly within the field of computational complexity.

Puzzle Application
When present in puzzle hunts, Sokoban games are almost always used as optimization puzzles, requiring solvers to find the shortest solution to a given level. Whether this means that the puzzle extracts using a move count, movement tracking, or the final state of a given level varies from puzzle to puzzle.

Game Variations
There are several variations on the original Sokoban style that significantly change how one must think about a given puzzle.


 * Special Objectives - Traditional Sokoban puzzles are solved when all boxes are on their 'storage spaces', with no regard for which go where (although the optimized solution may require certain placements). Puzzles with special objectives will switch this up, perhaps coloring the boxes and requiring they only be placed in same-colored storage spaces. Alternatively, they may involve things like holes that need to be filled by boxes in order to be traversed, with the goal being to plug all holes.
 * Alternative Shapes/Dimensions - Traditionally, Sokoban puzzles take place in a 2D space made up of tiled squares. However, some sokoban puzzles open up the possibility for other arrangements of the play space. 3D sokoban allows for an additional axis of movement, while hexagon- and triangle-tiled play spaces require unique ways of thinking about the movement of boxes.
 * Quantum Linking - The most common use of quantum linking is by providing solvers with multiple characters to control, with inputs affecting both at the same time. However, this can also be applied to certain movable objects. Suppose two boxes of the same color are linked, meaning pushing one to the right will also push the other to the right (or in the opposite direction, for some creative misdirection).
 * Pulling - Pushing is the primary element of Sokoban, but some puzzles may allow solvers to pull boxes as well, which can make some normal puzzles much easier, forcing creators to design puzzles specifically with this new mechanic in mind.
 * Extra Elements - While most Sokoban puzzles have very minimalist environments (just walls, floors, and boxes), some decide to go a step beyond, and include other elements. These elements can include (but are not limited to):
 * One-way paths
 * Teleporters
 * Conveyor belts
 * Holes (as mentioned in Special Objectives)

Sokoban-likes
Some puzzles capture the feel of a Sokoban without even going anywhere near boxes as a concept, instead focusing on the square grid, the single character, and basic inputs to get them through a particular situation. These kinds of puzzles provide an alternative to the usual box-focused gameplay while still providing a optimization-based puzzle game. A common version of this is changing the goal of 'getting objects to locations' to one of 'collection objects', something that can become a less difficult challenge while still having an optimal solution, provided there are sufficient obstacles in the way.

Some may take issue with comparing non-box-related puzzles to the Sokoban genre, but there are sufficient comparisons to be made, particular with puzzle that utilize PuzzleScript, to the traditional style. Those that are too far removed from what could be considered a Sokoban puzzle may instead be classified simply as optimization puzzles.

Strategy

 * It's very important to not get stuck in a position where you cannot recover from, also known as a "dead" position. The most common such pattern in Sokoban is a 2x2 composed by some combination of boxes and walls. Any boxes in such a pattern can no longer be pushed, so if any of these boxes are not in its goal position then the position is dead.

Played Straight

 * - While not a playable Sokoban game (instead being controlled by a fictional Twitch chat), this puzzle did use one of the classic Sokoban sprite sets (from Magic Sokoban), and used traditional Sokoban rules.
 * - This puzzle used levels and mechanics from the Increpare game 'Stephen's Sausage Roll', which involves pushing sausages around using a fork in order to cook them. This puzzle specifically required solvers to find optimal solutions for specific levels.
 * - The entire finale of this hunt involved multiple Sokoban puzzles where solvers had to navigate a particular item to an endpoint, dealing with walls and movable boxes along the way. Notably, this had forced optimization, and each level had a strict maximum number of moves that could be used, and some of them used exactly that many.

Sokoban-likes
Some puzzles use similar concepts to Sokoban, but diverge from the usual boxes and switches of the norm.


 * - A collectathon-style puzzle, using Ball-In-A-Maze controls where movement travels all the way in a single direction until it hits a wall. The twist is that for each object collected, a light goes on in a box somewhere in the level, and when all the lights on a box go on, the box disappears. Thankfully, the exit to each level is also blocked by these boxes, but the slowly-disappearing walls to bounce off of make for a tricky puzzle.
 * - Possibly the furthest removed Sokoban-like from the genre, this puzzle is kind of a real, functional version of A Push in the Right Direction, albeit without boxes and with the ability to move diagonally. In it, solvers control a ninja travelling through a maze and need to work as a team to avoid obstacles and move over time-sensitive traps.
 * - A collection of mini-puzzles taking the form of a quiz. Since the topic of said quiz is Increpare games, there are a large number of sokobon-like games that solvers need to understand or fully beat in order to solve the puzzle fully.