I’ve been playing around with some ideas I’ve had (for a very long time) about generating planet sized terrains for an open universe sci fi game.
I’ve managed to get a couple of very basic things going, so I thought I’d start a thread here and show everyone what I’ve got and see what you think.
Here’s a screenshot of my random planet generation code in action (previewed as simple textures at the moment):
The first two examples above are the same settings, just with different random seeds. The third example is different settings to show how the random variations don’t have to all have the same style.
I’m using a library called Voro++ to generate a (3D) voronoi sphere as a base, simplex noise in a bunch of combinations to let me generate a nice variety of patterns, and Cairo to rasterize the end result (this let’s me zoom in indefinitely on the pattern). I’ve been taking inspiration from the work of other people online such as this person ] and this person ]. As you can see from their examples, there are lots of cool ways to add all sorts of interesting details to worlds when you use voronoi spheres, such as mapping out a range of different biomes, river networks and even weather.
For ground level details, I’ve been learning how to use the procedural mesh components in UE4, here is a screenshot of a custom terrain mesh using some random noise to set it’s elevation:
At the moment it’s just one octave of simplex noise - hence the very basic pattern - but the same techniques that I’m using to make the planet level patterns more interesting are just as effective at this level too.
At the end of the day I’d like ideally to be able to do something like this ] only in realtime inside UE4.
Obviously though there are an ocean of challenges to swim across when trying to do something like this, so I’m just going to keep poking away and try and add a little bit extra each week and see where it ends up