Production context
GDD/01-Gameplay/11-Wetness-and-Rain.mdVerified implementation evidence
- Not verified for this documentation pass.
Relationships
Document contract coverage
Use these required Feature Specification areas during review. The imported GDD below is canonical; items not stated explicitly remain unresolved.
- ReviewPurpose & Player Value
- ReviewScope
- ReviewOut of Scope
- ReviewTerminology
- ReviewFunctional Behavior
- ReviewStates & Flows
- ReviewRules & Edge Cases
- ReviewDependencies
- ReviewAcceptance Criteria
- ReviewOpen Questions
Canonical GDD content
When it rains, exposed characters and worn/held surfaces get wet. Wetness is a real, replicated visual (and optional survival) state — not only a sky/particle effect.
Related: 04-Survival-System.md, 10-Blood-Visual.md, 06-Inventory-and-Items.md, 08-Character-Creation.md, 02-Player-Character.md, ../02-World/01-World-Design.md, ../03-Enemies/01-Zombie-Design.md, ../06-Art-Audio/01-Art-Direction-and-MetaHuman.md.
Blood is a separate scalar. Being wet does not replace BloodAmount. Rain washing blood off is still [TBD] in 10-Blood-Visual.md.
Layers — [CONFIRMED]
| Layer | What it is | Persistence |
|---|---|---|
| World rain | Server weather: rain on / rain off (and intensity). Particles, wet ground, audio. | Session weather state; exact cycle [TBD] |
| Mesh wetness | WetAmount 0–1 on a Dynamic Material Instance (MID) |
Character and (where specified) item/instance state |
| Local HUD | Optional wet-lens / droplets on the local player's screen | Fades; not shown to other players. Existence [RECOMMENDATION]; tuning [TBD] |
Day/night lighting stays cosmetic for survival decay (no temperature-from-clock in v1). Rain is the gameplay-visible weather exception: it applies wetness. Fog, snow, and other weather types do not apply wetness unless a later decision says so.
Rain does not change zombie AI, loot tables, or spawn density in v1.
Exposure — [CONFIRMED] rules, numbers [TBD]
A pawn is rain-exposed when all of the following are true:
- Server weather is raining (intensity above a [TBD] threshold).
- The pawn is outdoors — no valid overhead shelter.
- The pawn is not in a [TBD] exception (e.g. fully enclosed vehicle — treat as shelter [RECOMMENDATION] once vehicles exist).
Shelter (blocks rain):
- Player-built pieces that form a roof / ceiling over the pawn (same building system as 05-Building-System.md).
- Authored interiors / overhangs that the world marks as covered (trace or volume — [TBD] technical).
Does not block rain by itself:
- Trees / foliage [RECOMMENDATION] do not count as roof in v1 (readability; avoid cheap full-cover camping in woods). Confirm if art wants light drip under canopy later.
- Open doorways with no ceiling.
While rain-exposed, WetAmount increases toward a ceiling (treat cap as 1.0 unless decided otherwise). Rate vs rain intensity is [TBD] — do not invent a curve in this doc.
While not rain-exposed, WetAmount dries toward 0. Dry rate, heat-source speed-up (fire, indoor warmth), and wind are [TBD].
Mesh wetness — material contract — [CONFIRMED]
- Approach: parameter on the existing material, not a required Material Layer Blend stack.
- Control: a single scalar
WetAmountin 0–1 per wet object (one value for the whole item/mesh, including multi-slot materials), same ownership pattern asBloodAmount. - Look: darker / higher gloss / wet sheen. Exact parameter names, roughness/albedo mapping, and drip VFX are [TBD] (technical art).
- If a mesh has no wetness path, it shows no wet look. Missing path is not a ship blocker for that asset; new player clothing, body/hair, and held items in this pipeline are expected to expose it.
WetAmountandBloodAmountcan both be > 0. Materials must compose them without one overwriting the other.
What gets wet — [CONFIRMED]
While rain-exposed:
- Hair and skin (not eyes) —
WetAmounton the character/pawn, not on appearance cosmetics. Changing clothes does not clear body/hair wetness. See 08-Character-Creation.md. - Outer worn clothing — which slot is “outer” is [TBD] until clothing layers are designed (same open question as blood).
- Held / equipped weapons and tools (visible in hands).
Does not get wet from rain in v1:
- Items in inventory that are not worn or held (backpack contents stay dry).
- World loot bags and containers [RECOMMENDATION] stay dry (avoid persist/replication cost). Revisit if designers want soaked ground loot.
- Eyes — no mesh wetness on the eye; optional local HUD droplets instead.
Zombies, bosses, and animals use the same pawn WetAmount contract when rain-exposed (visual only in v1). Whether AI wetness is saved across restart is [TBD] (same class of question as AI blood).
Dual state: item vs character — [CONFIRMED]
| Surface | Where WetAmount lives |
Unequip / swap |
|---|---|---|
| Worn clothing, gloves, shoes, held weapon/tool | Item instance | Stays on that item (drop, loot, inspect, re-equip) |
| Hair, skin (not eyes) | Character | Stays on the character when outfits change |
Both can be wet at once (wet shirt item + wet skin/hair on the pawn).
Water that is not rain — [TBD]
Swimming, wading, and standing under a faucet are not specified here. Do not treat them as rain. If they should share WetAmount, that is a later decision.
Gameplay — [RECOMMENDATION] temperature, rest [TBD]
- [RECOMMENDATION] wetness feeds temperature (wet + cold exposure is harsher; drying near fire is safer). Survival already names wet/cold; this is the rain hook. Exact modifiers are [TBD] and live in data. See 04-Survival-System.md.
- [CONFIRMED] rain/wetness does not change zombie senses, loot, or stamina by itself in v1.
- Waterproof clothing / rain gear: [TBD]. Do not assume a waterproof flag until designed.
- Wet weapons: no jam/spread from wetness in v1 (dirt/cleaning is already cut). Durability unchanged by rain.
Networking, inspect, save — [CONFIRMED]
- Other players must see mesh wetness (worn clothes, held gear, hair/skin, zombies when relevant).
- Item
WetAmountis instance state: world drops of a soaked worn/held item show wet if that item carried the scalar. - Character body/hair
WetAmountpersists in the player save (log off wet → log in wet). - Weather (is it raining) is server-authoritative and replicated for VFX/audio; clients do not decide exposure.
- HUD droplets are local-only and are not replicated.
Pipeline ownership — [CONFIRMED]
- Spec first; material wetness parameters follow the contract above.
- Game-wide for player characters and future clothed/held content; unhooked meshes simply look dry.
Open questions still [TBD]
Do not implement as if decided:
- Rain intensity thresholds, wet/dry rates, and heat-source dry bonus.
- Overhead-shelter query (line trace vs volumes vs building roof test).
- Clothing outer-layer resolution.
- MID parameter names and wet look (roughness, albedo, normals, drips).
- HUD droplets: whether they exist, duration, intensity vs
WetAmount. - Vehicles as full shelter.
- Rain washing
BloodAmount. - Shared wetness from swimming / faucets.
- Waterproof gear.
- AI wetness persistence.
- World surface wetness (puddles, wet roads) beyond “rain VFX exists.”
- Temperature modifier numbers if the survival hook is approved.