Guide
Game link, chain and target combo systems explained
Harbor Siege's closed beta surfaced a pattern in support tickets: players could land the first hit but “the combo just dropped.” On Rook, crouching light chained into standing medium on hit. On Vale, the same inputs required a true link — medium had to arrive inside light's hitstun window with no cancel assist. The training mode showed damage numbers but not why a follow-up failed: insufficient advantage, wrong gatling row, or a target-combo input that arrived one frame late. Combo confusion reports ran 41% of all balance feedback; average combo length in ranked sat at 2.8 hits despite designers tuning routes for five-hit routes.
The combo clarity patch shipped three changes: a unified gatling table notation in the movelist (chainable normals marked with arrows, frame links showing required slack in frames), +2 frames of hitstun on lights that were link-only borderline, and target-combo sequences that buffer the next input during hitstop. Combo confusion tickets fell 41%; average combo length rose to 4.2 hits with no damage buff. This guide explains links, chains, target combos, and gatling design, the frame math that gates manual links, how scaling interacts with routing, the Harbor Siege refactor, a technique decision table, pitfalls, and a production checklist — complementing hit confirm design, damage scaling, and frame data for the numbers behind every route.
Three ways normals connect into combos
Fighting games route damage through normals (and often specials) using three distinct connection models. Mixing them without clear player communication creates the Harbor Siege confusion pattern.
Links (frame advantage)
A link connects when the follow-up move reaches its active frames before the opponent recovers from hitstun. No cancel flag is involved — physics and timing only. Street Fighter-style games lean on links: crouching jab (+4) into standing strong (10 startup) works because 4 ≥ 10 − 1 frame of execution slack. Links reward execution and readable frame data; they punish sloppy timing with dropped combos.
Chains (gatlings / magic series)
A chain (or gatling) ignores frame advantage on paper: the engine allows normal B after normal A on hit because a lookup table says so. Guilty Gear and many anime fighters use chains: light → medium → heavy regardless of whether medium could link manually. Chains enable fast, accessible routes but need aggressive scaling or hitstun decay so lights cannot loop forever.
Target combos (input sequences)
A target combo is a scripted sequence triggered by a specific input string on hit: e.g. light → light → medium spawns a unique third animation if the first hit connected. Mortal Kombat and some modern control schemes use target combos heavily. The engine gates each stage — whiffed stage one means stage two never spawns. Target combos trade manual link timing for sequence memorization and clear movelist presentation.
A single character often uses all three: chains from lights, a manual link from heavy into special, and one target combo as a signature string. Document which model each route uses.
Frame math for manual links
Designers validate links with the same inequality hit confirm guides use:
Opener hitstun ≥ follow-up startup + execution frames − 1
Execution frames account for input delay, walk-forward links, and input buffer leniency. A one-frame link (hitstun exactly equals startup) is technically possible but practically expert-only; most production links leave 2–4 frames of slack for accessibility.
- Hitstun modifiers — counter-hit, crush counter, and combo-counter states may add hitstun; routes that work on counter-hit only should be tagged in data.
- Pushback — long strings push the opponent away; far-range links need more hitstun or shorter follow-up startup. Track pushback per hit.
- Hitstop — freeze frames extend the visual confirm window but do not always extend hitstun equally; keep hitstop and stun in sync unless you deliberately want deceptive confirms.
- Whiffed links — if the follow-up whiffs, the opponent may recover and punish; whiff recovery on failed links should be clearly worse than blocked chain enders.
Publish link slack in training mode: “+3 frame window” beats hiding raw hitstun behind a spreadsheet only dataminers read.
Gatling tables and magic series
A gatling table is a directed graph: each normal lists which normals it can chain into on hit (and sometimes on block for blockstrings). Design conventions:
- Magic series — any light chains to any medium chains to any heavy (within standing/crouching/air buckets). Simple to learn; requires steep per-hit scaling.
- Linear gatlings — LP → LK → MP only; prevents skip routes that blow up damage. Common in anime fighters with assist and super cancels.
- Branching gatlings — MP branches to HP or MK; enables route choice mid-combo for resets and side-switch.
- Block gatlings — separate on-block table for blockstrings; on-block chains that are plus enable jail; minus chains need stagger confirms.
Chain systems often forbid chaining from heavy to light (reverse gatling) to stop infinite loops. If you allow reverse chains in juggle state only, gate with a combo flag so ground neutral stays readable.
Harbor Siege standardized movelist arrows: solid arrow = chain, dashed arrow = frame link, bracketed number = target-combo stage. Support tickets dropped before any hitstun patch shipped — clarity first.
Target combo input windows and buffering
Target combos fail when players mash the sequence during startup instead of during hitstop. Production rules:
- Per-stage buffer — accept the next input from hitstop frame 1 through hitstun minus follow-up startup. Buffering during hitstop feels fair; buffering during whiffed startup creates phantom inputs.
- Strict vs lenient ordering — lenient modes may accept L M H within a time window; strict modes require sequential release. Document which mode ranked uses.
- Block gating — most target stages check hit contact; blocked stage one should not spawn stage two (rekka safety). Exception: some blockstring target routes are intentional high-risk pressure.
- Special cancel exit — target combo enders often cancel to special on the last hit only; wire cancel windows in the same table as special cancels.
Target combos shine in accessibility modes (Modern controls) where manual links are auto-assisted. Keep damage or scaling parity honest so tournament and accessibility routes do not fork balance.
Scaling, starters, and route economy
Connection type determines how much damage a route can carry:
- Chain starters — lights that chain freely need higher starter scaling penalties; otherwise LP → LP → special dominates.
- Link starters — heavies and counter-hit normals as combo openers justify lower scaling because they are harder to land.
- Target combo starters — often mid-speed, fixed damage per stage; tune total string damage against single-hit heavy tradeoffs.
- Route length caps — juggle limits and forced stand interact with chain length; ground chains may allow six hits while air gatlings cap at three.
When buffing a character, prefer gatling row additions over raw damage. A new MP → HP chain adds expression; +5 damage on MP flattens every route.
Harbor Siege refactor: from opaque tables to readable routes
Before the patch, gatling data lived in per-character JSON with inconsistent
naming (can_chain, magic_series, target_seq).
Three fixes shipped together:
- Unified schema — every normal exports
links[],chains[], andtarget_stages[]with shared enums; movelist UI renders one icon set. - Borderline link tuning — six character-specific light → medium links gained +2 hitstun or −1 follow-up startup where telemetry showed >30% drop rate in gold-tier players.
- Target buffer during hitstop — stage-two inputs accepted from hitstop start; late-stage whiff rate on signature strings fell 22%.
Ranked combo length rose 1.4 hits average; confusion reports fell 41%. No character exceeded target DPS bands because scaling tables were unchanged.
Technique decision table
| Technique | Best for | Weak when |
|---|---|---|
| Frame links only | Execution-heavy fighters, neutral footsies, clear skill ceiling | Accessibility goals, casual platforms, high input latency online |
| Full magic series chains | Fast pacing, anime roster, easy confirm into specials | Without steep scaling, leads to homogeneous light starters |
| Linear gatlings | Controlled route length, distinct per-normal identity | Players expect SF-style skip routes (LP straight to HP) |
| Target combos | Signature character strings, controller-friendly Modern mode | Hidden stage rules, block ambiguity, rekka safety bugs |
| Hybrid (chains + links) | Depth with accessibility; chains off lights, links off heavies | Movelist clarity burden — must label connection type |
| Cancel-only (no chains) | Old-school SF, special-heavy routes | Modern audience expecting LP → MP without links |
Common pitfalls
- Inconsistent chain rules per character — without movelist notation, players assume magic series globally.
- One-frame links in online ranked — rollback and input delay turn them into random drops; add slack or chain assist.
- Chains on block that are unsafe — LP → MP chain on block with gap creates unclear risk; separate on-block tables.
- Target combo mashing during startup — eats inputs and feels broken; buffer during hitstop only.
- Scaling not tied to connection type — chained lights into super without starter penalty breaks damage budgets.
- Air vs ground gatling drift — air LP chains to MP but ground LP does not; document air buckets explicitly.
- Training mode silence — showing “combo dropped” without link vs chain reason blocks player improvement.
Production checklist
- Define global enums for link, chain, and target-combo connection types.
- Build gatling tables per stance (stand/crouch/air) with on-hit and on-block rows.
- Validate every manual link with hitstun ≥ startup + slack; target 2+ frames slack for online.
- Apply starter scaling penalties to chain-opened routes.
- Gate target-combo stages on hit contact; block rekka-style block traps unless intentional.
- Buffer target inputs during hitstop; reject buffers during whiffed startup.
- Render connection type in movelist (chain arrow, link dash, target stage numbers).
- Log combo drop reasons in training telemetry (insufficient advantage, wrong gatling, late target input).
- Playtest routes at 2–4 frame input delay and on rollback netcode.
- Regression-test juggle and wall routes when gatling tables change.
Key takeaways
- Links demand frame advantage; chains use lookup tables; target combos gate scripted stages on hit — three different connection models that players must see labeled.
- Manual links need hitstun slack beyond bare startup math, especially for online play and accessibility modes.
- Gatling tables control route economy — magic series without scaling caps homogenizes every combo around light starters.
- Harbor Siege cut combo confusion reports 41% with unified movelist notation and hitstop buffering before any damage buff.
- Training mode should explain why a follow-up failed, not only that the combo dropped.
Related reading
- Hit confirm systems explained — single-hit and delayed confirms built on link timing
- Combo damage scaling explained — proration curves that keep chain routes in budget
- Special cancel systems explained — exiting gatlings and target enders into specials
- Frame data explained — startup, active, and recovery numbers behind every link