With thismethod I can create multiple separated islands just by randomly choosing a point as the center for a gradient. Now what I want to do is to have a system of real time generation like the one in Minecraft.

When I generate a new chuck, some random points inside of it are chosen to be the center of a gradient. However, if one of these points gets positioned near the border of the chuck, the gradient will cross the border and affect the other chunk. But if that other chunk was already generated and visited by the player, I couldn't update that chunk to include the new gradient, so I would end up with something that looks like this:

What could be a method to avoid this?

  • \$\begingroup\$ You need to generate your noise across multiple chunks. Instead of using gradient noise, you should be using some sort of Billow style noise, that you can blend across multiple chunks. Gradient noise would be better used in a fixed size world, if you are using them to generate islands. \$\endgroup\$
    – jgallant
    Apr 25, 2016 at 22:28
  • \$\begingroup\$ Honestly, you should be able to generate islands with just the perlin noise. Simply set a cutoff value that will result in low land mass. It should give you some pretty good looking islands at a much lower cpu cost. \$\endgroup\$
    – jgallant
    Apr 25, 2016 at 22:33
  • \$\begingroup\$ I have already tried it. It gives a too random appearence. But maybe I could try harder. \$\endgroup\$ Apr 26, 2016 at 1:54
  • 1
    \$\begingroup\$ Anyway the method I was thinking about was to already choose the random points for the chuncks around the chunk i'm generating if they weren't already chosen. This mean i'm gonna choose the random points for nine chunks when I generate the first chunck, then maybe three chunks per time I think. \$\endgroup\$ Apr 26, 2016 at 1:57
  • \$\begingroup\$ Possible duplicate of Tiling perlin noise seamlessly, but without repeating to generate an infinite 3D world \$\endgroup\$
    – Roflo
    Apr 26, 2016 at 16:50


You must log in to answer this question.

Browse other questions tagged .