Godot Terrain Generator for 3D Tiled Maps
Godot 4.4 is currently used Version
- Pre-Computed Tile Set's
- Each tile is an index id
- This is because we use a bitset to store the valid neighbors of a tile
- 0 is reserved for empty tiles
- Give the Terrain Generator a set of tiles by index with pre-computed adjacencies for each of the size sides
- Weights can also be supplied to factor in more successful tiles
- Each tile is an index id
- Pre-Defined Chunk Injection
- Give the Terrain Generator a set of pre-defined tile chunks, grid sections, chunks per section
- Take in a set of Relative Coordinate Chunks
- Take in Grid Sections
- Take in Chunks per Grid Section
- Randomly place chunks into each section
- Give the Terrain Generator a set of pre-defined tile chunks, grid sections, chunks per section
- Height Manipulation
- Using Simplex-Fractal-Noise
- Height limitations are applied when collapsing the Wave Function
- Collapse the Wave
- Using Wave Function Collapse determine a final grid with Tiles
- Output a final 3 dimensional array with a tile index at each location
- Use the generated 3d grid to generate a visual representation by iterating through the 3d array and instantiating the tiles in the game world
- Setup a C++ Environment
- Possible Setup for VS Code : https://code.visualstudio.com/docs/cpp/config-mingw
Ensure that C++ can run :
gcc --version
g++ --version
gdb --version
This repository uses the Godot quickstart template for GDExtension development with Godot 4.0+.
- godot-cpp as a submodule (
godot-cpp/
) - (
demo/
) Godot 4.4 Project that tests the Extension - preconfigured source files for C++ development of the GDExtension (
src/
) - setup to automatically generate
.xml
files in adoc_classes/
directory to be parsed by Godot as GDExtension built-in documentation
Currently Commented Out for Base Development
- GitHub Issues template (
.github/ISSUE_TEMPLATE.yml
) - GitHub CI/CD workflows to publish your library packages when creating a release (
.github/workflows/builds.yml
)
This repository comes with a GitHub action that builds the GDExtension for cross-platform use. It triggers automatically for each pushed change. You can find and edit it in builds.yml.
After a workflow run is complete, you can find the file godot-cpp-template.zip
on the Actions
tab on GitHub.