87 lines
3.3 KiB
Markdown
87 lines
3.3 KiB
Markdown
# Ground Zero Biome Resource Pass
|
|
|
|
The Ground Zero map now has a first pass of biome-appropriate natural resources
|
|
based on the selected tile's coastal California scrub/woodland biome, terrain
|
|
height, slope, and drainage-candidate analysis.
|
|
|
|
## Resource Types
|
|
|
|
- Wood: scrub/woodland and hillside patches.
|
|
- Fiber: grassland, scrub, and drainage-candidate areas.
|
|
- Edible plants: coastal scrub, grassland, and drainage-candidate forage
|
|
patches that yield the MVP `food` item.
|
|
- Stone: slope, exposed terrain, and valley-edge areas.
|
|
|
|
Freshwater is separate from depleting resource nodes. Ground Zero uses
|
|
`BP_FreshWaterSource`, an interactable water actor that restores thirst through
|
|
the survival component.
|
|
|
|
## Implementation
|
|
|
|
- Added `BP_StoneResourceNode` through `Scripts/setup_playable_blueprints.py`.
|
|
- Added `BP_EdiblePlantResourceNode` through
|
|
`Scripts/setup_playable_blueprints.py`.
|
|
- Updated `Scripts/setup_ground_zero_demo_map.py` to place deterministic Ground
|
|
Zero resource nodes.
|
|
- Added `Scripts/verify_ground_zero_resources.py` to validate node presence,
|
|
yield item IDs, remaining harvests, stable persistence IDs, and readable
|
|
first-pass resource material assignments.
|
|
- Freshwater placement and interaction are covered by
|
|
`Scripts/verify_ground_zero_water_source.py` and
|
|
`Scripts/verify_water_gathering_interaction.py`.
|
|
|
|
## Counts
|
|
|
|
The map now contains:
|
|
|
|
- Wood nodes: `4`
|
|
- Fiber nodes: `5`
|
|
- Edible plant nodes: `3`
|
|
- Stone nodes: `4`
|
|
|
|
These counts include the original demo wood and fiber nodes so the first player
|
|
path remains intact while expanding the broader tile resource layer.
|
|
|
|
## Respawn Rules
|
|
|
|
MVP respawn rules separate renewable surface resources from nonrenewable stone:
|
|
|
|
- Wood nodes respawn after `900` seconds once fully depleted.
|
|
- Fiber nodes respawn after `600` seconds once fully depleted.
|
|
- Edible plant nodes respawn after `1200` seconds once fully depleted.
|
|
- Stone nodes do not respawn in the MVP.
|
|
|
|
Respawn restores the node to its configured `MaxHarvests` value and re-enables
|
|
visibility/collision through the same replicated depletion state used by
|
|
gathering.
|
|
|
|
## Tool Rules
|
|
|
|
MVP tool rules keep the first loop accessible while giving crafted tools an
|
|
immediate benefit:
|
|
|
|
- Wood, fiber, and stone nodes declare `basic_tool` as their useful tool.
|
|
- Those nodes still allow bare-hand gathering so players can gather the
|
|
ingredients needed to craft the first tool.
|
|
- A carried `basic_tool` adds `1` extra unit to each wood, fiber, or stone
|
|
harvest.
|
|
- Edible plant nodes remain pure bare-hand gathering.
|
|
|
|
The rule is inventory-based until equipment slots, durability, and explicit
|
|
active-hand state are implemented.
|
|
|
|
## Persistence
|
|
|
|
Ground Zero resource actors receive stable `PersistenceNodeId` values matching
|
|
their placement labels. The persistence subsystem captures and restores only
|
|
resource nodes that exist in the loaded world, so depletion records stay scoped
|
|
to active map/tile content. Future generated Earth-scale tiles should follow the
|
|
same rule: assign deterministic resource node IDs during placement and let the
|
|
save system record depletion only for tiles whose resource actors are present.
|
|
|
|
## Follow-Up
|
|
|
|
Future passes should replace the prototype meshes with real coastal scrub,
|
|
grass, rock, and woodland assets, then drive density from land-cover and
|
|
hydrography data instead of fixed authored points.
|