Procedural Sokoban Generation
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
images32
Const.h
Makefile
README.md
SDLheaders.h
board.cpp
board.h
coord.cpp
coord.h
entity.cpp
entity.h
fileio.h
fileio.mm
g_Game.cpp
g_Game.h
game.cpp
game.h
generator.cpp
generator.h
graphics.cpp
graphics.h
main.cpp
network.cpp
network.h
solver.cpp
solver.h
ui.cpp
ui.h

README.md

sokoban

Procedural Sokoban Generation

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 also includes a very rudimentary competitive online multiplayer mode (required for the project).

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 currently only compilable on Mac due to some sloppy functions using Mac code, but I will be removing them at some point.

Mac Build Requirements (use Makefile):

  • Xcode
  • SDL2, SDL2_image, SDL2_net (default framework search in /Library/Frameworks)
  • Curl (looks in /usr/local/lib/)
  • Boost Libraries: System, Filesystem, and Random (you must modify their location in this project's Makefile)
  • Patience