Skip to content
SPECIFICTION
Get listed

WaveFunctionCollapse

github.com

WebWindowsmacOSLinux
Visit github.com
Spec score 7.1 #24 of 27 in Game Map Generators

What it is

WaveFunctionCollapse is a free tool for generating bitmaps from local patterns in an input image. It limits output to NxN pixel patterns found in that input, with optional rotations and reflections to expand the pattern data. During generation, it selects an unresolved region with the lowest Shannon entropy, assigns a state, and propagates the resulting constraints. The simple tiled model instead starts from tiles and adjacency data, and a symmetry system can shorten adjacency lists for symmetrical tilesets. Constraints let the method be combined with other generative algorithms or manual creation. The README describes it as suited to game level generation and pixel art, but less suited to large full-color textures. Models can work in higher dimensions, including voxel examples. The project links to an interactive browser version and lists adaptations for Unity, Unreal Engine 5, Godot 4, and Houdini. It supports Linux, macOS, web, and Windows; listed export formats are PNG and TXT. Generation can stop at a contradiction without producing output, and the project describes determining whether a valid bitmap exists as NP-hard. The software is MIT-licensed; the image samples and tiles are not included in that license.

Spec sheet

Purpose
WaveFunctionCollapse generates bitmaps that are locally similar to an input bitmap.Read 30 Sep 2026 · github.com
Platforms
The project can be built from source with .NET Core for Windows, Linux, or macOS, and the README links to a browser version.Read 30 Sep 2026 · github.com
Integrations
The README lists adaptations for Unity, Unreal Engine 5, Godot 4, and Houdini.Read 30 Sep 2026 · github.com
License
The software is under the MIT License; the license states that the provided image samples and tiles are not part of the software.Read 30 Sep 2026 · github.com
Founded
2016Read 28 Sep 2026 · github.com
Maker
The repository license credits Maxim Gumin with copyright in 2016.Read 30 Sep 2026 · github.com
Browser version
The README links to an interactive version that runs in a browser.Read 30 Sep 2026 · github.com
Constraints
The algorithm supports constraints and can be combined with other generative algorithms or manual creation.Read 30 Sep 2026 · github.com
Generation method
The algorithm repeatedly selects an unobserved region with the lowest Shannon entropy, collapses it to a state, and propagates the resulting information.Read 30 Sep 2026 · github.com
Higher dimensions
The README describes WFC models in higher dimensions, including voxel examples.Read 30 Sep 2026 · github.com
Input augmentation
The algorithm can optionally augment pattern data with rotations and reflections.Read 30 Sep 2026 · github.com
Intended uses
The README describes the method as well suited to game level generation and pixel art, and less suited to large full-color textures.Read 30 Sep 2026 · github.com
Limit
Generation can reach a contradiction and stop without producing output; determining whether a valid bitmap exists is described as NP-hard.Read 30 Sep 2026 · github.com
Maker location
Maxim Gumin’s GitHub profile lists Helsinki.Read 30 Sep 2026 · github.com
Pattern matching
The output is constrained to contain only NxN pixel patterns found in the input.Read 30 Sep 2026 · github.com
Possible failure
Generation can stop if propagation creates a contradiction, leaving no valid coefficients for a pixel.Read 30 Sep 2026 · github.com
Release limitation
The release page advises Linux and macOS users to download source from the repository because the bundled release source uses a Windows-only System.Drawing library.Read 30 Sep 2026 · github.com
Release note
The v1.00 release page says Linux and macOS users should download source from the repository because the bundled release source uses a Windows-only System.Drawing library.Read 30 Sep 2026 · github.com
Symmetry
A tile symmetry system can shorten adjacency lists for tilesets with symmetrical tiles.Read 30 Sep 2026 · github.com
Tilemap generation
The simple tiled model can be initialized with tiles and adjacency data instead of a sample bitmap.Read 30 Sep 2026 · github.com

Strong points and limits

Strong points

  • Free and available on Linux, macOS, web, and Windows.
  • Supports input patterns with optional rotations and reflections.
  • Tilemap generation can use tiles and adjacency data.
  • Can be combined with constraints, other algorithms, or manual work.
  • Adaptations are listed for Unity, Unreal Engine 5, Godot 4, and Houdini.

Limits

  • Generation can stop at a contradiction without output.
  • Described as less suited to large full-color textures.
  • Linux and macOS users are advised to download source from the repository for the v1.00 release.

Who it suits

It suits people making game levels, pixel art, tilemaps, or voxel examples who want to generate content from patterns and constraints. It is less suited to large full-color textures.

Verdict

WaveFunctionCollapse offers pattern-based bitmap and tilemap generation, with constraints and higher-dimensional examples. Its main caveat is that propagation can reach a contradiction and halt without a result.

Where Specifiction places it

Alternatives to WaveFunctionCollapseAll alternatives →