Skip to content
Tech News
← Back to articles

Bitmap and tilemap generation from a single example

read original get Tilemap Generator Tool → more articles
Why This Matters

WaveFunctionCollapse (WFC) is a powerful algorithm that generates new bitmaps and tilemaps by learning from a single example, ensuring local pattern similarity and realistic distribution. Its innovative approach, inspired by quantum mechanics principles, allows for efficient and diverse content creation, making it valuable for game development, procedural generation, and digital art. Despite its computational complexity, WFC's practical performance enables widespread adoption in creative industries.

Key Takeaways

WaveFunctionCollapse

This program generates bitmaps that are locally similar to the input bitmap.

Local similarity means that

(C1) The output should contain only those NxN patterns of pixels that are present in the input.

(Weak C2) Distribution of NxN patterns in the input should be similar to the distribution of NxN patterns over a sufficiently large number of outputs. In other words, probability to meet a particular pattern in the output should be close to the density of such patterns in the input.

In the examples a typical value of N is 3.

WFC initializes output bitmap in a completely unobserved state, where each pixel value is in superposition of colors of the input bitmap (so if the input was black & white then the unobserved states are shown in different shades of grey). The coefficients in these superpositions are real numbers, not complex numbers, so it doesn't do the actual quantum mechanics, but it was inspired by QM. Then the program goes into the observation-propagation cycle:

On each observation step an NxN region is chosen among the unobserved which has the lowest Shannon entropy. This region's state then collapses into a definite state according to its coefficients and the distribution of NxN patterns in the input.

On each propagation step new information gained from the collapse on the previous step propagates through the output.

On each step the number of non-zero coefficients decreases and in the end we have a completely observed state, the wave function has collapsed.

... continue reading