This repository has been archived on 2026-05-24. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
AgrarianGameArchive/Docs/Terrain/GroundZeroNaturalEnvironmentPass.md
T

79 lines
4.1 KiB
Markdown

# Ground Zero MVP Natural Environment Pass
The Ground Zero map now has a first MVP natural environment pass so the investor
demo reads as coastal California scrub/woodland instead of a plain grey-box test
space.
## Scope
- Terrain receives a procedural coastal scrub terrain material that blends
dry soil, scrub green, and sandy path color families with broad and fine
noise so Ground Zero does not read as flat tan placeholder ground.
- Foliage patch instances use native low-poly coastal scrub vegetation meshes
under `/Game/Agrarian/Environment/Vegetation`: a coastal oak proxy, coyote
brush proxy, and dry grass clump proxy. The foliage materials include
per-instance color variation so repeated instances do not read as copied
engine primitives.
- Wood, fiber, stone, and freshwater actors receive distinct first-pass
materials.
- Investor-facing asset variation actors add additional tree canopies/trunks,
rounded bushes, brush clusters, grass mats, rock slabs, water-bank pieces,
reeds, and a visible freshwater surface with varied meshes, scales,
rotations, and material families.
- A first-pass ruin landmark placeholder gives the Ground Zero demo a visible
point of interest using five native placeholder stone pieces: foundation,
wall fragments, a cairn marker, and a threshold.
- The foliage and asset variation layers now use Agrarian-native placeholder
mesh assets from `/Game/Agrarian/Environment/PlaceholderMeshes` instead of
direct `LevelPrototyping` mesh references.
- The setup remains repeatable through `Scripts/setup_ground_zero_demo_map.py`.
## Placeholder Mesh Assets
- `/Game/Agrarian/Environment/PlaceholderMeshes/SM_AGR_Placeholder_Cube`
- `/Game/Agrarian/Environment/PlaceholderMeshes/SM_AGR_Placeholder_ChamferCube`
- `/Game/Agrarian/Environment/PlaceholderMeshes/SM_AGR_Placeholder_Cylinder`
- `/Game/Agrarian/Environment/PlaceholderMeshes/SM_AGR_Placeholder_QuarterCylinder`
- `/Game/Agrarian/Environment/PlaceholderMeshes/SM_AGR_Placeholder_Plane`
## Material Assets
- `/Game/Agrarian/Materials/M_AGR_GZ_Terrain_CoastalScrub`
- `/Game/Agrarian/Materials/M_AGR_GZ_Tree_CoastalOak`
- `/Game/Agrarian/Materials/M_AGR_GZ_Shrub_CoyoteBrush`
- `/Game/Agrarian/Materials/M_AGR_GZ_Grass_DryCoastal`
- `/Game/Agrarian/Materials/M_AGR_GZ_Wood_Resource`
- `/Game/Agrarian/Materials/M_AGR_GZ_Fiber_Resource`
- `/Game/Agrarian/Materials/M_AGR_GZ_EdiblePlant_Resource`
- `/Game/Agrarian/Materials/M_AGR_GZ_Stone_Sandstone`
- `/Game/Agrarian/Materials/M_AGR_GZ_FreshWater`
## Validation
`Scripts/verify_ground_zero_natural_environment_pass.py` checks that the
materials exist, the landscape uses the terrain material, the foliage actor has
the expected investor-facing instance counts and material assignments, and
resource/water actors are visually dressed. It also checks that foliage no
longer points at `/Engine/BasicShapes` or template meshes, that the three
coastal-scrub vegetation assets are assigned, and that tree, shrub, and grass
components have explicit cull distances for performance. It also checks that the terrain
material contains procedural color breakup rather than a flat constant color:
noise, blend, and coastal-scrub color-vector expression families must be present
in the saved material package. It also checks the asset variation
layer: twenty-three labeled variation actors, at least four mesh silhouettes,
unique scale profiles, and coverage across tree, bush, grass, rock, and water
visual families. `Scripts/verify_native_placeholder_meshes.py` checks that playable
resource/structure/water Blueprints, foliage components, and environment
variation actors use Agrarian-native placeholder meshes rather than template
mesh paths. `Scripts/verify_ground_zero_landmark_placeholder.py` checks the
ruin landmark placeholder actor count, native mesh paths, stone material
assignment, distinct placement, and roadmap/doc coverage.
## Follow-Up
This pass deliberately keeps the current prototype geometry so it stays small
and stable. Later environment work should replace the Agrarian-native
placeholder silhouettes with region-appropriate sourced or custom meshes, then
drive density and shape selection from land-cover, slope, hydrography, and biome
data.