Hacker News new | past | comments | ask | show | jobs | submit login

Really interesting, but I think anyone interested in this would do well to check out [0]. It takes the article's second algorithm somewhat further, considering all the output tiles to start out as uncollapsed wave functions, and then going through and trying to collapse them in such a way as to obey local constraints (matching at their borders) and large-scale constraints (having each tile occur in the output at a frequency similar to some frequency defined by the inputs).

Also on the notational side, [0]'s approach of using a plain graphic as an input, and inferring the desired tiles and tile frequencies from it, is maybe more approachable than that of TFA. (Though in either case, if you hack on it I suspect you'll eventually wind up doing something ad-hoc..)

https://github.com/mxgmn/WaveFunctionCollapse




The other fun thing with WFC is that you can wrap the constraints on the edges (ex. matching the right edge of the rightmost tiles to the left edge of the leftmost tiles), which allows you to easily make tiling patterns.

You can also start matching tiles and edges for more than just colours... for example, you can have 3-dimensional tiles, or you can even match edges of tiles using time as a dimension, like I did here: https://twitter.com/MattRix/status/979020989181890560


That's awesome! Is the code open somewhere?


I second that. Nice presentation of the material, but I think that https://twitter.com/ExUtumno "WaveFunctionCollapse" is most likely a direct predecessor and big influence on this work. So, must be referenced much earlier, and not reduced to a footnote in the end, otherwise it feels we are cheated here.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: