Hit Stop
Freezing the action for a few frames right when a hit connects.
Examples
Captured from this page's own interactive demo below.
Overview
Hit stop (also called 'freeze frame' or 'hit pause') briefly stops or drastically slows time the instant an attack connects, before everything resumes normally. It's borrowed directly from hand-drawn animation and fighting-game design.
The freeze gives the player's eye a moment to register that a connection actually happened, and the abrupt stop after motion reads as resistance — like the hit had to overcome something. Counterintuitively, stopping the game briefly makes the action feel faster and harder overall.
It's most associated with the feeling of weight and impact: a sword that actually cuts, a punch that actually lands, as opposed to attacks passing through enemies with no consequence.
Interactive Demo
Use Cases
Best Practices
Do
- ✓Keep it very short — 30–120ms for most hits. It should barely register consciously.
- ✓Pair it with camera shake and a flick right after the freeze for a full 'impact chain'.
- ✓Scale duration with the weight of the hit (a jab vs. a finishing blow).
Don't
- ✕Don't freeze player input handling for longer than the visual freeze — it should never feel like lag.
- ✕Don't apply the same hit stop to trivial, high-frequency hits (like a rapid-fire weapon) — it'll feel sluggish.
- ✕Don't forget to unfreeze reliably — a stuck freeze reads as a bug, not juice.
Common Mistakes
- ⚠Freezing so long the game feels like it stuttered rather than punched.
- ⚠Freezing everything including UI timers/animations that should keep running.
- ⚠Not accounting for hit stop when multiple hits land in the same frame (stacking freezes badly).
Implementation
Paste this into your AI assistant (Cursor, Copilot, Claude) to add the effect to your project.
Add the "Hit Stop" game-feel effect to my project: Freezing the action for a few frames right when a hit connects.
How it works: Hit stop (also called 'freeze frame' or 'hit pause') briefly stops or drastically slows time the instant an attack connects, before everything resumes normally. It's borrowed directly from hand-drawn animation and fighting-game design.
Guidelines:
- Keep it very short — 30–120ms for most hits. It should barely register consciously.
- Pair it with camera shake and a flick right after the freeze for a full 'impact chain'.
- Scale duration with the weight of the hit (a jab vs. a finishing blow).
Avoid:
- Don't freeze player input handling for longer than the visual freeze — it should never feel like lag.
- Don't apply the same hit stop to trivial, high-frequency hits (like a rapid-fire weapon) — it'll feel sluggish.
- Don't forget to unfreeze reliably — a stuck freeze reads as a bug, not juice.
Implement the effect in whatever engine/stack the project already uses and follow its existing code style. Wire it up where it makes sense.References
- GDC: Juice It or Lose It — Martin Jonasson & Petri Purho
- Game Feel — Steve Swink (book)
Related Effects
Camera Shake
Briefly jolting the camera to sell weight, impact, or danger.
Screen Flash
A brief full-screen (or local) flash of color to punctuate a big moment.
Slow Motion
Briefly dropping the game's time scale to stretch out a dramatic moment.
Comments
…