Hello everyone,

I'm looking for to create a 2D map with the Tilemap node but as seamless. I use OpenSimplexNoise to do that. The seamless option give me unexpected render (8/10 i have "waves").

I don't find a way to make seamless something it can be visually.

How can i generate a seamless and logical map ?

  • You should probably set your texture pixel count to match your tilemap cell count. But hard to tell exactly without seeing the code that generates the tilemap.

    @TwistedMind said: @xyz what render have you got ?

    What do you mean? I Just slapped the generated image onto TextureRect.

According to docs, you can get seamless image via OpenSimplexNoise.get_seamless_image()

Yes, correct, but this image give me something more "in wave", this is i won't to have, i'd like something like my screen in my first post, but the border need to be seamless.

See an example with what you say.

You might just need to play around with the seed to get a different, but still seamless result.

Yep! try to play with seeds, and other parameters. Maybe make a small interactive system that'll let you see the results immediately as you change the parameters. Also note what documentation says about seamless noise:

Seamless noise has a lower contrast compared to non-seamless noise. This is due to the way noise uses higher dimensions for generating seamless noise.

Which means you'll need to tune your land/sea threshold values.

Even using randomly seed values and other parameters doesn't give me a better result: horizontal or vertical wave or mega-island, not like the standard noise map.

The only solution i see is to define a perimeter where i setup the seamless cells and the center not seamless. It will work but with disapointing results expected...

Ps: Megalomaniak, i receive notifications from the forum in my spams (Gmail). I just say that in case someone can solve this, enventually.

@TwistedMind said:

Ps: Megalomaniak, i receive notifications from the forum in my spams (Gmail). I just say that in case someone can solve this, enventually.

That, sadly, is entirely up to your email services spam filter and not something we have direct influence over.

Ok, thanks.

I had a new idea: from Gimp, i create a seamless cloud and using it to generate a map and the result is nice !

So i suspect the seamless function of the OpenSimplexNoise lack something or need some adjustment, but i don"t have the knowledge to fix this, i can just report.

The only con is i depend on real texture to do that...

I've never used OpenSimplexNoise, but it might just be a matter of tweaking the parameters.

@cybereality said: I've never used OpenSimplexNoise, but it might just be a matter of tweaking the parameters.

I invite you to check by yourself in this case, because i have tried all i know and all parameters of OpenSimplexNoise.

One question are still dark: May i make lighter or darker the generated image ?

@TwistedMind said: One question are still dark: May i make lighter or darker the generated image ?

Changing the height of the NoiseTexture may increase the contrast a bit. Changing the period of the noise to a lower value as well could also potentially help, as then the values should change more.

I checked it and it works fine, just as expected. Here's what I get:

Image size is 64 pixels, 2 octaves, period chosen randomly between 5 and 10, seed randomized at each take, posterized at 50% luminosity threshold.

By the looks of it you are probably using period that's too large. Try with smaller periods. Your posterization threshold(s) may need to be changed too because of lower contrast of seamless images.

Impossible: in the case of i use seamless mode, i must give a square value, i can't set separatly width and height. I know for the period but still give me unexpected result.

The second image you see is a period of 64. The main tilemap is setup to 96x96 (x 8 chuncks as copy). I doubt increase the numbers of cells will change something.

There are the map i have with a texture from Gimp. Never i have this king of result, after all my tests.

@xyz what render have you got ?

You should probably set your texture pixel count to match your tilemap cell count. But hard to tell exactly without seeing the code that generates the tilemap.

@TwistedMind said: @xyz what render have you got ?

What do you mean? I Just slapped the generated image onto TextureRect.

Thanks, I have checked the original game on which I am inspired and it seems it should a problem of size between the map size and the period to my project.

@TwistedMind said: @xyz what render have you got ?

What do you mean? I Just slapped the generated image onto TextureRect.

Our commants had crossed and I didn't see your render.

Ah yeah, there was some problem with the animated gif. I had to reupload it.

a year later