3 ms·
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 h
by k1w1 2y ago
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?
- PcChip 2y agoIt is surely procedural, maybe wave function collapse? I’d love to read a writeup from the author, in the same style of Factorio’s
- chefandy 2y agoThe texture is certainly procedural for brick patterns, etc. but I'll bet smoothing intersecting polys happens at render time.
- jaimex2 2y agoJust a clever shader
- p1necone 2y agoI can't remember where exactly but I think I did read somewhere it was based on wave function collapse. I think wave function collapse is still super underexplored in game dev. This recent paper is pretty interesting: https://dl.acm.org/doi/10.1145/3582437.3587209 https://dl.acm.org/doi/10.1145/3582437.3587209
- PythagoRascal 2y agoAs 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 https://youtu.be/0bcZb-SsnrA