I'm using the simplex noise to create Minecraft like terrain. I can only achieve hills like this. enter image description here

Does anyone know how to use simplex to make more dynamic landscapes?

  • 1
    \$\begingroup\$ What does dynamic mean to you? \$\endgroup\$ – MichaelHouse Aug 8 '12 at 22:59
  • \$\begingroup\$ flat areas mix with high low hills/mountains \$\endgroup\$ – Goss Aug 8 '12 at 23:10

One way to achieve this is to have an additional layer of noise (2D) that controls the height of your current noise. This second layer should be scaled larger to give slower transitions between terrain types. The noise you have now defines the bumpy-ness, this second layer is kind of like a scale that will flatten out or exaggerate the bumpy-ness.

  • \$\begingroup\$ pseudo code. float octave1 = PerlinSimplexNoise.Noise(x * 0.001f, z * 0.001f) * 0.65f; float octave2 = PerlinSimplexNoise.Noise(x * 0.0005f, z * 0.0005f) * 0.25f; float sum = octave1 + octave2? \$\endgroup\$ – Goss Aug 9 '12 at 4:19
  • \$\begingroup\$ It's something you'll have to tweak until you get it the way you want. I would probably multiply them, as that seems more logical for making it a scale (as long as it's 0->1), but if adding them gets the results you want, go for it. \$\endgroup\$ – MichaelHouse Aug 9 '12 at 5:29
  • \$\begingroup\$ Take a look at gamedev.net/blog/33/… to see how layering different noises works out. You can even use a noise field to filter other noises applying to the base noise, like photoshop masks, and so on down the rabbit hole. \$\endgroup\$ – Patrick Hughes May 31 '13 at 6:59

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.