Guide

Game hard and soft knockdown systems explained

Harbor Brawl's combo designers kept asking the same question: “Why can I OTG sweep after this launcher but not after that one?” The answer was buried in per-move boolean flags with no shared vocabulary. Some heavies applied hard knockdown (full floor time, no OTG) while visually identical knockdowns allowed on-the-ground follow-ups. Attackers learned one oki route per character instead of per knockdown type; defenders could not predict whether a sweep would connect on wake. After a unified knockdown taxonomy — hard, soft, and forced-stand — with OTG rules tied to type instead of move ID, oki damage as a share of round damage rose from 14% to 29% and “random OTG” support tickets dropped 62%.

A knockdown type is not just animation flavor. It defines how long the defender stays down, whether the attacker can hit them with OTG (on-the-ground) moves before they stand, and how okizeme pressure layers on wake-up. Hard knockdowns reset neutral with a clean getup window; soft knockdowns extend combo routes and reward OTG reads; forced-stand knockdowns skip floor time entirely and hand advantage to whoever wins the standing scramble. This guide covers the taxonomy, OTG eligibility, juggle ender interactions, oki payoff tiers, the Harbor Brawl refactor, a technique decision table, pitfalls, and a production checklist.

Hard vs soft vs forced-stand: the core taxonomy

Most fighters use at least two knockdown classes. Names vary by franchise (HKD/SKD, blue/yellow, technical/spike) but the mechanical contract is consistent:

Type Floor time OTG allowed? Typical source Design role
Hard knockdown Full lie-down animation (often 25–45 frames) No — defender is invulnerable on ground or OTG-disabled Heavy enders, sweeps, throws, wall splats Combo endpoint; hands oki to attacker without extending damage
Soft knockdown Short slide or crumple (often 12–25 frames) Yes — OTG moves connect before stand Launchers, mid-combo drops, certain specials Extends combo routes; rewards OTG knowledge and spacing
Forced stand None — defender pops to feet immediately N/A — both characters standing Some command grabs, wall bounces, juggle limiters Caps combo length; creates reset or mixup at close range
Launch / air reset Defender airborne, not grounded Air OTG or juggle rules apply Launchers, bounce states See juggle guide; distinct from grounded knockdown

Document these types in your combat bible with frame counts, not just labels. A soft knockdown that lasts 18 frames behaves differently from one that lasts 8 frames even if both allow OTG. Pair knockdown duration with hitstun on the OTG hit so follow-up links remain possible or deliberately impossible.

OTG (on-the-ground) attack rules

OTG moves are attacks flagged to hit a grounded hurtbox during soft knockdown. Not every low attack is OTG-capable; the move must explicitly opt in. Common OTG design patterns:

  • OTG-only flag — move connects on grounded state only; whiffs if defender already stood. Cleanest for balance (sweeps, dive kicks).
  • OTG + standing — same hitbox works on ground and standing; simpler for players but harder to tune (risk of double-purpose oppressive lows).
  • OTG bounce — OTG hit relaunches defender into air juggle; ties grounded and air routes together.
  • OTG once per combo — prevents infinite sweep loops; common in tag fighters and anime fighters with long juggles.

Hard knockdown typically sets ground_invuln = true or otg_immune = true on the defender until the first wake-up frame. Soft knockdown clears those flags after a short vulnerable window (often frames 4–12 of the lie-down animation). Expose OTG windows in training mode alongside frame data so players learn which enders grant oki-only payoff vs full OTG extensions.

How knockdown type shapes okizeme payoff

Knockdown type determines what the attacker can do before the defender reaches wake-up options:

  • Hard knockdown oki — attacker has time to jump in for safe jump, dash meaty, or set projectile trap. No OTG damage during lie-down; payoff is entirely meaty and frame-trap pressure on rise.
  • Soft knockdown oki — attacker chooses OTG now (guaranteed damage if unread) or hold pressure for bigger wake mixup (risk defender techs or reverses). Creates a damage-now vs damage-later branch.
  • Forced-stand oki — no setup time; attacker must already be in position. Favors strike-throw at close range or immediate mixup. Often follows juggle limit hits.

Balance tip: assign hard knockdown to high-damage combo enders and soft knockdown to mid-damage drops. If every launcher hard-knocks, OTG moves become dead weight in movelists. If every ender soft-knocks, defense has no reset breathing room and round length balloons.

Implementation: knockdown state machine

A minimal production model attaches knockdown metadata at hit resolution:

enum KnockdownType { None, Hard, Soft, ForcedStand }

struct KnockdownEvent {
  KnockdownType type;
  int lie_down_frames;      // 0 for forced stand
  bool otg_vulnerable;      // true during soft lie-down window
  int otg_window_start;     // frame offset when OTG opens
  int otg_window_end;       // frame offset when OTG closes
  bool otg_used_this_combo; // per-combo OTG cap
}

// On hit that causes knockdown:
event.type = MOVE_TABLE[move.id].knockdown_type;
event.lie_down_frames = TYPE_TABLE[event.type].duration;
event.otg_vulnerable = (event.type == Soft);

// On OTG hit attempt:
if (!defender.otg_vulnerable || defender.otg_immune) reject_hit();
if (attacker.combo.otg_used && OTG_ONCE_PER_COMBO) reject_hit();
attacker.combo.otg_used = true;

Engineering details that cause live bugs:

  • Knockdown override stacking — if a move has both launch and knockdown properties, define priority (launch wins, or knockdown after juggle limit).
  • Simultaneous knockdown — trade into double knockdown needs type resolution per fighter independently.
  • OTG during blockstring — decide if OTG can hit a defender in blockstun knockdown (usually no; knockdown clears block).
  • Rollback determinism — lie-down frame counters must tick from fixed knockdown start, not animation blend length.

Harbor Brawl refactor: three types, one table

Pre-patch problems:

  1. 47 moves had hand-authored canOTG flags unrelated to knockdown animation — balance patches broke silently.
  2. Hard knockdown duration varied 22–51 frames with no design rule.
  3. Training mode showed knockdown but not type or OTG window.

The refactor standardized:

  • Hard: 32-frame lie-down, OTG immune, blue floor VFX.
  • Soft: 16-frame lie-down, OTG frames 6–14, yellow floor VFX.
  • Forced stand: 8-frame pop-up animation, white flash, no OTG.
  • Every move's knockdown type set in the move spreadsheet column kd_type; engine derives OTG from type, not per-move override.
  • One OTG per combo globally; second OTG attempt whiffs with distinct SFX.
  • Training overlay: shaded bar for OTG window, icon for knockdown type on hit.

Sweeps and throw enders moved to hard; launcher second hits moved to soft. Average combo length held steady (5.1 hits) while oki-phase damage rose because attackers could finally plan routes around type instead of memorizing exceptions.

Technique decision table

Goal Prefer knockdown typing Prefer alternative
Reward long combo lab without infinite loops Soft knockdown + one OTG per combo cap Juggle timer only (no grounded OTG)
Clean neutral reset after big hit Hard knockdown on sweep/throw enders Forced stand with pushback
Cap combo damage at juggle limit Forced stand on limit break Hard knockdown with long rise
Simple casual fighter Single hard knockdown type only No knockdown — crumple stun only
Grappler throw payoff Hard knockdown with corner carry Soft knockdown into OTG tick throw (high complexity)
Teachable competitive depth Two types + training mode OTG overlay Per-move OTG flags without taxonomy (hard to learn)

Common pitfalls

  • Invisible knockdown types. Same lie-down animation for hard and soft with different OTG rules feels like a bug. Use distinct VFX or training labels.
  • Soft knockdown on every combo ender. OTG routes dominate; hard knockdown enders become unused.
  • OTG window shorter than move startup. OTG sweeps with 14-frame startup cannot hit a 12-frame soft window — math the windows before ship.
  • Hard knockdown with no oki payoff. 50-frame lie-down where attacker cannot reach in time wastes design — tune duration to character movement speed.
  • Forced stand into immediate mixup with no escape. Pop-up into overhead with no frame gap is oppressive; leave 2–4 frame gap or pushback.
  • OTG damage ignoring combo scaling. OTG hits should respect proration or they become the highest-damage route in every string.

Production checklist

  • Define hard, soft, and forced-stand types with frame durations in the combat spec.
  • Derive OTG eligibility from knockdown type, not per-move ad hoc flags.
  • Set OTG window start/end frames and verify against OTG move startup data.
  • Cap OTG uses per combo if infinite sweep loops are possible.
  • Assign hard knockdown to high-payoff neutral enders; soft to mid-combo drops.
  • Match lie-down duration to attacker movement so oki is physically reachable.
  • Apply combo damage scaling to OTG hits.
  • Add distinct VFX per knockdown type and OTG success/fail feedback.
  • Expose knockdown type and OTG window in training mode and replays.
  • Test trade knockdowns, OTG during tech, and juggle-limit forced stand.
  • Validate knockdown frame counters under rollback netcode.
  • Publish knockdown type per move in public frame data.

Key takeaways

  • Hard knockdown ends combos and funds okizeme; soft knockdown opens OTG extensions; forced stand skips floor time entirely.
  • OTG eligibility should derive from knockdown type with documented frame windows, not scattered per-move booleans.
  • Harbor Brawl's unified taxonomy cut “random OTG” complaints by making knockdown payoff readable and plan-able.
  • Balance requires hard enders for neutral resets and soft drops for lab depth — not one type for everything.
  • Knockdown typing connects directly to wake-up, okizeme, and juggle systems; document all three together.

Related reading