I'm still working on my procedural terrain generation and kind of sniffing ideas from Sean Murray (No Mans Sky programmer). So I watched this GDC17 presentation, but some things just don't make sense to me:

enter image description here

Altering amplitude based on currentGain AND noise value? This just makes all heights (large noise val like 1) do no alteration and the small ones to make the amplitude really tiny. How does that represent Altitude Erosion?

The audio also doesn't help much, has he isn't going into code detail.

Any ideas to makes sense out of this?


This sounds like a technique similar to the one Giliam de Carpentier describes in his "Swiss Turbulence" example in this article:

Normally, lots of material on the surface of mountains gets displaced from the peaks to the valleys over time, carving gulleys on its slopes and smoothing the valleys below.


To smoothen the valleys, the algorithm also uses an [amplitude update] calculation that is slightly different from the original turbulence function. Here, the [amplitude] is not only multiplied by gain for each octave, but also by the (clamped version of the) intermediate values of the sum of the noise octaves. This causes the amplitude for finer details to fade out quickly near valleys, but remain quite potent near peaks. To compensate for the on-average decrease in amplitude, the gain parameter should be a bit larger than ‘normal’ (for example, 0.6 instead of 0.5).

Does that idea of attenuating amplitude more aggressively in low-lying zones to smooth them, while allowing higher-altitude regions to stay more bumpy, help answer your question?

| improve this answer | |
  • \$\begingroup\$ Yes, thank you very much \$\endgroup\$ – Janis Taranda Nov 11 '19 at 7:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.