Fighting Game · Guides & deep dives

Player Behavior Heatmaps

Rendered UI should prioritize the actual heatmap workspace: mode tabs for Movement, Deaths, and Linger, a compact map selector, a time-window control, and the 2D grid as the primary view.

2sections1 minread

On this page

Phase 72.5.2.2 adds @v2/player-behavior-heatmaps, the operational heatmap surface for anonymized player positional telemetry. The policy is v2-player-behavior-heatmaps-v1.

buildV2PlayerBehaviorHeatmapsSurface composes @galatea/analytics/heatmap-engine for 2D movement and dwell grids, then adds V2 overlays for where players die and linger. It also emits 3D voxel density maps so arenas with vertical routes can be inspected by height slice.

The service consumes movement, death, and linger samples with playerIdHash identifiers. Output surfaces expose grid cells, intensities, death counts, linger time, and voxel aggregates; they do not expose raw player IDs or raw trajectory points.

Operator Surface#

Rendered UI should prioritize the actual heatmap workspace: mode tabs for Movement, Deaths, and Linger, a compact map selector, a time-window control, and the 2D grid as the primary view. The 3D voxel view should be a separate mode or side-by-side inspector, not a decorative preview.

The first screen should make the selected arena and heatmap mode obvious without marketing copy. Use dense labels, stable grid sizing, and clear intensity legends so operators can compare hot cells quickly.

Verification#

Targeted verification:

bash
pnpm --filter @v2/player-behavior-heatmaps run typecheck
pnpm --filter @v2/player-behavior-heatmaps run test
python V2/ue/Tools/check-v2-player-behavior-heatmaps.py
python -m json.tool V2/ue/Build/Telemetry/v2-player-behavior-heatmaps.json