Guide
Game super armor and hyper armor systems explained
Harbor Brawl's grappler archetype shipped with a single flag:
ignore_hitstun on their forward heavy. Players mashed light
punches into it and watched their character freeze in hitstun while the
grappler walked through for a command grab. Defenders had no counter
except jumping — which lost to anti-air. Ranked data showed the
grappler winning 61% of close-range exchanges against zoners, not because
mixups were strong but because the armor flag was overloaded: it blocked
hitstun, ignored
chip damage
on block attempts, and never expired on multi-hit strings.
Super armor lets a move absorb one or more hits while continuing its animation — the attacker still takes damage but does not enter hitstun. Hyper armor (sometimes called super armor in other franchises, or poise in action RPGs) tolerates a higher threshold: multiple hits, a damage budget, or entire move phases. This is distinct from invincibility (hurtbox off) and from unblockable attacks that ignore guard. After Harbor split armor into typed tiers, added armor-break properties on select normals, and made throws always beat strike armor, through-pressure win rate fell from 61% to 38% while intentional armor trades became readable. This guide explains armor taxonomy, threshold math, interactions with throws and trades, the Harbor Brawl refactor, a technique decision table, pitfalls, and a production checklist.
Armor taxonomy: what each type does
Players and designers overload “armor.” Production code should separate flags so QA can reason about edge cases:
- Single-hit super armor — absorbs exactly one strike, then the move behaves normally. Common on armored reversals and EX specials.
- Multi-hit super armor — absorbs N hits or until a damage cap is exceeded. Used on slow command grabs and armor supers.
- Hyper armor / full super — entire move phase ignores hitstun; only throws, supers with armor-break, or cinematic grabs interrupt. Rare; usually meter-gated.
- Projectile armor — body passes through projectiles without flinching; may still take hitstun from strikes.
- Hitstun armor only — damage and blockstun still apply; only the flinch animation is suppressed. Subtle but important for feedback.
Poise in souls-likes is the same family: a hidden stamina bar depleted per hit until the character staggers. Fighting games usually expose armor as a visible property on specific move slots rather than a persistent meter, though some titles add permanent super armor stacks as a buff.
How armor resolution runs in the hit pipeline
On each frame where an attack's hitbox overlaps a hurtbox, the engine evaluates in order:
- Invincibility check — if defender iframes are active, no hit registers.
- Block check — if guarding and attack is blockable, apply blockstun and chip; armor on the attacker does not matter for the defender's state.
- Hit connect — apply damage, hitstun, and hit effects unless the attacker (not defender) has an active armor window on their current move.
- Armor decrement — reduce hit-count or damage budget; if exhausted, next hit applies full hitstun and may cancel the armored move.
- Priority overlay — some games let armor beat non-armor in trade resolution; others use symmetric trades regardless.
Critical implementation detail: armor applies to the character performing the move, not the move being hit. A defender blocking an armored overhead still takes chip if the attack is chip-enabled; armor does not mean unblockable.
Threshold models
| Model | Behavior | Design feel |
|---|---|---|
| Hit count | First N connected strikes ignored for hitstun | Predictable; light mash breaks armor |
| Damage sum | Accumulate raw damage until cap | Heavies break armor; lights do not |
| Move phase timer | Armor active frames 4–18 only | Readable startup vs recovery weakness |
| Binary per move | Entire animation armored or not | Simple but prone to all-or-nothing frustration |
Armor break, throws, and counterplay
Armor without counterplay creates degenerate rushdown. Standard counterplay kit:
- Throws — almost universally beat strike armor because grabs target the body, not the strike exchange. Document this explicitly in tutorials.
- Armor-break moves — a property flag
(
armor_break) on specific normals or specials that always stagger armored opponents and often grant counter-hit bonus. - Multi-hit strings — first hit procs armor, second hit interrupts if the armored move has single-hit tolerance.
- Spacing — armor moves are usually slow; whiff punish during recovery beats mindless forward armor.
- Meter supers — cinematic invulnerability or armor-break supers as expensive answers.
Chip lethal still threatens armored attackers who try to walk through blockstrings: if their move is not throw-invulnerable and chip damage applies on blocked hits, defenders can hold guard and let attrition win.
Harbor Brawl refactor: from one flag to typed armor
Harbor's fix replaced the monolithic ignore_hitstun with a
small state machine on each move:
armor_type: none | single | multi | hyperarmor_hits: 1–4orarmor_damage_caparmor_frames: [start, end]aligned to active framesthrow_immune: bool(true only on select supers)chip_on_block_armor: bool(default true)
The grappler's forward heavy became single-hit armor on frames
6–14 with 900 damage cap — one jab does not break it, but
a light string's second hit does. Two cast normals received
armor_break on their heavy variants. Tutorial strings now
label armored moves with a grey outline during startup so spectators and
new players read through-attacks. Post-patch, ranked grappler vs zoner
close-range win rate moved from 61% to 38%; average round length in those
matchups rose 12% because neutral re-entered before every scramble ended
in a grab.
Technique decision table
| Your situation | Prefer | Avoid |
|---|---|---|
| Grappler needs gap-closer identity | Single-hit armor on slow forward special | Hyper armor on every normal |
| Zoner vs rushdown balance | Armor-break heavy + throw beat armor | Permanent hyper armor without meter cost |
| Readable spectator sport | Visible armor VFX on startup frames | Hidden armor until hit connects |
| Rollback netcode | Deterministic armor decrement per hit ID | Frame-order-dependent armor drain |
| Action RPG poise | Damage-sum threshold with UI poise bar | Binary infinite poise on bosses |
| Teaching new players | Throws beat armor callout in dojo | Armor plus throw immunity on basics |
| Combo scaling concerns | Armor only on neutral tools, not combo fillers | Armored juggle loops without decay |
Common pitfalls
- Conflating armor with invincibility. Armor still takes damage and can lose to throws; iframes skip hit detection entirely.
- Armor that ignores chip. Defenders need block attrition as a passive answer.
- No armor-break tools in the roster. At least one universal or archetype-wide answer should exist.
- Throw immunity on standard armor moves. Reserve for supers with clear telegraph.
- Multi-hit armor vs single-button mash. Test whether one mashed jab or a two-hit string breaks armor; players will find the cheapest option.
- Silent armor. Without VFX or frame-data notes, losses feel random.
- Armor during entire match on buff. Stacking permanent armor destroys neutral identity.
- Rollback desync on armor counters. Log armor state in replay hashes for QA.
Production checklist
- Define armor types per move in data, not hard-coded character flags.
- Align armor active frames to visible body wind-up, not full animation.
- Specify hit-count vs damage-cap threshold per armored move.
- Ensure throws and command grabs beat strike armor unless explicitly immune.
- Add armor-break property to at least two roster-wide counter tools.
- Apply chip damage on blocked armored approaches when appropriate.
- Show armor startup VFX and include armor notation in movelist UI.
- Test multi-hit strings, mash, and trade scenarios in rollback sim.
- Log armor procs and breaks in telemetry for balance patches.
- Document armor frames in internal frame sheets alongside startup/active/recovery.
- Balance pass: no character should rely on armor for more than one neutral tool.
Key takeaways
- Super armor absorbs hits without flinching; hyper armor extends that tolerance across multiple hits or damage budgets.
- Armor is not invincibility, not unblockable, and should not default to throw immunity.
- Counterplay requires throws, armor-break moves, multi-hit strings, and spacing punishes.
- Harbor Brawl cut grappler through-pressure win rate from 61% to 38% by typing armor and exposing startup.
- Ship visible armor feedback and deterministic rollback rules or players will blame the netcode.
Related reading
- Trade clash and attack priority — simultaneous hits and priority tiers
- Chip damage and guard damage — block attrition and chip lethal
- Grab and throw systems — throws as armor counterplay
- Hitstun and blockstun — what armor suppresses