Back to patterns
Intermediate Impact Camera Visuals

Camera Punch

Use this pattern when the player action is mechanically correct, but the result does not read clearly enough.

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. 1. Screen shake

    On a major impact event, instantly offset the camera by 3-6px in a random direction

  2. 2. Trauma system

    Spring the camera back to center over 0.1-0.2s with slight overshoot (elastic ease)

  3. 3. Camera spring

    For sustained shake (explosions), use trauma-based decay: shake.intensity -= 0.05 per frame

  4. 4. Step 4

    Rotate the camera slightly during shake for extra disorientation

  5. 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.