Check out our latest project ✨ OpenChapter.io: free ebooks the way its meant to be 📖

Block-based 3D Procedural Map Generation Demo

An asset by 50kush
The page banner background of a mountain and forest
Block-based 3D Procedural Map Generation Demo hero image

Quick Information

0 ratings
Block-based 3D Procedural Map Generation Demo icon image
50kush
Block-based 3D Procedural Map Generation Demo

+//Procedural Terrain Generation: The terrain is generated procedurally using Perlin noise. This means that the terrain is different every time you run the game, but remains consistent across play sessions if you use the same seed.+//Chunk-Based Loading/Unloading: The terrain is divided into chunks, and only the chunks within a certain distance of the player are loaded. This helps to reduce memory usage and improve performance.+//Different Terrain Types: The terrain includes different types of blocks, including dirt, rock, sand, and water, which are placed according to the noise values.+//COOL PICKAXE INCLUDED.

Supported Engine Version
4.2
Version String
1.0
License Version
MIT
Support Level
community
Modified Date
1 year ago
Git URL
Issue URL

Procedural Terrain Generation in Godot

This project demonstrates procedural terrain generation in the Godot game engine using a 3D grid map and the FastNoiseLite library for noise generation.

README Preview

Features

  • Procedural Terrain Generation: The terrain is generated procedurally using Perlin noise. This means that the terrain is different every time you run the game, but remains consistent across play sessions if you use the same seed.
  • Chunk-Based Loading/Unloading: The terrain is divided into chunks, and only the chunks within a certain distance of the player are loaded. This helps to reduce memory usage and improve performance.
  • Different Terrain Types: The terrain includes different types of blocks, including dirt, rock, sand, and water, which are placed according to the noise values.

How to Use

  1. Adjust the Terrain Parameters: You can adjust the size and shape of the terrain by changing the map_width, map_depth, water_level, and chunk_size variables in the GridMap.gd script. You can also change the seed values for the terrain_noise and stone_noise to generate different terrains.
  2. Run the Game: Run the game in the Godot editor. You should see a 3D terrain generated around the player.
  3. Move the Player: Move the player around the terrain. As you move, new chunks of terrain will be generated in front of you, and old chunks that are too far away will be unloaded.

Limitations

  • The terrain is currently only generated in the horizontal plane, and doesn't include any caves or overhangs.
  • The terrain generation is quite basic and doesn't include any biomes or complex features.
  • There is currently no saving or loading of the terrain, so you will start with a new terrain every time you run the game.

Future Improvements

  • Add more types of terrain blocks, such as grass, trees, and ores.
  • Implement biomes, so that different types of terrain (e.g. forests, deserts, mountains) can appear in different areas.
  • Add saving and loading of the terrain, so that players can continue where they left off.
  • Implement caves and overhangs in the terrain.
  • Improve the performance of the terrain generation and loading/unloading.

+//Procedural Terrain Generation: The terrain is generated procedurally using Perlin noise. This means that the terrain is different every time you run the game, but remains consistent across play sessions if you use the same seed.
+//Chunk-Based Loading/Unloading: The terrain is divided into chunks, and only the chunks within a certain distance of the player are loaded. This helps to reduce memory usage and improve performance.
+//Different Terrain Types: The terrain includes different types of blocks, including dirt, rock, sand, and water, which are placed according to the noise values.
+//COOL PICKAXE INCLUDED.

Reviews

0 ratings

Your Rating

Headline must be at least 3 characters but not more than 50
Review must be at least 5 characters but not more than 500
Please sign in to add a review

Quick Information

0 ratings
Block-based 3D Procedural Map Generation Demo icon image
50kush
Block-based 3D Procedural Map Generation Demo

+//Procedural Terrain Generation: The terrain is generated procedurally using Perlin noise. This means that the terrain is different every time you run the game, but remains consistent across play sessions if you use the same seed.+//Chunk-Based Loading/Unloading: The terrain is divided into chunks, and only the chunks within a certain distance of the player are loaded. This helps to reduce memory usage and improve performance.+//Different Terrain Types: The terrain includes different types of blocks, including dirt, rock, sand, and water, which are placed according to the noise values.+//COOL PICKAXE INCLUDED.

Supported Engine Version
4.2
Version String
1.0
License Version
MIT
Support Level
community
Modified Date
1 year ago
Git URL
Issue URL

Open Source

Released under the AGPLv3 license

Plug and Play

Browse assets directly from Godot

Community Driven

Created by developers for developers