WaveFunctionCollapse procedurally generates arbitrarily sized images based on a single example image. It is based on https://github.com/mxgmn/WaveFunctionCollapse.
Start Julia. Add WaveFunctionCollapse.jl
with
] add https://github.com/roberthoenig/WaveFunctionCollapse.jl
Start Julia.
> using WaveFunctionCollapse
# ...warnings...
> generate("samples/Flowers.png")
# output Array{RGB{Float32}, 2}
For more details and example, see
? generate
in Julia- the
usage
Jupyter notebook
The WaveFunctionCollapse algorithm was invented by mxgmn. Their
WaveFunctionCollapse repository contains the
original algorithm, and in particular the samples/
directory that is also included in this
repository. Thus, I include the original credits:
Some samples are taken from the games Ultima IV and Dungeon Crawl. Circles tileset is taken from Mario Klingemann. Idea of generating integrated circuits was suggested to me by Moonasaur and their style was taken from Zachtronics' Ruckingenur II. Cat overlapping sample is taken from the Nyan Cat video, Qud sample was made by Brian Bucklew, Magic Office + Spirals samples - by rid5x, Colored City + Link + Link 2 + Mazelike + Red Dot + Smile City overlapping samples - by Arvi Teikari. Summer tileset was made by Hermann Hillmann. Voxel models were rendered in MagicaVoxel.