• Godot Help
  • How to Create a Procedural Map for a 3D Game?

  • Edited

I need to create a procedural map for a survival game. My goal is to make a 3D procedural map with biomes similar to Rust/Valheim, where each biome has its own special bosses and mobs. How can I do this?

Here are two example maps image:


elite changed the title to How to Create a Procedural Map for a 3D Game? .

SkyshipDev but is there a series that explain how to control what to generate? like ok, i have this biome that follows noise, but how do i generate like a banana shaped noise? Like controlled noise generator?

for arbitrary shapes like that I would probably use a texture you make in an image editor because that's the most intuitive way to think about that kind of shape

then you'd need to read from the texture to get out the shape by reading it

but noise textures let you "suggest" as shape as well

you can think of a fuzzy noise texture as a probability distribution for where a shape it likely to appear

you see the gradient? they're neither 1 (white) or 0 (black). this is one of the way shaders can generate very fluid shapes, by overlaying multiple noise textures, and the principle can be applied elsewhere too (inc procedurally generated noise, such as from a Perlin noise function)

here's a talk to see what I'm talking about

timestamp @ 25m, he scrolls two noise textures over one another, and the result of scroll two "probability distributions" over one another is different possibilities pop into existence, producing smooth clouds

the same principles can be applied to other noise-based generation

    SkyshipDev interesting, but i heard that alpha/transparency in godot is expensive and you should avoid it.

      kuligs2 Alpha/transparency is used for sprites, particles, and many other effects. It's expensive when there's overdraw, which is many layers on top of one another. Example: a semi-transparent sprite covering the whole screen, x20. You should avoid excessive overdraw, not transparency itself.