Wave Function Collapse
About Wave Function Collapse (WFC)
Here's a quick explanation on what the WFC is, if you already know about it feel free to skip to my demo.
The WFC is an algorithm for procedural generation using building blocks called tiles or modules in 3D. Defining a set of rules for each Tile/Module to control the connections. The algorithm then picks the spot with the fewest possible choices (lowest entropy), makes a decision which can be influenced with weights, and then ripples out the consequences to the surrounding area, ruling out impossible combinations as it goes and repeating until finished.
Video Demo

Skills and Tools
- Unity
- C++ & C#
- Win32 App
- Procedural Generation
- Algorithmic Optimisations
- 2D and 3D design
My Implementation
I made a 2D Tile-Based WFC to generate maps based on a set of tiles and defined weights, I also created a small game showcasing a potential use of the generation. With defined path the rest of the world is randomly generated!
I also made a 3D version as a proof of concept, adapting the algorithm for 3D structures to generate dungeons.
Inspired by a video by Martin Donald that illustrated the algorithm and its endless procedural possibilities. I wanted to explore how generative algorithms intersect with games, having worked with generative algortihms before, this was a natural progression for me.
I'm fascinated by the potential of dungeon generation and truly believe that the future of gaming lies in procedural generation. Imagine your favorite single-player game with a new map generated every time you replay it!
I invite you to check out my Github page where I go into details about my implementations with visual demonstrations as well.