feat(world): biomes foundation — data-driven terrain + walkable biome grounds (#136) #142
No reviewers
Labels
No labels
alpha:wave-0
alpha:wave-1
alpha:wave-2
alpha:wave-3
area:assets
area:combat
area:ecology
area:infra
area:render
area:scripting
area:ui
area:world
enhancement
epic
migration
post-alpha
roadmap
tech-debt
type:bug
type:chore
type:design
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
marco/IsoMmo!142
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/biomes-foundation"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Foundation slice of the Biomes system (design #135 → issue #136). Also carries the agreed
design doc (
docs/game-design/systems/biomes.md) + vision index update.Closes #136. Design: #135.
What this does
TerrainInfo— a table of(Walkable, BlocksSight)), replacingthe hardcoded
== Grass/== Treepredicates inTileMap. Adding a biome is one row, no switch.TerrainType(dry savanna, northern grassland, tundra, desertsand, salt plain, rocky ground, mountain rock, volcanic) + a data-table legend (
y n t d l r m v).IsoMmo.Client.Core(GroundTileSelector).GridRenderer+BiomeVisualstables): biome→texture set, with aper-biome placeholder tint so every biome reads even without art in the pack.
world.map: a band of biomes south of spawn so several are reachable on foot.Not here (later slices)
Move-cost / marsh slow (#138), fixtures object-layer (#139), per-biome scatter + seam feathering
(#140), importing the authored art (#137). Interim:
Treestays aTerrainTypemember until thebiome/fixture split in #139.
Invariants Check
Ran
critical-design-review; full Invariants Check persisted on #136 (comment). No✗, no HARD GATEtripped. No
ProtocolVersionbump (terrain never crosses the wire — verified).Verification
dotnet buildwhole solution: 0 warnings. CSharpier clean.TerrainInfoTests+ biome/marsh cases),Client.Core 81 (incl.
GroundTileSelectorTests), GameServer 190, Auth 12, Assets 4, Extractor 17.savanna, desert sand, salt plain, rocky/mountain render as visibly distinct ground; and walked
onto marsh (previously impassable). Player-observable DoD met.
Definition of Done (#136)
TileMapTests).GroundTileSelectorTests).