Skip to content

This is a walking simulator for Monkey Island 2 that lets Guybrush, the main character, walk at random to different locations in the town known as 'Woodtick', which Guybrush visits at the beginning of the game.

fabianostermann/WoodtickWalkingSimulator

Repository files navigation

Woodtick Walking Simulator

This is a walking simulator for Monkey Island 2 that lets Guybrush, the main character, walk at random to different locations in the town known as 'Woodtick', which Guybrush visits at the beginning of the game. The music beautifully changes as Guybrush enters different locations.

This is intended for academic use as a dataset generator for machine learning of conditional music data. You can read about its use case in the corresponding paper (pp. 199–214) from the Proceedings of the 33th Workshop on Computational Intelligence.

Do not hesitate to contact me ✉️ if you have any questions!

HOWTO setup

Setup ScummVM

Disclaimer: The install scripts were developed and tested on Linux. Imho, they could probably work on Windows using WSL or MinGW.

The code of the game emulator ScummVM is not included in this repository. It also is intendedly NOT setup as an submodule (because of management overhead).

Therefore, just clone the separate repository scummvm-WoodtickRL in a subdirectory and check out the prepared branch with following commands:

git clone https://github.com/fabianostermann/scummvm-WoodtickRL.git scummvm-WoodtickRL
cd scummvm-WoodtickRL
git checkout WoodtickRL

Compile ScummVM

For Linux, install necessary packages (tested for Ubuntu 20.04 & 22.04):

apt install g++ make git nasm libsdl2-dev libsdl2-net-dev liba52-dev libjpeg-turbo8-dev libmpeg2-4-dev libogg-dev libvorbis-dev libflac-dev libmad0-dev libpng-dev libtheora-dev libfaad-dev libfluidsynth-dev libfreetype6-dev zlib1g-dev libfribidi-dev libgif-dev libcurl4-openssl-dev libgtk-3-dev libspeechd-dev libsndio-dev libunity-dev libvpx-dev libmikmod-dev

For compiling, use the bash make script: bash make_for_scumm_only.sh --configure

For more information on compiling ScummVM, see: https://wiki.scummvm.org/index.php?title=Compiling_ScummVM/GCC

Running the simulator

You will need the actual game in order to run it. If you do not own it, you can download it from archive.org Put all the monkey2 game files in a subfolder named gamedata/monkey2-game. The necessary savegame files are already provided by this repository.

Test your setup by running bash start_woodtick.sh. You will see the game starting in a window and the protagonist moving around the town. Don't be bothered if there is no sound. A midi file named dump.mid will be written to disk right after you choose to close the window.

You should now be able to record a full log with bash record_iMuse_monkey2.sh,
or create a whole dataset of multiple logs with bash generate_dataset.sh <desired_location> (default: dataset/)

Next to the recorded midi files, you will find a log file containing all information named dump.log.gz. Finally, you should transform all those logs to Machine Learning-friedly csv-formatted files using the python script util/logs_to_events.py:

pip install pandas pretty_midi
python util/logs_to_events.py --dir dataset/001/

About

This is a walking simulator for Monkey Island 2 that lets Guybrush, the main character, walk at random to different locations in the town known as 'Woodtick', which Guybrush visits at the beginning of the game.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published