98 lines
3.4 KiB
Markdown
98 lines
3.4 KiB
Markdown
# Biome And Natural Resource Generation Plan
|
|
|
|
Agrarian needs Earth-aware tile generation, not hand-authored placeholder maps.
|
|
Every 1 km tile should derive its biome and natural resources from real-world
|
|
environmental signals, then place removable and persistent objects that behave
|
|
like real natural resources.
|
|
|
|
## Biome Selection Inputs
|
|
|
|
Each tile should eventually derive biome weights from:
|
|
|
|
- latitude
|
|
- elevation
|
|
- slope and aspect
|
|
- rainfall
|
|
- seasonal temperature swing
|
|
- ocean proximity
|
|
- prevailing wind
|
|
- ocean currents
|
|
- rain-shadow effects
|
|
- soil type
|
|
- drainage
|
|
- river, lake, wetland, and coast proximity
|
|
- land-use history when available
|
|
|
|
## Layered Generation
|
|
|
|
1. Climate engine: produces temperature, rainfall, seasonality, and weather
|
|
pressure.
|
|
2. Biome generator: assigns weighted macro/regional/local biome blends.
|
|
3. Ecology layer: chooses plant communities, wildlife, disease pressure, soil
|
|
behavior, and water availability.
|
|
4. Resource layer: places trees, shrubs, grasses, rocks, water bodies, edible
|
|
plants, fuel, fiber, and old human-made objects.
|
|
5. Human layer: derives agriculture suitability, settlement pressure, trade
|
|
value, travel difficulty, and cultural/economic implications.
|
|
|
|
## Biome Output Shape
|
|
|
|
Avoid hard borders. A tile should produce weighted blends such as:
|
|
|
|
- `70% coastal scrub`
|
|
- `20% riparian woodland`
|
|
- `10% seasonal marsh`
|
|
|
|
Those weights drive asset selection, density, color variation, seasonality, and
|
|
resource availability.
|
|
|
|
## Persistent Natural Resources
|
|
|
|
Every removable world object should have durable state:
|
|
|
|
- unique tile-local resource id
|
|
- resource type
|
|
- species or object profile
|
|
- transform
|
|
- growth stage
|
|
- health
|
|
- age
|
|
- quantity remaining
|
|
- removed/depleted timestamp
|
|
- player/planted/natural origin
|
|
- respawn or regrowth policy
|
|
- last simulation timestamp
|
|
|
|
## Removal And Regrowth Rules
|
|
|
|
- Trees, shrubs, rocks, puddles, lakes, ruins, shelters, and large props should
|
|
not silently pop back after removal.
|
|
- Player-removed trees and shrubs stay removed unless replanted or naturally
|
|
reseeded over realistic in-game time.
|
|
- Stumps, deadwood, brush piles, and disturbed ground should be valid aftermath
|
|
states rather than instant deletion.
|
|
- Water bodies are removable only through believable terrain/drainage changes,
|
|
drought, construction, or simulation systems.
|
|
- Edible plants, grasses, brush, and fiber resources can replenish, but only on
|
|
realistic seasonal timelines and only when biome, weather, grazing, and human
|
|
use allow it.
|
|
- Player-planted resources use explicit planting/cultivation rules rather than
|
|
random respawn.
|
|
|
|
## First Implementation Slice
|
|
|
|
1. Add tile biome profile data assets or JSON metadata for Ground Zero.
|
|
2. Register asset sets by biome weight: terrain, trees, shrubs, grasses, rocks,
|
|
water, wildlife, reclaimed props.
|
|
3. Convert placed foliage/resource proxies into persistent resource records.
|
|
4. Add removal state and save/load durability for trees and shrubs first.
|
|
5. Add slow regrowth/reseeding simulation for grasses/shrubs/trees.
|
|
6. Extend to water bodies, edible plants, rocks, and reclaimed objects.
|
|
|
|
## Investor Relevance
|
|
|
|
This system should make new tiles feel recognizable without hand-sculpting each
|
|
one. A Pacific coastal tile, a prairie tile, a boreal tile, and a river valley
|
|
tile should choose different assets, resource densities, travel difficulty, and
|
|
survival pressures automatically.
|