You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Documentation/README_ARCHITECTURE.md
+21Lines changed: 21 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,3 +48,24 @@ Tasks.json:
48
48
]
49
49
}
50
50
```
51
+
52
+
## Godot GDExtension
53
+
54
+
[This repository uses the Godot quickstart template for GDExtension development with Godot 4.0+.](https://github.com/godotengine/godot-cpp-template)
55
+
56
+
### Contents
57
+
58
+
- godot-cpp as a submodule (`godot-cpp/`)
59
+
- (`demo/`) Godot 4.4 Project that tests the Extension
60
+
- preconfigured source files for C++ development of the GDExtension (`src/`)
61
+
- setup to automatically generate `.xml` files in a `doc_classes/` directory to be parsed by Godot as [GDExtension built-in documentation](https://docs.godotengine.org/en/stable/tutorials/scripting/gdextension/gdextension_docs_system.html)
- GitHub CI/CD workflows to publish your library packages when creating a release (`.github/workflows/builds.yml`)
69
+
70
+
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](.github/workflows/builds.yml).
71
+
After a workflow run is complete, you can find the file `godot-cpp-template.zip` on the `Actions` tab on GitHub.
Copy file name to clipboardExpand all lines: README.md
+23-49Lines changed: 23 additions & 49 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,31 +4,28 @@ Godot Terrain Generator for 3D Tiled Maps
4
4
5
5
Godot 4.4 is currently used Version
6
6
7
-
# Overview
8
-
9
-
1. Pre-Computed Tile Set's
10
-
1. Each tile is an index id
11
-
1. This is because we use a bitset to store the valid neighbors of a tile
12
-
1. 0 is reserved for empty tiles
13
-
1. Give the Terrain Generator a set of tiles by index with pre-computed adjacencies for each of the size sides
14
-
1. Weights can also be supplied to factor in more successful tiles
15
-
1. Pre-Defined Chunk Injection
16
-
1. Give the Terrain Generator a set of pre-defined tile chunks, grid sections, chunks per section
17
-
1. Take in a set of Relative Coordinate Chunks
18
-
1. Take in Grid Sections
19
-
1. Take in Chunks per Grid Section
20
-
1. Randomly place chunks into each section
21
-
1. Height Manipulation
22
-
1. Using [Simplex-Fractal-Noise](https://github.com/SRombauts/SimplexNoise?tab=readme-ov-file#readme)
23
-
1. Height limitations are applied when collapsing the Wave Function
24
-
1. Collapse the Wave
25
-
1. Using Wave Function Collapse determine a final grid with Tiles
26
-
1. Output a final 3 dimensional array with a tile index at each location
27
-
1. Use the generated 3d grid to generate a visual representation by iterating through the 3d array and instantiating the tiles in the game world
28
-
29
-
# Setup
30
-
31
-
## Windows
7
+
## Overview
8
+
9
+
1. Prep FastNoiseLite
10
+
1. Set Noise Function (i.e. SimplexNoise)
11
+
1. Set a Seed for the Noise Function
12
+
1. Generate Elevation Map (Height Map)
13
+
1. Tiles are isometric, need blocky/square patterns
14
+
1. Reduce Resolution of Noise
15
+
1. Posterize Reduced Resolution
16
+
1. Upscale reduction to original size
17
+
1. Tile Placement
18
+
1. Determine tile Types
19
+
1. Use 0 Elevation for Water
20
+
1. On Elevation Change between grid positions, use Cliffs or Ramps
21
+
1. Determine Rotation of Tiles based on surrounding Tiles
22
+
1. Applicator
23
+
1. Change the 3D Grid Map in Godot using 'set_cell_item'
24
+
1. Providing the TileID, Grid Position, & Rotation Orientation
25
+
26
+
## Setup
27
+
28
+
### Windows
32
29
33
30
1. Setup a C++ Environment
34
31
1. Possible Setup for VS Code : https://code.visualstudio.com/docs/cpp/config-mingw
@@ -41,29 +38,6 @@ g++ --version
41
38
gdb --version
42
39
```
43
40
44
-
# Godot
45
-
46
-
## Godot GDExtension
47
-
48
-
[This repository uses the Godot quickstart template for GDExtension development with Godot 4.0+.](https://github.com/godotengine/godot-cpp-template)
49
-
50
-
### Contents
51
-
52
-
- godot-cpp as a submodule (`godot-cpp/`)
53
-
- (`demo/`) Godot 4.4 Project that tests the Extension
54
-
- preconfigured source files for C++ development of the GDExtension (`src/`)
55
-
- setup to automatically generate `.xml` files in a `doc_classes/` directory to be parsed by Godot as [GDExtension built-in documentation](https://docs.godotengine.org/en/stable/tutorials/scripting/gdextension/gdextension_docs_system.html)
- GitHub CI/CD workflows to publish your library packages when creating a release (`.github/workflows/builds.yml`)
63
-
64
-
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](.github/workflows/builds.yml).
65
-
After a workflow run is complete, you can find the file `godot-cpp-template.zip` on the `Actions` tab on GitHub.
66
-
67
-
# Contributing
41
+
## Contributing
68
42
69
43
Any and all Contributions are subject to the [CLA.md](https://github.com/kthecoder/GaiaGreen/blob/main/CLA.md)
0 commit comments