My final year project was to investigate different methods used to procedurally generate game environments in the hope of eliminating repetitive gameplay. There are many different ways to generate environments however I decided to focus on the Wave Function Collapse (WFC) algorithm.

The WFC algorithm uses a predesigned set of modules which fit together based on a complex set of rules to create a scene or environment. This process creates seemingly random results each generation. The slideshow contains examples of the various development stages of the modules.

This slideshow requires JavaScript.

This image shows how pieces from the final set of modules fit together. Each module has 6 connectors, one for each face that determine which other modules can be placed beside it.

This video shows WFC algorithm building a scene from a library module set. The algorithm looks to assign a module to each slot in a grid, the green dots mark changes being made to a slot, red dots indicate the algorithm is stuck and it will begin backtracking to find a solution.

Finally, here is a slideshow of some interesting generations.

This slideshow requires JavaScript.

I found inspiration for the art style of this project from the Belmont library in Castlevania.

Insipritation for the choice of algorithm was found in a post by Marian42 (


Skip to content
%d bloggers like this: