So I tryed to do something with 2D Perlin Noise (The generation is Infinite) and made some 1024x1024 Images to see how the Biomes and the height fits together.

Seed 1

Seed 2

Seed 3

The third one is quite ok inside the 1024x1024, but the other ones are a little messed up, i mean those small Biomes within a big one isn't what i want. The Biomes are generated by Using 2 Noise Maps (For Example Tempreture and Climate) and like when the values of both are above 0.5f it's red, etc. How do i get those Biomes to be "Smooth"?

The basic idea is to fill the first map randomly, then repeatedly create new maps using the 4-5 rule: a tile becomes a wall if it was a wall and 4 or more of its nine neighbors were walls, or if it was not a wall and 5 or more neighbors were.

I did similar with a "round" world generator I was playing with, I put the world through a few passes of a check for how many points around it. Checking 8 around it would work for smoothing, but not for removing the small biomes. To do that you would need to use a wider area to check.

From my testing, the wider the area, the more small areas are cleaned up, the more times it is run, the smoother the edges. One difference with my generator is that this was done at the end of each step, as my world generator subdivided until it reached full size. ( Square-Diamond algorithm)

Here's an example of before and after:

As for getting it to work on infinite generation, just don't perform the smoothing on the outer edge, so there's always something to sample. Make the border is as wide or wider than your scan range, so you never try to access outside of what's generated (if 17x17, or 8 radius, then atleast

Of course this isn't always the fastest ever, so you have to balance accuracy and speed.

java-gaming.org is not responsible for the content posted by its members, including references to external websites,
and other references that may or may not have a relation with our primarily
gaming and game production oriented community.
inquiries and complaints can be sent via email to the info‑account of the
company managing the website of java‑gaming.org