Guide

Game hit confirm systems explained

Harbor Brawl's v1 combo system chained every light attack into a full super on button mash. Casual players loved the spectacle. Ranked players hated it: blocking the first jab still left you vulnerable because the follow-up special had already committed on input. Neutral devolved into “did my jab touch?” with no readable answer — the game decided for you. The refactor introduced hit confirms: the expensive follow-up only fires when the opener actually connected, using link windows, cancel flags, and feedback cues players can read in real time.

A hit confirm is a deliberate sequence where the player lands a fast, relatively safe opener, observes that it hit (not blocked), and only then commits to a slower, higher-reward follow-up. It is the mechanical bridge between neutral footsies and full combos — and one of the clearest skill gaps in fighting-game design. This guide covers confirm taxonomy, frame requirements, feedback design, blockstring confirms, target combos vs manual links, implementation in your combat state machine, the Harbor Brawl confirm refactor, a technique decision table, pitfalls, and a production checklist.

What a hit confirm is (and is not)

At its core, a hit confirm answers one question before you spend resources: did my opener connect on the opponent's hurtbox? If yes, continue into the combo route. If no — blocked, whiffed, or absorbed by armor — stop or switch to a safe option.

Hit confirms are not the same as:

  • Target combos — the game auto-advances on hit (e.g. light → medium chains). The player still confirms visually, but the engine gates the next hit.
  • Frame traps — baiting a button after a blocked string; the “confirm” is whether they pressed, not whether your opener hit.
  • Whiff punishes — reacting to a missed move in recovery; see our whiff punish guide.
  • Counter-hit routes — bonus properties when the opponent is mid-startup; confirms can use counter-hit windows but are broader.

Good confirm design makes the safe option the default and the reward option the deliberate choice. Bad confirm design either autopilots combos (no skill) or makes confirms frame-perfect only experts can land (no accessibility).

Confirm taxonomy: single-hit, delayed, rekkas, and blockstring confirms

Single-hit confirms

The classic pattern: jab or short poke on hit → special or heavy. The opener is fast (4–6 startup frames), plus or neutral on block, and leaves enough hitstun to link the follow-up. Example: crouching light kick (+4 on hit) → fireball (5 startup) links because 4 > 5 − 1 frame of execution slack.

Multi-hit auto confirms

Two or three rapid lights that only continue if the first hits. The early hits are so fast that human reaction between them is impossible — the confirm is whether you pressed the sequence at all. Street Fighter-style target combos often work this way: the engine checks hit contact before spawning hit 2 and hit 3.

Delayed confirms

Opener → brief pause → follow-up. The pause gives the player time to see block spark vs hit spark. Common in anime fighters and tag games where hitstop and effects are exaggerated. The delay must fit inside hitstun; if the pause is too long, the opponent recovers and can mash out.

Rekka-style confirms

Multi-stage specials where each stage requires a new input and only advances on hit. Third strike whiffs if the second was blocked. Rekkas teach confirms incrementally — each stage is a mini decision.

Blockstring confirms

During blockstring pressure, a staggered normal (e.g. standing medium) may be plus enough to jail the opponent but slow enough that you can stop if you see block. If it counter-hits because they pressed a button, a different route opens. Blockstring confirms blur the line between pressure and hit confirm — the feedback is block spark vs hit spark at close range.

Frame math: what makes a confirm possible

A manual confirm requires the follow-up to reach active frames before the opponent leaves hitstun. The inequality:

Opener hitstun ≥ follow-up startup + execution frames − 1

Execution frames account for human input delay (often 1–3 frames depending on input buffer settings). Designers usually budget 2–4 frames of slack for intermediates and 1–2 for experts on tight confirms.

On block, the opener should be safe or only mildly punishable: minus 3 to minus 6 on block is typical for confirm starters. If the follow-up always executes regardless of hit/block, a blocked opener into slow special becomes a free punish for the defender — the failure mode Harbor Brawl shipped with.

Hitstop extends the visual confirm window without adding hitstun in some engines; in others, hitstop is part of hitstun. Document which model your game uses so designers do not accidentally make confirms impossible or trivial.

Feedback design: how players know they hit

Confirms fail when players cannot distinguish hit from block in time. Layer these cues:

  • Hitstop asymmetry — longer freeze on hit than on block sells contact. Pair with our hitstop guide.
  • Spark color and position — blue block spark vs orange hit spark, offset from the defender's body.
  • Sound design — distinct block thud vs hit flesh/armor crack; pitch shift on counter-hit.
  • Screen shake and sprite flash — subtle on light confirms, stronger on heavies; avoid seizure-range flashing on rapid lights.
  • HUD elements — combo counter increment on hit only; optional training-mode hit confirm success marker.

Online rollback adds latency: confirms that work offline at 2 frames of slack may fail online at 4–6 frames of effective delay. Playtest confirms at target rollback frames (typically 2–4) before balancing damage around them.

Implementation: cancel routes and gating in the state machine

A practical confirm pipeline in your combat FSM:

  1. Opener enters active frames — collision test against hurtboxes.
  2. On hit — set confirm_window_open = true for N frames (often until hitstun minus follow-up startup).
  3. On block — set confirm_window_open = false; only allow special cancels marked safe_on_block or nothing.
  4. Follow-up input — if received while confirm_window_open and pass cancel table check, branch to combo route; else ignore or map to safe special.
  5. Whiff — opener completes recovery; no confirm window; player is punishable per recovery design.

Cancel tables list which moves can cancel into which on hit vs block vs whiff. Keep them data-driven (JSON or scriptable) so combat designers iterate without recompiling. For target combos, gate stage N+1 on last_hit_confirmed flag set during stage N active frames.

Input buffer helps confirms feel fair: buffer the follow-up input during opener startup so it fires on the first eligible frame after hit. Cap buffer at 3–5 frames to prevent pre-inputting during obvious block situations.

Case study: Harbor Brawl confirm refactor

Harbor Brawl v1 mapped light punch to a scripted three-hit chain ending in a super-cancellable special. Blocked first hit still played hits 2 and 3 because the chain was input-driven, not hit-driven. Ranked win rate for rushdown characters exceeded 58% not because confirms were strong but because unsafe autopilot pressure was unpunishable at intermediate skill.

v2 changes:

  1. Light chain stages 2 and 3 require hit_confirmed on stage 1 and 2.
  2. Special cancel from light only on hit; on block, light is −2 and returns to neutral.
  3. Hitstop on lights increased by 2 frames (hit only) for readability.
  4. Training mode added “confirm success” counter and block/hit spark toggle for colorblind presets.
  5. One character's rekka special gates each of three stages on hit confirm.

Average combo length in ranked fell 18%, but match satisfaction scores rose: defenders reported fewer “I blocked but still ate damage” moments. Rushdown win rate normalized to 51%. The design lesson: confirms trade spectacle for fairness and readable skill expression.

Technique decision table

Your situation Prefer Avoid
Neutral poke into special Single-hit confirm with 2+ frames slack Always-on special cancel on block
Casual accessibility Target combo with generous hit-only gating 1-frame link confirms on every character
High-level depth Manual confirms plus counter-hit routes Autopilot supers on any contact
Blockstring pressure Stagger confirms with frame trap backup Full blockstring into unsafe special every time
Online rollback Extra hitstop + buffered confirm windows Offline-only 1-frame confirm tuning
Rekka characters Per-stage hit gate with clear whiff recovery Infinite rekka on block via charge hold

Common pitfalls

  • Autopilot chains on block. The most common confirm failure; players feel cheated when blocking does not matter.
  • Invisible confirms. No hitstop or spark difference means only frame-perfect players can confirm — everyone else mashes.
  • Tight links without buffer. 1-frame confirms exclude online play and most of your audience.
  • Same route on hit and counter-hit. Missed opportunity; counter-hit confirms reward anti-mash play.
  • Ignoring whiff risk. Opener whiff must be punishable or confirms become zero-risk neutral.
  • Hitstop/hitstun confusion. Designers add hitstop thinking it extends link windows when your engine does not extend hitstun accordingly.
  • Armor blind spots. Confirm into super through absorb armor without a reaction test feels random; gate or super-armor break explicitly.

Production checklist

  • Document cancel tables separately for on-hit, on-block, and on-whiff.
  • Budget 2+ frames of confirm slack for intermediates on manual links.
  • Verify opener safety on block before pairing with slow follow-ups.
  • Layer hit vs block feedback: spark, sound, hitstop, combo counter.
  • Gate target combo stages on hit contact, not input alone.
  • Test confirms at target rollback latency (2–4 frames).
  • Provide colorblind-safe hit/block spark options.
  • Add training mode confirm success metrics.
  • Cap input buffer for confirm follow-ups at 3–5 frames.
  • Define rekka and multi-stage special hit gates per stage.
  • Pair blockstring staggers with frame trap backup routes.
  • Log confirm success rate in telemetry to spot tuning outliers.

Key takeaways

  • A hit confirm lets players commit to reward only after verifying the opener connected — it is the core skill bridge between neutral and combos.
  • Frame math, cancel tables, and input buffer together define whether confirms are possible, fair, and readable.
  • Feedback (hitstop, sparks, audio) is not polish — it is mechanics that make confirms learnable.
  • Autopilot chains on block destroy trust; hit-gated target combos preserve accessibility without sacrificing fairness.
  • Harbor Brawl normalized rushdown win rate by gating chain stages and special cancels on hit confirm.

Related reading