Guide
Game teammate silhouette and outline visibility systems explained
Harbor Vanguard shipped ranked 5v5 with bright cyan outlines on every ally, visible through walls at full opacity across the entire map. The intent was crisp team awareness. In practice, players could not distinguish ally silhouettes from enemy wallbang penetration cues and red damage-direction wedges in smoke. Accidental friendly fire reports hit 47% of matches in the first week; support tickets blamed “wallhack outlines.” After Harbor rebuilt visibility around occlusion-aware edge glow, distance falloff, and smoke-suppressed x-ray, friendly-fire confusion fell to 9% while squad coordination scores (measured by successful trade kills within 1.5 seconds) rose 18%.
Teammate silhouette and outline visibility systems answer a narrow question: how much can you see of allies when geometry, smoke, or lighting would normally hide them? They sit between ping and waypoint markers (explicit callouts) and scoreboard identity (roster state). This guide covers visibility technique taxonomy, occlusion and distance rules, interaction with smoke and flash, color semantics and colorblind modes, multiplayer replication cost, competitive integrity, Harbor Vanguard’s refactor, a technique decision table, pitfalls, and a production checklist.
Why ally visibility is a systems problem, not a shader toggle
Players need enough awareness to avoid shooting teammates in doorways, stack utility without blocking lanes, and rotate toward a dying ally. Too little visibility breeds frustration and accidental team damage; too much feels like legal wallhacks and collapses tactical cover. The balance depends on genre, team size, time-to-kill, and whether friendly fire is on.
Outline systems also interact with readability layers you may already ship: enemy vision cones, damage direction indicators, objective beacons, and smoke vision suppression. If ally cyan and enemy “spotted through smoke” cues share hue or edge thickness, players misread identity under stress. Treat teammate visibility as part of the same HUD clarity budget — not an isolated post-process pass.
Visibility technique taxonomy
Most shipped games combine two or three techniques. Pick deliberately; stacking all of them creates noisy silhouettes on busy maps.
| Technique | What the player sees | Best for | Risk |
|---|---|---|---|
| Nameplate / icon | Floating tag above head, often distance-scaled | Large team PvE, MMO raids, low-stakes co-op | Clutter in 5v5; hard to read in vertical fights |
| Edge outline | Silhouette rim on ally mesh, may respect depth | Tactical shooters, hero shooters, BR squads | Looks like cheat if always on through all walls |
| Interior x-ray fill | Semi-transparent body fill when occluded | Cover shooters with slow TTK | Obscures enemy silhouettes behind allies |
| Screen-space arrow | Off-screen teammate chevron on HUD bezel | Large maps, vehicles, split attention | Does not solve close-quarters FF in smoke |
| Audio callout | Footstep mix, proximity voice, “behind you” barks | Immersion-first titles | Insufficient alone for fast TTK modes |
Harbor Vanguard moved from global interior x-ray to edge-only glow when occluded plus on-screen nameplates inside 12 meters. Allies in direct line of sight render normally — no outline — so firefights read cleanly.
Occlusion rules and distance falloff
The critical design choice is when the effect activates:
- LOS-only: outline off when you can see the ally; on when a ray from camera to ally centroid hits world geometry. Prevents “always wallhack” feel.
- Partial occlusion: fade outline by occlusion percentage (head peeking over crate = 30% strength). Harder to implement but reads naturally.
- Distance cap: no ally visibility aid beyond N meters in ranked; unlimited in casual co-op. Stops cross-map x-ray in large arenas.
- Vertical bias: stronger outline when ally is one floor above/below — the case nameplates fail most often.
Implement occlusion with the same raycast budget you use for hit registration — but never share identical rewind buffers. Ally visibility should use interpolated display poses, not lag-compensated fire poses, or outlines jitter when players strafe corners.
Falloff curve matters: linear fade from 0–40 m feels abrupt. Use a smoothstep so outlines are stable at engagement range (8–25 m) and vanish at sniper extremes where players should use comms instead.
Smoke, flash, and line-of-sight interaction
Utility volumes must participate in visibility logic, not just rendering:
- Smoke interior: suppress ally x-ray inside the same volume that blocks enemy spotting. If enemies are blind but allies glow, players learn the wrong lesson about smoke value.
- Flash blind: optionally boost ally outline strength while local player vision is impaired — a crutch for disoriented defenders. Cap duration to flash length.
- Hard cover vs soft cover: thin props (fences, glass) may allow faint outline; concrete does not. Document rules for level designers.
Harbor Vanguard’s worst bug was cyan ally fill rendering through
smoke while enemies were fully hidden. The fix tagged smoke volumes in the
visibility FSM: ALLY_OUTLINE = OFF when the camera or ally
centroid lies inside an active smoke primitive, matching enemy vision rules.
Color semantics and accessibility
Team color is not decoration — it is gameplay data:
- Reserve one hue family for allies (cool blues/greens) and never reuse it for enemy damage, objectives, or interactables.
- Ship deuteranopia / protanopia / tritanopia presets that shift ally and enemy palettes together, not ally alone.
- Offer outline thickness and fill vs edge-only toggles; ranked defaults should be conservative.
- Add a non-color cue: ally chevron shape vs enemy diamond, or distinct outline dash pattern.
Test under recording compression. Thin cyan rims disappear on YouTube bitrates; slightly thicker edges with dark inner stroke survive stream viewing — relevant if your game is esports-adjacent.
Multiplayer replication and performance
Visibility is client-side presentation, but triggers depend on shared state:
- Replicate team id and squad slot authoritatively; never trust client team swaps for outline color.
- Batch outline draws in a dedicated render pass after depth prepass; avoid per-ally material swaps on 32-player modes.
- Throttle occlusion raycasts to 10–15 Hz per visible ally, staggered by frame — players do not perceive sub-frame outline latency.
- Disable interior fill on low graphics presets; keep edge-only for competitive fairness.
Spectator and replay modes need a separate policy: observers may see both teams with muted outlines, or team-colored only for the followed player. Document this in your spectator spec so casters do not leak unintended information.
Harbor Vanguard refactor (case study)
Before: global ally x-ray at 80% opacity, always on, same color as “enemy revealed by recon dart” debuff. Smoke did not suppress outlines. Ranked players reported allies as cheaters in kill cams.
After:
- Edge-only outline when occluded; no fill in direct LOS.
- 40 m ranked falloff; 80 m in casual/unranked.
- Smoke and flash volumes disable ally x-ray symmetrically with enemy vision.
- Distinct ally teal vs recon-gold enemy highlight; colorblind presets shift both.
- Nameplate within 12 m for callout names; integrates with ping wheel text.
Results: friendly-fire reports 47% → 9%; accidental grenade team damage 22% → 6%; average “communication clarity” survey score 3.1 → 4.2 / 5. Esports observers received a dedicated “clean cam” preset with outlines off for broadcast.
Technique decision table
| Your context | Prefer | Avoid |
|---|---|---|
| 5v5 tactical shooter, FF on | Occlusion edge outline + short-range nameplate | Map-wide interior x-ray |
| 12-player PvE horde | Always-on soft outline + overhead icon | Strict distance cap |
| Battle royale trio | Edge outline + off-screen arrows + ping integration | Thick fill that hides enemies |
| Immersion sim / milsim | No x-ray; voice + map markers only | Forced competitive outlines in ranked |
| Hero shooter with abilities | Per-hero silhouette toggle during ultimates only | Permanent glow stacking with ability VFX |
Common pitfalls
- Outline color collision — ally, objective, and loot share cyan; players shoot objectives.
- Smoke asymmetry — allies glow in smoke enemies cannot see through; smoke becomes useless.
- Downed-state confusion — downed allies keep full x-ray while enemies use subtle crawl animation; tie outline to alive state.
- Disguise / mimic enemies — if you have infiltration heroes, outlines must update on team change instantly.
- Replay divergence — kill cam shows no outline but live player had one; looks like a bug in reports.
- Performance cliffs — per-frame raycast per ally per camera in 32-player modes; stagger and cache.
Production checklist
- Define visibility FSM states: visible, occluded, smoke-hidden, flashed, dead/spectating.
- Separate ally palette from enemy debuff and damage-indicator colors.
- Implement occlusion-triggered edge outline with configurable thickness.
- Add ranked distance falloff distinct from casual defaults.
- Suppress ally x-ray inside smoke/flash volumes matching enemy rules.
- Ship colorblind presets tested on real gameplay captures.
- Integrate short-range nameplates with ping and voice callouts.
- Document level-design cover classes (hard vs soft occlusion).
- Batch outline rendering; cap raycast budget per frame.
- Align replay, spectator, and live visibility policies.
- Playtest FF-on door fights, vertical stacks, and smoke pushes.
- Telemetry: team damage events, outline setting distribution, smoke fight outcomes.
Key takeaways
- Ally visibility is a fairness system — too much reads as wallhacks, too little breeds accidental FF.
- Occlusion-aware edge outlines beat always-on x-ray for tactical shooters.
- Smoke and flash must suppress ally aids symmetrically with enemy vision or utility meta breaks.
- Color is gameplay data — palette collisions cause misidentification under stress.
- Harbor Vanguard cut FF confusion 47% → 9% with falloff, smoke rules, and distinct hues.
Related reading
- Game friendly fire systems explained — damage policy when outlines fail
- Game ping and waypoint marker systems explained — explicit spatial callouts beyond silhouettes
- Game smoke grenade and screen vision systems explained — vision volumes ally outlines must respect
- Tactical shooter game design explained — genre context for team awareness tradeoffs