0
\$\begingroup\$

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?

\$\endgroup\$
  • \$\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 '16 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 '16 at 22:33
  • \$\begingroup\$ I have already tried it. It gives a too random appearence. But maybe I could try harder. \$\endgroup\$ – user6245072 Apr 26 '16 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\$ – user6245072 Apr 26 '16 at 1:57
  • \$\begingroup\$ Possible duplicate of Tiling perlin noise seamlessly, but without repeating to generate an infinite 3D world \$\endgroup\$ – Roflo Apr 26 '16 at 16:50

Your Answer

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

Browse other questions tagged or ask your own question.