Add deterministic generated worlds

This commit is contained in:
Alexander Sellite 2026-08-19 17:32:40 -04:00
parent 19f63bd656
commit e8888ed05a
87 changed files with 3743 additions and 139 deletions

View file

@ -0,0 +1,14 @@
[gd_resource type="Resource" script_class="TerrainChunkDefinition" load_steps=3 format=3]
[ext_resource type="Script" path="res://world/generation/terrain_chunk_definition.gd" id="1_definition"]
[ext_resource type="PackedScene" path="res://world/generation/chunks/assets/chunk_0000.glb" id="2_scene"]
[resource]
script = ExtResource("1_definition")
stable_id = &"chunk_0000"
label = "grass"
packed_scene = ExtResource("2_scene")
primary_mesh_name = &"chunk_0000"
allowed_rotation_mask = 15
selection_weight = 4.0
tags = PackedStringArray("land", "grass", "flat")

View file

@ -0,0 +1,14 @@
[gd_resource type="Resource" script_class="TerrainChunkDefinition" load_steps=3 format=3]
[ext_resource type="Script" path="res://world/generation/terrain_chunk_definition.gd" id="1_definition"]
[ext_resource type="PackedScene" path="res://world/generation/chunks/assets/chunk_0001.glb" id="2_scene"]
[resource]
script = ExtResource("1_definition")
stable_id = &"chunk_0001"
label = "sand"
packed_scene = ExtResource("2_scene")
primary_mesh_name = &"chunk_0001"
allowed_rotation_mask = 15
selection_weight = 1.5
tags = PackedStringArray("land", "sand", "flat")

View file

@ -0,0 +1,14 @@
[gd_resource type="Resource" script_class="TerrainChunkDefinition" format=3 uid="uid://b2ha4ekenoiaj"]
[ext_resource type="Script" uid="uid://ck6m4auf5epde" path="res://world/generation/terrain_chunk_definition.gd" id="1_definition"]
[ext_resource type="PackedScene" uid="uid://dgd530dol7mfd" path="res://world/generation/chunks/assets/chunk_0002.glb" id="2_scene"]
[resource]
script = ExtResource("1_definition")
stable_id = &"chunk_0002"
label = "beach"
packed_scene = ExtResource("2_scene")
primary_mesh_name = &"chunk_0002"
selection_weight = 0.75
maximum_placements = 10
tags = PackedStringArray("land", "sand", "coast", "slope")

View file

@ -0,0 +1,17 @@
[gd_resource type="Resource" script_class="TerrainChunkDefinition" format=3 uid="uid://dl7tsxml6g6na"]
[ext_resource type="Script" uid="uid://ck6m4auf5epde" path="res://world/generation/terrain_chunk_definition.gd" id="1_definition"]
[ext_resource type="PackedScene" uid="uid://2wl647bi18v5" path="res://world/generation/chunks/assets/chunk_0003.glb" id="2_scene"]
[resource]
script = ExtResource("1_definition")
stable_id = &"chunk_0003"
label = "stream"
packed_scene = ExtResource("2_scene")
primary_mesh_name = &"chunk_0003"
selection_weight = 0.6
tags = PackedStringArray("land", "fresh_water", "river", "flowing")
water_inlet_edges = 1
water_outlet_edges = 4
water_surface_size = Vector2(2.1, 10)
water_surface_offset = Vector2(-0.315, 0)

View file

@ -0,0 +1,16 @@
[gd_resource type="Resource" script_class="TerrainChunkDefinition" format=3 uid="uid://duotyi05ua5gp"]
[ext_resource type="Script" uid="uid://ck6m4auf5epde" path="res://world/generation/terrain_chunk_definition.gd" id="1_definition"]
[ext_resource type="PackedScene" uid="uid://codcyn5ta6aj" path="res://world/generation/chunks/assets/chunk_0004.glb" id="2_scene"]
[resource]
script = ExtResource("1_definition")
stable_id = &"chunk_0004"
label = "pond"
packed_scene = ExtResource("2_scene")
primary_mesh_name = &"chunk_0004"
selection_weight = 0.35
tags = PackedStringArray("land", "fresh_water", "pond")
water_inlet_edges = 1
water_surface_size = Vector2(6.7, 7.75)
water_surface_offset = Vector2(-0.32, -1.03)

View file

@ -0,0 +1,15 @@
[gd_resource type="Resource" script_class="TerrainChunkDefinition" load_steps=3 format=3]
[ext_resource type="Script" path="res://world/generation/terrain_chunk_definition.gd" id="1_definition"]
[ext_resource type="PackedScene" path="res://world/generation/chunks/assets/chunk_0000.glb" id="2_scene"]
[resource]
script = ExtResource("1_definition")
stable_id = &"chunk_spawn"
label = "spawn"
packed_scene = ExtResource("2_scene")
primary_mesh_name = &"chunk_0000"
allowed_rotation_mask = 1
selection_weight = 0.01
maximum_placements = 1
tags = PackedStringArray("land", "grass", "flat", "spawn")