Wave Function Collapse Algorithm (Another Python Implementation)

Visualization

Flower.png Red Maze.png 3Bricks.png Platformer.png
Flower Red Maze 3Bricks Platformer

Original Project

The original project which introduced the wave fu)nction collapse algorithm is by Maxim Gumin. Original Github

Setup python / enviornment

The code should be python2 and 3 compatible. But recommended to use python3, since python2 is no longer maintained.

python -m pip install -r requirements.txt

or

python3 -m pip install -r requirements.xt

If it doesn't work, for instance, if you don't have pip. Download pip https://pip.pypa.io/en/stable/installation/. Use python from https://www.python.org/. If using windows, remember to click "Add to system path" when you first install python. Otherwise follow this to add python to your system path. (https://geek-university.com/python/add-python-to-the-windows-path/)

How to run

python run.py --spec file location

Example:

python run.py flowersAbsoluteGC.yaml

TODO

1.Tile Based (Done (Need Revising))

2.Manual adjacency creator (TODO)

3.Overlap Based. (Done)

4.Overlap Based Rotation and Symmetry. (Done)

5.Overlap Backtrack. (Done)

6.Overlap global constraints -> Ground (Done)

7.Overlap more global constraints (Done)