GAME DESIGN KING

What is hit stop? Why games freeze for a split second when you land a hit

Hit stop is a split-second freeze that a game adds when an attack connects. Both the attacker and the target stop for a few frames, and the screen often shakes. It is too short to notice, but your brain reads it as weight. That is why a punch with hit stop feels real.

What the game is doing

When a hit lands, the game does not just play the next frame of the animation. It pauses the action on purpose:

  1. The attack touches the target. This is the impact frame.
  2. The game freezes the fighters. The same frame stays on screen.
  3. A short shake moves the target left and right.
  4. After a few frames the game lets go, and the hit plays out.

Slow the moment down and you can see it: frames tick by, then one frame repeats while the counter is stuck, then the motion runs on. At normal speed you do not see a pause. You feel a heavier hit.

No developer has published one official frame count. The right length depends on the game and the hit.

Why it works

At 60 frames per second, one frame lasts about 16 milliseconds. Without hit stop, the moment of contact is on screen for one frame, and then the fist keeps moving through the target.

That is why hits without it feel like swinging at air. The punch passes through, the target barely reacts, and the player's eyes get no proof of contact. Hit stop holds the moment long enough to register. The freeze tells the brain that two heavy things collided.

It also gives the player a tiny beat to read what happened, before the target flies away.

Real games that use it

Many fighting and action games use the same idea. We only name the ones we have a source for.

How to use it in your game

Freeze a few frames on every big hit. Bigger hit, longer freeze. There are two common ways to build it: stop the attacker and the target only, or scale game time to zero for a moment. Stopping only the two characters is safer, because sound, menus and the camera keep running.

float hitStopTimer;

void OnHit(float power) {
    // power: 0 = light hit, 1 = heavy hit
    int frames = Mathf.RoundToInt(Mathf.Lerp(2, 8, power));
    hitStopTimer = frames / 60f;
    Shake(target, power);
}

void Update(float dt) {
    if (hitStopTimer > 0) { hitStopTimer -= dt; return; }  // skip the fighters' update
    UpdateFighters(dt);
}

Tips:

Common mistake: too much. If the game stops too often or too long, the controls feel sticky, not heavy.

FAQ

What is hit stop in games?

It is a very short freeze when an attack connects. The game holds the impact frame for a few frames so the hit feels solid.

How long is hit stop?

It depends on the game and the hit. It is usually a few frames, short enough that players do not notice a pause. Light hits get less, big hits get more.

Is hit stop the same as lag?

No. Lag is unplanned and affects the whole game. Hit stop is a designed pause, only for a moment, and it only happens when a hit lands.

Related: Input buffering ยท Rubber banding