Problem
Is this your problem?
Impacts and explosions lack physical weight. The world feels static even when big things happen.
When to use it
- The player action is important but easy to miss.
- The game state changes, but the player does not immediately understand why.
- A mechanic works correctly but feels dry, flat, or unresponsive.
When not to use it
- The action happens constantly and strong feedback would become noise.
- The feedback would hide information the player needs to react to.
- The player cannot reduce intense motion, flash, or sound when needed.
Recipe
Apply the stack in order.
Each layer should support the same moment. If a layer arrives late, lasts too long, or fights the player for attention, reduce it before adding more.
-
1. Screen shake
On a major impact event, instantly offset the camera by 3-6px in a random direction
-
2. Trauma system
Spring the camera back to center over 0.1-0.2s with slight overshoot (elastic ease)
-
3. Camera spring
For sustained shake (explosions), use trauma-based decay: shake.intensity -= 0.05 per frame
-
4. Step 4
Rotate the camera slightly during shake for extra disorientation
-
5. Step 5
Never exceed 10px offset -- beyond that it becomes nauseating
Why it works
The pattern is about confirmation, not decoration.
The vestibular system interprets camera movement as physical force. Even a 4px shake fires the same instinct as real impact. The spring-back creates a satisfying rebound that reads as weight.
The useful part is not the amount of polish. It is the timing. Feedback needs to arrive on the frame where the player expects confirmation, then get out of the way.
Tuning
Adjust the knobs, not the whole pattern.
Start with the smallest readable version, then increase only the parts that help the player understand the moment.
Intensity
Scale the response to the importance of the action.
Timing
Fire the stack on the confirmation frame, not after the moment has passed.
Duration
Keep repeated actions short and reserve longer pauses for rare events.
Accessibility
Offer reduced motion, reduced flash, or separate audio controls where intensity can spike.
Mistakes
What usually goes wrong.
Most failed applications of this pattern come from adding more feedback before the core timing and readability are working.
- Using the same feedback strength for every action.
- Adding effects that obscure the thing the player needs to read.
- Treating juice as decoration instead of confirmation.
Before / After
What changes for the player.
Before
The action happens, but the player has to infer the result from health, score, or delayed state changes.
After
The game confirms the action immediately through synchronized feedback that matches the importance of the moment.