



Procedural Worlds from Simple Tiles
This approach for generating maps from tileset definitions caught my eye. I’d describe it as WaveFunctionCollapse-adjacent, though Isaac Dykeman instead explains this generator in terms of Wang Tiles. Dykeman describes the tiles with a visual specification, with metadata about each 3x3 tile encoded in the image itself.
Besides that, the main distinction is that the basic unit it uses is a tile, not a pattern, making the output a more direct representation. This leads to an optimization based on the transitions from one tile type to the next, speeding the calculation of the effect that placing a tile will have on the rest of the map.
The code is on GitHub, if you’d like to take a look for yourself.
http://ijdykeman.github.io/ml/2017/10/12/wang-tile-procedural-generation.html