Camera Shake System
Implement trauma-based camera shake that feels organic and never repetitive.
Bad camera shake: tween the camera to random positions in a loop. Feels mechanical.
Good camera shake: trauma-based system. Add trauma (0-1) on impact. Each frame, shake magnitude = trauma². Decay trauma over time. Use Perlin noise (math.noise) for smooth, non-repeating random offsets.
Why trauma²? At trauma=0.3, shake=0.09 (barely noticeable). At trauma=1.0, shake=1.0 (maximum). This feels natural — only big hits truly shake.
Multiple hits stack trauma additively up to 1.0, then it decays at a fixed rate.
