Freedom251 › Game Map Generators
WaveFunctionCollapse

What WaveFunctionCollapse is
WaveFunctionCollapse generates bitmaps that share local patterns with an input image. It limits output to NxN pixel patterns found in the sample, and can optionally add rotated and reflected versions. Generation repeatedly chooses an unobserved region with the lowest Shannon entropy, assigns a state, then propagates the information to other regions. For tilemaps, its simple tiled model can use tiles and adjacency data instead of a sample image; a symmetry system can reduce 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, and less suited to large full-color textures. It also describes higher-dimensional models, including voxel examples. There is an interactive browser version, and adaptations are listed for Unity, Unreal Engine 5, Godot 4, and Houdini. The software is free and supports Linux, macOS, web, and Windows, with PNG and TXT export formats. Generation may stop at a contradiction without output.
Who it suits
WaveFunctionCollapse suits people generating game levels, pixel art, tilemaps, or voxel examples from local pattern rules. Its README says it is less suited to large full-color textures.
What it does well
- Free software under the MIT License.
- Can generate from sample patterns or tile adjacency data.
- Supports constraints and optional rotations and reflections.
- Adaptations are listed for Unity, Unreal Engine 5, Godot 4, and Houdini.
- Browser version and PNG and TXT exports are listed.
What to know first
- Generation can stop at a contradiction without output.
- README says it is less suited to large full-color textures.
- Bundled release source uses a Windows-only System.Drawing library.
Limits
Generation can stop when propagation creates a contradiction, leaving no valid coefficients for a pixel and no output. The release page advises Linux and macOS users to use repository source because the bundled release source uses a Windows-only library.
Getting started
- Visit the WaveFunctionCollapse GitHub repository.
- For Linux or macOS, download source from the repository rather than the bundled release source.
- Use the browser-based interactive version if you want to work in a browser.
- Provide an input bitmap, or initialize the simple tiled model with tiles and adjacency data.
- Set constraints and optional rotations or reflections, then generate and export as PNG or TXT.
Verdict
WaveFunctionCollapse offers pattern-based bitmap generation, with tilemap, constraint, and higher-dimensional options. Keep in mind that generation can reach a contradiction, and the release page directs Linux and macOS users to source in the repository.
Questions
Is WaveFunctionCollapse free?
Yes. It is free software under the MIT License.
Which platforms can I use it on?
Platforms listed are Linux, macOS, web, and Windows. A browser-based interactive version is linked.
What does WaveFunctionCollapse generate?
It generates bitmaps constrained to use NxN patterns found in an input bitmap. Its simple tiled model can instead use tiles and adjacency data.
Can generation fail?
Yes. If propagation creates a contradiction, generation can stop without producing output.
What tools have adaptations listed?
The README lists adaptations for Unity, Unreal Engine 5, Godot 4, and Houdini.
Does the MIT License cover the image samples and tiles?
No. The license states that the provided image samples and tiles are not part of the software.
Facts from WaveFunctionCollapse's own pages
- Browser version
- The README links to an interactive version that runs in a browser. · github.com, 30 Sept 2026
- Constraints
- The algorithm supports constraints and can be combined with other generative algorithms or manual creation. · github.com, 30 Sept 2026
- Founded
- 2016 · github.com, 28 Sept 2026
- Generation method
- The algorithm repeatedly selects an unobserved region with the lowest Shannon entropy, collapses it to a state, and propagates the resulting information. · github.com, 30 Sept 2026
- Higher dimensions
- The README describes WFC models in higher dimensions, including voxel examples. · github.com, 30 Sept 2026
- Input augmentation
- The algorithm can optionally augment pattern data with rotations and reflections. · github.com, 30 Sept 2026
- Integrations
- The README lists adaptations for Unity, Unreal Engine 5, Godot 4, and Houdini. · github.com, 30 Sept 2026
- 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. · github.com, 30 Sept 2026
- License
- The software is under the MIT License; the license states that the provided image samples and tiles are not part of the software. · github.com, 30 Sept 2026
- Limit
- Generation can reach a contradiction and stop without producing output; determining whether a valid bitmap exists is described as NP-hard. · github.com, 30 Sept 2026
- Maker
- The repository license credits Maxim Gumin with copyright in 2016. · github.com, 30 Sept 2026
- Maker location
- Maxim Gumin’s GitHub profile lists Helsinki. · github.com, 30 Sept 2026
- Pattern matching
- The output is constrained to contain only NxN pixel patterns found in the input. · github.com, 30 Sept 2026
- Platforms
- The project can be built from source with .NET Core for Windows, Linux, or macOS, and the README links to a browser version. · github.com, 30 Sept 2026
- Possible failure
- Generation can stop if propagation creates a contradiction, leaving no valid coefficients for a pixel. · github.com, 30 Sept 2026
- Purpose
- WaveFunctionCollapse generates bitmaps that are locally similar to an input bitmap. · github.com, 30 Sept 2026
- 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. · github.com, 30 Sept 2026
- 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. · github.com, 30 Sept 2026
- Symmetry
- A tile symmetry system can shorten adjacency lists for tilesets with symmetrical tiles. · github.com, 30 Sept 2026
- Tilemap generation
- The simple tiled model can be initialized with tiles and adjacency data instead of a sample bitmap. · github.com, 30 Sept 2026
Where WaveFunctionCollapse stands on Freedom251
- Game Map Generators#11 of 27