Orb metronome — harmonic timing trainer

In-game cycle: trooper dies → orb appears black (can't hit) → flips to white (hittable) → disappears. Press Space as close to the black→white transition as possible. Clicking before the orb lights up = EARLY (orb not hittable yet). Clicking during white = secured.

last click idle

vdata-extracted & sandbox-verified constants (xp_orb_trooper)

Spawn delay (kill → orb appears)0.4–0.7 s randomm_flOrbSpawnDelayMin/Max
Invul duration (orb visible BLACK)~0.55–0.85 s randomm_flInvulDuration + Min/Max (sandbox: 600–667 ms)
Hittable window (WHITE)0.700 s fixedm_flLifeTime — confirmed 42 frames @ 60 fps over 3 orbs
Server claim window0.06 sm_flOrbClaimWindow
Initial velocity65 u/s up + 40 u/s lateral, ×1.5 burst for 0.2 sm_flUp/LateralSpeed, m_flBurst*
Gravityzero (pure drift)m_flGravityScale
Killer-side bias+115 u/s vertical, +40/55 u/s X/Y toward killerm_flKillerPlane*
Lifecycle: kill → 400–700 ms → orb spawns BLACK → 550–850 ms invul → orb LIGHTS UP → 700 ms hittable → gone. Total cycle 1.65–2.25 s. Lifetime starts after invul ends — interpretation A (lifetime as total) was falsified by sandbox testing.

Orb lifecycle

30
550
150
625
125
700
60
60
Max safe BPM (no overlap):

Tonal scheme

Drone & reference

Audio: Web Audio sample-accurate, 25 ms lookahead. Click feedback uses voicing tiers (always consonant, no detuning) — fewer voices the later you click: ≤25 ms = full resolved chord (PERFECT, green), ≤100 ms = basic chord (GREAT, green), ≤200 ms = just a third (LATE, orange), >200 ms = bare single note (LATE, red). Click before the orb lights up plays a harsh tritone cluster.