Guide

Game smoke grenade and screen vision systems explained

Harbor Depot shipped its competitive defuse map with a mid choke that every ranked team learned to lock down with two smoke grenades. The volumes were perfect spheres: fully opaque from any angle, no vertical limit (smoke filled three-story atriums), and edge peeking from crouch height let defenders see ankles while attackers saw only grey. Rounds where neither side could resolve the choke without a random spam kill accounted for 58% of post-plant stalls. The refactor introduced layered occlusion density, a 2.4-meter height cap, timed dissipation with wind drift, and peek-height bands that normalize crouch vs standing advantage. Smoke-camp stalls fell to 19%; successful mid takes rose from 41% to 67% because attackers could cross with partial cover instead of gambling wide swings. Smoke grenade and screen vision systems are the authored rules that block, blur, or delay what players can see across space — distinct from instant sensory effects in our flash and stun guide and from damage throwables in our grenade systems guide.

This guide covers occlusion models, dissipation and spread, one-way smoke curtains, nameplate and UI visibility policy, interaction with flash and audio, server authority, the Harbor Depot refactor, a technique decision table, pitfalls, and a designer checklist.

What smoke systems do

A smoke grenade is a vision-denial utility whose payload is spatial occlusion, not hit-point damage. Good smoke design creates temporary geography: new cover, new risk, and new timing windows without permanently altering the map. Players should understand where the cloud starts and ends, how long it lasts, and what counterplay exists (utility clears, height advantage, audio cues).

Core occlusion channels:

  • Line-of-sight block — ray from camera to target intersects smoke volume; render target as silhouette, greyscale, or hidden.
  • Density falloff — center is opaque; edges are translucent so players can read volume shape and plan pushes.
  • Height and footprint — cylindrical caps vs spheres; ceiling collision stops unrealistic vertical fill.
  • Screen-space overlay — desaturation, vignette, or noise when the local camera is inside the volume; separate from world occlusion.
  • UI suppression — nameplates, minimap blips, and damage direction indicators may be hidden, faded, or shown at reduced range.

Smoke pairs naturally with footstep and noise detection: vision loss shifts the information game to sound, so muffling rules must be explicit (see below).

Occlusion models: how engines block vision

Three production patterns dominate multiplayer shooters:

Binary LoS volume

Server marks entities inside an axis-aligned or spherical trigger. Any sight line crossing the trigger fails visibility checks. Cheap and deterministic; edge cases at volume boundaries need sub-tick interpolation to avoid flicker.

Density sampling

Smoke is a 3D grid or analytic field. Each ray samples density along its path; visibility scales with integrated opacity. Enables soft edges and partial visibility of large silhouettes. Higher CPU cost; cache samples per tick for common angles in competitive modes.

Particle shell + interior fog

Billboard particles form the readable cloud silhouette; interior uses exponential fog in shaders. Visually rich but can desync from gameplay collision if art radius exceeds logic radius. Always author gameplay radius ≤ render radius so players never shoot through smoke they cannot see.

Harbor Depot moved from binary spheres to density sampling on a horizontal cylinder (4 m radius, 2.4 m height) with exponential edge falloff. Center opacity blocks nameplates; edge band (outer 30%) allows silhouette reads at under 8 m.

Lifecycle: deploy, spread, peak, dissipate

Smoke behaves like a state machine tied to the throwable fuse covered in grenade design:

  1. Deploy — canister hits ground; 0.3–0.8 s arm time before emission (prevents instant pop on bounce).
  2. Spread — radius grows over 1–2 s; density rises to peak. Telegraph audio (hiss) starts at deploy, not at peak.
  3. Hold — full opacity window; competitive titles often target 12–18 s before fade begins.
  4. Dissipate — density falls over 3–6 s; can be linear, ease-out, or wind-biased drift.
  5. Expire — volume removed; collision and audio bus reset.

Wind and map vents can translate the volume slowly (0.5–1.5 m/s) to break indefinite camps. Cap total drift so smokes do not migrate across entire bombsites. Stacking two smokes in one choke should not create permanent night; apply diminishing density when volumes overlap (max cap ~115% of single-smoke peak, not 200%).

One-way smoke and peek-height fairness

“One-way smoke” describes any setup where one player sees more than another through the same cloud — usually from height difference, camera offset, or asymmetric density. Competitive players exploit this intentionally; accidental one-ways feel like map bugs.

Mitigations:

  • Peek-height bands — define camera heights (crouch, stand, jump) that sample the same density curve; normalize so standing on a crate does not pierce smoke that crouch cannot.
  • Floor-aligned cylinders — smoke hugs ground; standing elevation above cloud top grants legitimate height advantage that is readable in level art.
  • Edge fade symmetry — same translucency profile from inside and outside; avoid interior-only clear shader passes.
  • Deployed curtains — intentional one-way smokes (thin wall-mounted vents) are authored as set pieces with signage, not emergent grenade bugs.

Harbor Depot's ankle-peek bug came from sampling density at foot bone height for defenders on stairs while attackers sampled at eye height. Unifying samples at eye bone + 10 cm offset removed asymmetric peeks without killing intentional balcony angles.

Nameplates, UI, and third-person readability

Hiding nameplates inside smoke is standard in tactical shooters, but inconsistent rules frustrate teams:

  • Full hide — no nameplate or outline while any sample point is inside density > 0.5. Best for hardcore ranked.
  • Proximity fade — nameplate visible under 3 m even in smoke; aids casual team identification.
  • Damage reveal — shooter briefly visible on nameplate when firing; rewards sound tracking.
  • Minimap — smoke icon on map; do not show enemy dots through smoke unless a recon ability explicitly allows it.

Kill feed and death recap should tag smoke involvement (“through smoke”) so players learn whether a death was informational or random.

Interaction with flash, fire, and audio

Utility types must compose predictably:

  • Flash — dense smoke should block flash line-of-sight; a player behind a smoke wall toward the detonation receives zero exposure. Partial overlap uses max(smoke density, flash exposure) per channel. Document this in patch notes when tuning.
  • Incendiary / molotov — fire volumes and smoke can coexist; smoke does not extinguish fire unless design says so. Vision inside burning smoke needs strong color grading to remain readable.
  • Audio — optional low-pass when listener is inside smoke; do not stack with flash tinnitus. Footstep occlusion: reduce propagation distance by 20–40% through smoke shell, not to zero.
  • Recon scans — if the game has wall-pulse or drone abilities, define whether smoke blocks pulse rays or only visual shaders.

Server authority and replication

Smoke state is server-owned:

  1. Server spawns volume at validated detonation point; replicates id, center, radius curve, and time remaining.
  2. Clients render particles locally; gameplay queries use replicated parameters only.
  3. Visibility checks run server-side for AI and hit registration; clients predict for responsiveness but accept corrections.
  4. Overlap count per zone is capped (e.g. 3 active smokes per 8 m) to protect frame time and prevent grey-out griefing.

Desync bugs often appear when client particle art is larger than replicated radius. QA should compare screenshot overlay against debug-draw collision each build.

Harbor Depot refactor

Harbor Depot replaced opaque spheres with a tuned smoke stack:

  1. Cylindrical volume — 4 m radius, 2.4 m height, ceiling clamp on indoor chokes.
  2. Density curve — peak hold 14 s; 5 s dissipate with slight down-ramp wind on open lanes.
  3. Unified eye sampling — LoS uses eye bone; eliminated stair ankle peeks.
  4. Stack cap — third smoke in 6 m adds 15% density, not a third full layer.
  5. Nameplate policy — hidden above 0.45 density; damage reveal 0.4 s on first shot.
  6. Flash block — smoke density > 0.3 zeroes flash exposure on that ray.

Metrics after six weeks of ranked play: post-plant smoke stalls dropped 58% to 19%; successful mid takes rose 41% to 67%; average round time fell 8 s (fewer timeout votes); smoke-related fairness tickets fell 64%.

Technique decision table

ApproachBest forWeak when
Binary opaque sphereArcade modes, fast prototypesCompetitive choke play; creates one-ways and stalls
Density cylinder + fadeTactical defuse, search-and-destroyNeeds perf budget for ray samples
Permanent map fog zonesHorror, extraction shootersUtility smokes feel redundant
Screen-only desaturationMobile, low GPUEnemies remain fully visible; breaks trust
One-way authored curtainsAsymmetric PvE, siege mapsMust be clearly signposted in PvP
Infinite-duration smokeNone in round-based PvPStalls matches; griefing magnet

Common pitfalls

  • Art larger than logic — players shoot enemies they cannot see because particles extend past collision.
  • Unbounded vertical fill — smoke fills entire atriums; removes vertical map design.
  • No dissipation — smokes last until round end; encourages passivity and votes.
  • Asymmetric sampling — crouch vs stand peeks through the same visual cloud.
  • Flash ignores smoke — blind through walls of grey; reads as incoherent utility.
  • Nameplate leakage — enemies glow in smoke; defeats the utility purpose.
  • Stacking without cap — triple smoke equals permanent blindness in a 4 m choke.
  • Silent deploy — no hiss or pop; defenders cannot react to timing.

Designer checklist

  • Define footprint shape, peak density, hold duration, and dissipate curve.
  • Match gameplay radius to particle bounds; debug-draw in QA builds.
  • Cap smoke height with ceiling rays; test multi-floor maps.
  • Sample LoS at consistent eye height; test stair and crate peeks.
  • Publish nameplate, minimap, and damage-reveal rules in smoke.
  • Block flash rays through density above documented threshold.
  • Apply overlap diminishing returns and per-zone active cap.
  • Replicate volume state server-side; clients render only.
  • Telemetry: stall time in smoke, take success rate, one-way reports.
  • Playtest cross-push: can attackers traverse without coin-flip wide swings?

Key takeaways

  • Smoke is temporary map geometry — shape, height, and duration matter as much as opacity.
  • Density beats binary spheres — soft edges reduce stalls and accidental one-ways.
  • Dissipation is mandatory in round-based PvP — Harbor cut stalls by 39 points with a 5 s fade.
  • Utility must compose — flash, fire, and audio rules need explicit cross-links.
  • Server owns the volume — client VFX is presentation; gameplay queries use replicated data.

Related reading