Island inspiration
this blog entry is best viewed on a PC browser
Neil Thapen posted an amazing island generator to reddit a few years ago, along with a summary of how it worked.
Reload the page to see another island. If it isn’t appearing in this page, you can view it directly here.
I was struck by the realistic feel of the mountain ranges and rivers it generated. If you’re used to world atlases or Google Maps then this island might not look so special, but most people’s procedural landscape attempts are nowhere near this league - especially the ones used in games.
Eventually I would adopt two of the techniques Neil showcased:
- Running the erosion sim on a Triangular Irregular Network (TIN) landscape instead of a grid-based one. This completely eliminates the horizontal and vertical tendencies you so often see with generated landscapes and coastlines, and is also part of the secret-sauce that gives Neil’s rivers such organic shapes.
- The “Priority-Flood Algorithm”, which is an elegant way of running water backwards to quickly build a map of bodies of water and where the water is flowing.
I’m backfilling this blog-entry from the future, where I have a working system built on top of the techniques above, and a slight hiccup I did not expect is the scale of the TIN mesh seems to determine the scale of the ridges, valleys and foothills which form, making this algorithm more suited for the scale these islands happen to be than the scale I want. My intuition is that this shouldn’t be the case and the TIN + erosion should be able to work regardless of scale, so perhaps this means I’m running too few iterations of the erosion simulation (trying to keep landscape generation performant). One place where the scale will break down is with my rivers becoming wider than the distance between points in the mesh.
Anyway, I really must try his game A Painted Ocean - I’ve reached an age in life where maritime sailing has quite a pull (it didn’t used to when I was younger).