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).

I am going to explain this theory, but the question is are you going to understand it, when I tell you first that the first time we really thoroughly explain it to our own physics students is when they are in their third year of graduate physics, and you think the answer's gonna be No. And that's correct. You will not understand. But the students do not understand it either. And that's because the professor doesn't understand. And that's not a joke, but very interesting.

Richard Feynman, QED: Photons - Corpuscles of Light (Sir Douglas Robb Lectures, 1979)