Guide
Game air-to-air combat systems explained
Harbor Brawl's ranked ladder hit a wall in season three: jump-in approaches were finally answerable on the ground after the anti-air refactor, but high-level matches devolved into mutual jump-camping. Both players hovered at jump apex, threw out ambiguous air normals, and whoever lost the trade ate a full launcher into a corner carry. Telemetry showed 41% of neutral rounds spent more than two seconds with both fighters airborne. The combat team rebuilt its air-to-air (A2A) layer: height-banded hitboxes, explicit trade tables, and air-reset routes that return losers to grounded neutral instead of guaranteed juggles. Aerial stalemate rate fell from 41% to 19%; intentional A2A reads in spectator clips rose 28%.
Air-to-air is the subsystem that governs fights where both players are off the ground. It is not the same as anti-air (grounded defense vs jump-ins) or pure juggle logic (combo routes after a launch). A2A covers jump neutral, meeting approaches in the air, trading at apex, and deciding whether a winning air hit opens a full combo or only a positional reset. This guide covers aerial phase taxonomy, hitbox height bands, trade priority versus ground priority, air-reset and re-entry rules, double-jump air wars, the Harbor Brawl refactor, a technique decision table, pitfalls, and a production checklist.
Air-to-air versus anti-air: two layers of aerial play
Designers often ship strong anti-air tools and assume aerial neutral is solved. In practice, players respond by jumping earlier, meeting opponents in the air, or double-jumping to change height. Anti-air answers incoming jump attacks from a grounded defender; A2A answers mutual airborne offense.
- Anti-air — grounded normals, invincible reversals, and low-angle projectiles that clip ascent or descent phases of a single jumper.
- Air-to-air — jump normals, air specials, and air throws that contest another airborne hurtbox at overlapping heights.
- Air reset — a winning A2A hit that pops the loser down without launching into a juggle state (sometimes called “air reset” or “air tech” knockdown).
- Air-to-ground finish — a winning A2A that transitions into a grounded combo via spike, slam, or landing confirm.
If A2A is undertuned, jump neutral becomes a staring contest: whoever commits second wins. If overtuned, every jump-in becomes a death sentence. The goal is a readable triangle: beat grounded AA with spacing, beat passive air camping with fast fall approaches, beat reckless air buttons with superior height or priority.
Jump arc phases and where A2A actually happens
A2A hitboxes only matter when they overlap in space and time. Map each character's jump arc into phases; most exchanges cluster in three bands:
Ascent (pre-apex)
Rising hurtboxes are vulnerable to low-angle anti-air but can also meet early jump-ins with rising air normals (“uppercut in the air”). Startup matters enormously: a slow jump attack loses to a fast rising knee even if the slower move has better peak height later.
Apex (peak hover)
At apex, horizontal speed often drops and gravity still applies. Many games give a few frames of aerial drift here — the classic “air neutral” where both players jockey for height. Horizontal air buttons and backward-facing air normals dominate; empty jumps and double jumps condition opponents.
Descent (landing trajectory)
Falling attacks (down-air, jump-down kick) beat opponents who stayed at apex. Fast-fall inputs shorten this phase and enable crossups. Landing lag after a whiffed air button is a primary punish window for grounded players who avoided the A2A.
Document each aerial move with: active frames, hurtbox height min/max, whether it hits above or beside the user, and landing recovery. A move that only hits at apex will never answer a shallow jump-in during ascent.
Hitbox height bands and approach vectors
Effective A2A design sorts moves into height bands rather than treating “air normal” as one category:
| Band | Typical moves | Beats | Loses to |
|---|---|---|---|
| Low air (shallow) | Jump-forward kick, air chain starter | High campers, slow ascent | Rising AA, upper air swipes |
| Mid air (torso) | Horizontal jab, air sword slash | Same-height trades, approach drift | Above/below disjoint hits |
| High air (overhead) | Jump-up attack, vertical special | Low approaches, passive fall | Fast fall down-airs, timed AA |
| Deep (below user) | Down-air, air-to-ground spike | Apex hover, float states | Rising mid-air, crossunder |
Approach vector adds a second axis: jump-forward vs neutral jump vs backward jump changes which band intersects first. Harbor Brawl tagged every aerial hitbox with band labels in the editor so designers could see coverage gaps (“this character has mid band but no deep answer”) before shipping.
Trade priority in the air
Grounded priority tables do not always port cleanly to air. Common A2A resolution models:
- Same as ground — light/medium/heavy tiers apply in air; simplest but can feel arbitrary when hurtboxes differ in height.
- Height advantage — the higher hurtbox center wins trades; rewards apex control; risks float-y jump camping if uncapped.
- Move class priority — dedicated “air throw” or “air launcher” beats generic air jab regardless of strength.
- Always trade — both take reduced damage; common in platform fighters; reduces swing but needs clear VFX.
Harbor Brawl adopted class priority with height tiebreak: air launchers beat air jabs; equal class trades unless one attacker is a full band higher, in which case win-out applies. Trade damage uses 70% scaling so repeated air mashing does not snowball. Invincible air reversals sit outside the table and beat non-invuln air buttons on overlap.
Air reset, re-entry, and juggle gates
The highest-leverage A2A knob is what happens after a hit. Three outcomes:
- Full launch — loser enters juggle state; winner confirms into combo route. High reward; makes losing A2A very costly.
- Air reset — loser pops to a techable airborne state or soft knockdown at neutral height; winner gets minor advantage but not a full combo. Stabilizes jump neutral.
- Spike / air-to-ground — loser is sent downward into grounded hitstun; enables oki without aerial juggle scaling.
Gate launchers behind counter-hit, resource spend, or height advantage so every air button is not a lottery ticket. Harbor Brawl limited full launch on raw A2A to counter-hit or air launcher class moves; standard air jabs cause air reset unless the loser was already in hitstun. Accidental full-combo punishes from neutral jumps dropped 53%.
Re-entry rules matter for doubles: if both players land simultaneously after an air reset, define throw-tech priority and who retains corner advantage. Ambiguous landings are a top source of “unfair” clips in spectator modes.
Double jumps, air dashes, and air wars
Mobility tools multiply A2A depth. A double jump changes height band mid-exchange; an air dash crosses up or retreats from bad trades. Design checklist:
- Does the mobility tool have startup vulnerable to preemptive air buttons?
- Is there a resource or cooldown so infinite air camping is impossible?
- Can grounded players call out stall with time limits, gravity bolts, or anti-air that reaches double-jump height?
- After air dash attack, is landing recovery punishable on block or whiff?
Empty jumps and short hops blur ground and air neutral: the A2A system must define whether a player still in jump startup counts as airborne for trade resolution. Harbor Brawl treats jump startup frames 1–4 as ground for AA but airborne for simultaneous jump clashes — documented in the tutorial movelist.
Harbor Brawl aerial refactor
Problem: strong grounded AA pushed players into mutual jump neutral, but A2A tools were inconsistent — some characters had launch-on-any-air-hit while others only traded, and height overlap was untested.
Changes shipped in three passes:
- Hitbox audit — every aerial move tagged with height band; gaps filled (e.g., mid-band sword slash for the zoning archetype).
- Resolution table — class priority + height tiebreak; 70% trade damage; invuln reversals documented per character.
- Outcome gating — raw air jab → air reset; counter-hit or launcher class → full juggle entry; down-air spike → grounded oki.
Results after two weeks of ranked play: aerial stalemate time 41% → 19%; average round length unchanged; spectator “air coin flip” complaints down 44%. Grounded AA still mattered — players could not ignore anti-air by jumping — but losing an A2A no longer meant automatic round loss.
Technique decision table
| Approach | Strength | Weakness | Best when |
|---|---|---|---|
| Ground-only AA tuning | Simple; clear grounded neutral | Jump camping stalemates | Ground-heavy, footsies-first titles |
| Full launch on any A2A hit | High drama; rewards reads | Volatile; discourages jumping | Arcade-style high-damage fighters |
| Air reset default | Stable jump neutral; lower swing | Less combo creativity from jumps | Ranked-focused balanced fighters |
| Height-band priority | Readable apex control | Requires careful hitbox tooling | Games with strong vertical movement |
| Platform-fighter trade model | Forgiving; good for parties | Less move identity in air | Crossover platform brawlers |
Common pitfalls
- One air button per character — no band coverage; jump neutral becomes solved once players learn the single answer.
- Launch on every air hit — players never jump; aerial content goes unused.
- Ignoring landing recovery — A2A winners should risk whiff punish on landing; otherwise air camping has no grounded counter.
- Undocumented startup phase rules — ground vs air state during jump startup must be explicit for netcode and tutorials.
- Same trade rules as ground without testing — height disjoints break light-beats-heavy assumptions.
- No spectator clarity — if trades look random, add distinct VFX and movelist notes for air priority class.
- Double-jump infinite stall — cap air time or provide grounded answers that reach top band.
- Skipping crossup air cases — facing flip mid-air changes which hurtbox overlaps; test crossup routes in A2A suites.
Production checklist
- Map jump arcs per character; mark ascent, apex, and descent frame ranges.
- Tag every aerial hitbox with height band and approach vector (forward/neutral/back).
- Publish A2A priority table (class, height tiebreak, trade damage scale).
- Define post-hit outcomes: launch vs air reset vs spike; gate launch behind CH or resource.
- Specify jump-startup ground/air state for clash and AA resolution.
- Test double-jump and air-dash stall limits; add gravity or grounded threats if needed.
- Verify landing recovery on block, whiff, and trade for every air move.
- Run mirror-match A2A regression suites at ranked latency settings.
- Expose band and priority class in movelist or training mode overlay.
- Telemetry: track airborne time %, A2A trade rate, and post-A2A combo rate.
- Balance pass after AA changes — buffing grounded AA shifts players into air wars.
Key takeaways
- Air-to-air governs mutual airborne fights; anti-air only covers grounded defense against jump-ins.
- Height bands and jump arc phases determine which moves can realistically meet.
- Trade priority in air often needs class rules and height tiebreaks, not a copy of ground tables.
- Air reset versus full launch is the main lever for how punishing jump neutral feels.
- Harbor Brawl cut aerial stalemate time from 41% to 19% with band tags, a resolution table, and launch gating.
- Document jump-startup state and landing recovery or netcode and players will call trades “random.”
Related reading
- Anti-air systems explained — grounded answers to jump approaches
- Jump arc and gravity systems explained — ascent, apex, and descent physics
- Attack priority and trading systems explained — simultaneous hit resolution
- Launcher attack systems explained — juggle entry after winning A2A