←back to thread

399 points TaurenHunter | 1 comments | | HN request time: 0.202s | source
Show context
k1w1 ◴[] No.42190642[source]
The seamless integration between one type of object and another is really impressive. The way that the blocks in the roofline perfectly work regardless of the height of the roof is a great example.

How is this possible? Is it some kind of procedural geometry that fills in the available space?

replies(2): >>42190660 #>>42191664 #
1. PythagoRascal ◴[] No.42191664[source]
As far as I know they are using a customised variant of the "wave-function collapse" technique, used and popularised by Oskar Stalberg in his games "Bad North" and "Townscaper". The technique boils down to hand-crafting tons of tiles with adjacency rules about which tiles can slot together. When the user adds/removes a tile the algorithm iteratively tries to find fitting tiles and, if needed, changes neighbouring tiles for ones with the best transitions. He gave a talk where he goes into detail about this[1]. You can also find more if you google his name and "wave-function collapse". [1]: https://youtu.be/0bcZb-SsnrA