The “Wavefunction Collapse” generation algorithm explained clearly (2018)
As others have mentioned, this is "just" constraint propagation. I think much of the success is that it's a simple idea to grasp and implement, that provides very good results, and has a compelling name. I don't want to be dismissive, I think it's very cool.<p>The original author of "wave function collapse" also has "convchain" [0] which is similarly "just" using Monte Carlo Markov Chains to sample the space. It's also a kind of "staple" algorithm for physicists, theoretical computer scientists, etc but I guess hasn't caught on as much as WFC.<p>Note that WFC has major problems when the tile set is too constrained. There's a SO question about it [1] and I also happen to have written a small article about it as well [2](<i>).<p>[0] <a href="https://github.com/mxgmn/ConvChain">https://github.com/mxgmn/ConvChain</a><p>[1] <a href="https://stackoverflow.com/questions/72721299/why-can-the-wave-function-collapse-algorithm-fail" rel="nofollow">https://stackoverflow.com/questions/72721299/why-can-the-wav...</a><p>[2] <a href="https://www.fxhash.xyz/article/lessons-learned-from-implementing-%22wave-function-collapse%22" rel="nofollow">https://www.fxhash.xyz/article/lessons-learned-from-implemen...</a><p>(</i>) trigger warning, it's an NFT but please don't let that stop you from reading