This repo is an implementation of a tiled wave function collapse algorithm. It is inspired by the work of Maxim Gumin.
The program includes hand made controls for changing the speed of the simulation, as well as swapping out the tilesets.
If built using Makefiles, this project requires raylib to be preinstalled (with a working C++ compiler). In the Makefile, make sure RAYLIB_PATH
and COMPILER_PATH
are set correctly.
Alternatively, CMake can be used to build this project and will download and compile raylib automatically. Requires a C++ compiler and OpenGl.
Both options have been tested on Windows, using Mingw or MSVC, and WSL using g++.
There is a playable version (compiled using emscripten) on Itch.io!
The C++ code is written using modern C++, and requires C++20 support to compile.
The tilesets included in the tilesets/
folder are from Maxim Gumin and Guy Walker's websites, with minor tweaks when required (such as changing all tiles to be 32x32).
The data.txt
files included with each texture are in a custom format. I may change it to json/xml/yaml in the future to improve readability.