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

Picard:
You know, there are some words I've known since I was a schoolboy - "With the first link, the chain is forged. The first speech censured, the first thought forbidden, the first freedom denied, chains us all irrevocably." Those words were uttered by Judge Aaron Satie, as wisdom and warning. The first time any man's freedom is trodden on, we're all damaged. I fear that today -
Nora Satie:
How dare you! You who consort with Romulans, invoke my father's name to support your traitorous arguments! It is an offense to everything I hold dear. And to hear those words used to subvert the United Federation of Planets. My father was a great man! His name stands for integrity and principle. You dirty his name when you speak it! He loved the Federation. But you, Captain, corrupt it. You undermine our very way of life. I will expose you for what you are. I've brought down bigger men than you, Picard!

The Drumhead, Star Trek: The Next Generation