A collection of libraries to generate Sokoban puzzles using a Monte Carlo Tree Search approach.
This repository is part of the Master Thesis 'Generating Sokoban Levels that are Interesting to Play using Simulation' of Simon Karman at the Utrecht University for the Masters Programme: Game and Media Technology.
The repository contains the following three projects:
Bilal Generation (C++) - A C++ project by the original authors of the 'Generating Sokoban Puzzles Using Simulated Play'-paper. This project was added to this repository for reference and to be able to generate puzzles using the original apporach. It has been sligthly altered to allow compilation on Windows and write information to disk.
Sokoban Generation (C#) - A C# library that aims to be a replica of the Bilal Generation project, including the improvements of the master thesis. This project depends on the C# 'Monte Carlo Tree Search'-project. The 'Sokoban Generator'-project is a console application that utalizes this library, which is also present in the solution.
Evolved Sokoban Generation (C++) - A C++ project that aims be a replica of the Bilal Generation project, including the improvements of the master thesis.
- Install Visual Studio 2017
- Extract repository to a local directory on your filesystem
- Open the 'Sokoban Generation.sln' file with Visual Studio 2017
Usage of the libraries can be found in at the following files and methods per project:
Bilal Generation (C++) can be seen at 'MCTS_Cloud_AI.cpp' in the 'main' method
Sokoban Generation (C#) can be seen at 'Program.cs' in the 'Sokoban Generator' solution at the 'Program_Generator' method
Evolved Sokoban Generation (C++) can be seen at 'Main.cpp' in the 'main_MCTS' method