Procedural Sokoban Generator

This program is a partial implementation of Joshua Taylor and Ian Parberry's paper "Procedural Generation of Sokoban Levels": Proceedings of the 6th International North American Conference on Intelligent Games and Simulation (GAMEON-NA), pp. 5-12, EUROSIS, 2011. They describe a cool algorithm to procedurally generate Sokoban levels.

This implementation was done in three weeks for my Modern Computer Games course final project. As such, it is not a complete implementation, is much slower than what Taylor & Parberry propose, and lacks many of the niceties. Probably, it should be called a loose proof of concept and not an implementation.

The program uses several graphical assets from elarel, my logic puzzle game based on Sokoban and other related games. These images are copyrighted and should not be reused for other projects.

The code is available at GitHub here.

hardest level
A hard level generated in a small space (105 moves needed to solve).

A lesser man might have wavered that day in the hospital corridor, a weaker man might have compromised on such excellent subtitute [names] as Drum Major, Minor Major, Sergeant Major, or C Sharp Major, but Major Major's father had waited fourteen years for just such an opportunity, and he was not a person to waste it. Major Major's father had a good joke about opportunity. "Opportunity only knocks once in this world," he would say. Major Major's father repeated this good joke at every opportunity.

Catch-22