Around the time I was moving away from continents, I began to think a bit more about noise and how I had used it in the past. In most of my procedural experiments in the past (for this and previous projects) was fairly simplistic, as it was really just there to support whatever tech I was more interested at the time. I had never really stopped to spend time on noise because at no point previous had I been overly concerned with realism.
While there are some great resources out there comprehensively covering noise, I am admittedly not *that* good at math. I can figure things out given time, but depending on the particular problem I’m facing, I can usually figure things out.
That being said, I am largely about experimentation. Rather than delve into the mathematics behind various noise strategies, I stubbornly pressed forward using built-in noise functions. However, this time I decided to approach the problem by layering multiple layers of noise. At this point, I had seen this suggestion multiple times, but it took some time to understand exactly what that meant.
As I often do, I took to 2D. I built out a simple noise rasterization system that I could update in real time (thanks to Unity Jobs once more). This suited my preference for experimentation very well. At this stage I was able to really explore noise layers with much quicker feedback.
As I narrowed in on acceptable looking continents, I decided to do a bit of exploration with what I could do with this new map generator. I added an export feature so I could save maps off to disk for later use. I also experimented with spherical mapping and generating 3D meshes from the noise model.
At this stage, I was firstly quite happy with the results. 2D map creation was looking quite nicely and given the correct parameters, can create a fairly convincing map of an earthlike planet.
However, the explorations into terrain generation and spherical projection led me to the inevitable conclusion that the general technique of generating a map in 2D would simply not suffice. I think I was aware of the need to escalate my data model from the beginning, but pursued my studies of noise and generation to gain knowledge I could bring forward.
Ultimately, up until now, I have effectively been generating a “shell” for the planet. Either I am using noise to effectively sample 2D height (altitude of any given point on the sphere), or I am mapping 2D images to a 3D space which comes with costs to projection distortion and the addition of seams.
No, to do this right I needed to generate not altitude but density.















One thought on “A Return to Noise”