Pre-rewrite reference checkpoint — final state of the salvage/prototype codebase (C0/C0b complete)
The rewrite (D-049) starts from a clean slate; this commit is the reference implementation of the graduated design. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
dc35389ecc
commit
ab78883db2
4 changed files with 61 additions and 66 deletions
|
|
@ -10,7 +10,6 @@ ground_bottom_color = Color(0.16, 0.15, 0.14, 1)
|
||||||
ground_horizon_color = Color(0.58, 0.56, 0.5, 1)
|
ground_horizon_color = Color(0.58, 0.56, 0.5, 1)
|
||||||
ground_curve = 0.05
|
ground_curve = 0.05
|
||||||
sun_angle_max = 12.0
|
sun_angle_max = 12.0
|
||||||
sun_curve = 0.15
|
|
||||||
|
|
||||||
[sub_resource type="Sky" id="Sky_main0"]
|
[sub_resource type="Sky" id="Sky_main0"]
|
||||||
sky_material = SubResource("ProceduralSkyMaterial_sky0")
|
sky_material = SubResource("ProceduralSkyMaterial_sky0")
|
||||||
|
|
@ -27,7 +26,6 @@ script = ExtResource("1_r150o")
|
||||||
|
|
||||||
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="." unique_id=1569534216]
|
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="." unique_id=1569534216]
|
||||||
transform = Transform3D(-0.7071068, 0, 0.7071068, 0.5572077, 0.6156615, 0.5572077, -0.4353384, 0.7880108, -0.4353384, 0, 0, 0)
|
transform = Transform3D(-0.7071068, 0, 0.7071068, 0.5572077, 0.6156615, 0.5572077, -0.4353384, 0.7880108, -0.4353384, 0, 0, 0)
|
||||||
light_energy = 1.0
|
|
||||||
shadow_enabled = true
|
shadow_enabled = true
|
||||||
directional_shadow_max_distance = 2500.0
|
directional_shadow_max_distance = 2500.0
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -84,11 +84,8 @@ namespace IslaApocalypse.Server
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// Manual Test point
|
||||||
// Old original png map coords
|
// Vector2 capitolPos = new Vector2(6852, 6241);
|
||||||
// Vector2 capitolPos = new Vector2(2405, 3296); // hardcoded for now since we know exactly where it is in this seed, which is the "paradise" biome hub
|
|
||||||
// New Manual Test point
|
|
||||||
// Vector2 capitolPos = new Vector2(4487, 4424);
|
|
||||||
|
|
||||||
GD.Print($"[Server] Capitol found at {capitolPos}. Generating chunks...");
|
GD.Print($"[Server] Capitol found at {capitolPos}. Generating chunks...");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
||||||
{
|
{
|
||||||
"WorldSeed": 1409879727,
|
"WorldSeed": 1280587109,
|
||||||
"MapProfile": "8K",
|
"MapProfile": "8K",
|
||||||
"TownDensity": "Normal",
|
"TownDensity": "Normal",
|
||||||
"ChunkRadius": 32,
|
"ChunkRadius": 64,
|
||||||
"SeaLevelModel": "flat",
|
"SeaLevelModel": "flat",
|
||||||
"SeaLevelValue": 0.15
|
"SeaLevelValue": 0.15
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,10 +24,10 @@ to be parsed and translated into a 3D Voxel World.
|
||||||
## 2. City Placement & The Capitol Tether
|
## 2. City Placement & The Capitol Tether
|
||||||
* **The Challenge:** The Capitol City must spawn inside the radioactive Wasteland, but it MUST be connected to the contiguous mainland for the A* highway to reach it. Early iterations spawned the Capitol underwater or stranded it on offshore islands caused by the Wasteland noise bleeding over the ocean.
|
* **The Challenge:** The Capitol City must spawn inside the radioactive Wasteland, but it MUST be connected to the contiguous mainland for the A* highway to reach it. Early iterations spawned the Capitol underwater or stranded it on offshore islands caused by the Wasteland noise bleeding over the ocean.
|
||||||
* **The Solution (Smart Tiered Spawner):** We abandoned a rigid `while` loop in favor of a tiered attempt system.
|
* **The Solution (Smart Tiered Spawner):** We abandoned a rigid `while` loop in favor of a tiered attempt system.
|
||||||
* **Tier 1:** Searches for ideal (Wasteland + Coastal + Mainland).
|
* **Tier 1:** Searches for ideal (Wasteland + Coastal + Mainland).
|
||||||
* **Tier 2:** Relaxes the coastal requirement.
|
* **Tier 2:** Relaxes the coastal requirement.
|
||||||
* **Tier 3:** Scans the entire array for the closest valid pixel to the impact center.
|
* **Tier 3:** Scans the entire array for the closest valid pixel to the impact center.
|
||||||
* **Tier 4 (Doomsday):** Walks strictly south until it hits the mainland.
|
* **Tier 4 (Doomsday):** Walks strictly south until it hits the mainland.
|
||||||
|
|
||||||
## 3. The Pathfinding Wars (A* Road Optimization)
|
## 3. The Pathfinding Wars (A* Road Optimization)
|
||||||
The road network generation was the hardest logistical hurdle. Standard grid-based `AStarGrid2D` math does not scale cleanly to a 4096 map.
|
The road network generation was the hardest logistical hurdle. Standard grid-based `AStarGrid2D` math does not scale cleanly to a 4096 map.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue