Guide
Game reflect and parry systems explained
Harbor Siege's ranged duel mode had a problem: mages could fire homing orbs on a 1.2-second cooldown while defenders only had a hold-block that chipped 12% health per hit. Skilled players learned to walk backward and absorb damage; duels became 90-second chip wars with no comeback path. The refactor added a dedicated reflect input with a 6-frame active window (100 ms at 60 fps) that, on success, flipped projectile ownership, doubled travel speed, and granted a brief counter-hit damage bonus on the return hit. Ranged win rate for attackers dropped from 68% to 51%; average duel length fell to 34 seconds. Players described defense as “reading the release” instead of “eating damage.”
A reflect and parry system is distinct from ordinary block and parry: instead of merely negating or mitigating an attack, it reverses the threat — sending a projectile back at the shooter, redirecting a melee swing into a whiff punish, or spawning a retaliatory hitbox owned by the defender. Reflect mechanics create high-skill, high-reward defensive reads that punish predictable offense and give underdog players a comeback vector. This guide covers reflect taxonomy (projectile vs melee vs energy), timing and coverage rules, ownership transfer and team-damage policy, multi-hit and beam edge cases, interaction with frame data and projectile pipelines, the Harbor Siege duel refactor, a technique decision table versus flat block, pitfalls, and a production checklist.
Reflect taxonomy
Not every “parry” reflects. Classify your defensive reversal by what changes on success:
Projectile reflect (deflect)
The incoming
projectile
entity changes owner_id, team, and often
velocity or target. The original attacker becomes the
new victim. Variants include:
- Mirror return — projectile travels back along its inbound vector (classic fighting-game reflect).
- Homing retarget — deflected shot seeks the original shooter or nearest enemy.
- Angle redirect — player aims the return (e.g. billiard deflect in twin-stick shooters).
- Absorb and release — store up to N projectiles, fire on button release (charged reflect).
Melee attack reversal
On a successful melee parry, the attacker's swing is interrupted and the defender gains a guaranteed riposte window — functionally a reflect of pressure rather than a physical object. Soulslike perfect parries and fighting-game focus attacks that crush through strikes fall here. The “returned damage” is a new hitbox spawned by the defender, not the attacker's animation playing backward.
Energy and beam reflect
Continuous beams and channeled lasers need different rules: sample reflect windows per frame, cap total reflected damage per channel, or convert a beam segment into a brief pulse owned by the defender. Without caps, two players reflecting each other can oscillate forever.
Area reflect (barriers and fields)
Deployable shields that reflect everything crossing a plane — useful in MOBAs and hero shooters. Tune duration, arc coverage, and whether reflected shots keep upgraded properties (headshot multipliers, status effects).
Timing windows and coverage
Reflect is almost always a timed input, narrower than hold-block:
- Active frames — typically 3–8 frames at 60 fps for projectile reflects; melee perfect parries often 2–5 frames centered on impact.
- Startup and recovery — failed reflects must punish whiffs; 15–25 frames of recovery is common in fighters, longer in action RPGs where one mistake is lethal.
- Coverage arc — frontal cone vs omnidirectional bubble; omnidirectional is stronger and needs longer recovery or stamina cost.
- Attack-type filters — define which
attack_tagvalues are reflectable:projectile,melee,grab(usually not),unblockable(usually not),super(sometimes at reduced return damage). - Multi-hit policy — first hit only, every hit in a string, or once per string; document clearly to avoid feel bugs.
Telegraph enemy reflectable attacks with distinct VFX or audio cues so players learn what to attempt — not every attack in a kit should be reversible.
Ownership transfer and damage policy
When a projectile reflects, decide these fields explicitly in your combat schema:
- Owner and team — swap
instigatorto the defender; friendly fire rules determine whether allies can be hit. - Damage scaling — return at 100%, 150%, or fixed bonus; over-tuning creates one-shot reflect metas.
- Status effects — does poison on the original shot transfer? Common pattern: reflect deals base damage only, strips debuffs.
- Counter-hit flag — link to your counter-attack pipeline for bonus damage or stagger.
- Priority vs armor — reflected hits may need to ignore hyper armor on the original attacker to feel rewarding.
- Network authority — server validates reflect window against attacker's confirmed hit frame; never trust client-only timestamps in PvP.
Harbor Siege refactor (worked example)
Harbor Siege's mage kit fired Orb_L (slow, reflectable) and
Orb_H (fast, non-reflectable finisher). Before the refactor, block
was the only defense. Changes shipped:
- Reflect input — 6 active frames, 22-frame recovery on whiff, 8-frame advantage on success into riposte light attack.
- Ownership flip — reflected
Orb_Lretargets shooter with 2.0x speed and defender's base damage stat. - Once-per-string rule — multi-orb strings reflect at most one orb per cast; prevents infinite ping-pong.
- Visual tell — reflectable orbs use a cyan core VFX;
Orb_Huses orange core (must block or dodge). - Stamina hook — failed reflect costs double stamina versus failed block, nudging players to identify orb type before pressing.
Attacker win rate normalized; playtesters reported mages had to mix feints and melee approaches instead of orb zoning alone.
Technique decision table
| Approach | Best for | Weak when |
|---|---|---|
| Projectile-only reflect | Hero shooters, mage duels, bullet-hell defense | Melee-heavy encounters; feels useless without ranged threats |
| Melee perfect parry riposte | Soulslike duels, boss learning curves | High latency PvP; narrow windows frustrate casual players |
| Absorb-and-release charge reflect | Boss fights with telegraphed volleys, skill showcases | Fast combat; charge time never completes |
| Deployable reflect barrier | MOBA abilities, team zoning | Solo modes; can stall matches if duration is long |
| Flat hold-block (no reflect) | Accessibility, beginner-friendly co-op | Ranged chip metas; no comeback for defenders |
| Harbor-style typed reflect + tells | Mixed melee/ranged PvP with readable kits | Requires disciplined attack tagging and VFX budget |
Common pitfalls
- Reflecting every attack type — removes offensive identity; keep unblockables and grabs outside the reflect filter.
- Infinite ping-pong loops — two players reflecting the same entity forever; cap bounces or apply once-per-cast rules.
- No whiff punishment — spammable reflect with short recovery dominates; attackers never commit.
- Identical VFX on reflectable and non-reflectable — players cannot learn reads; always differentiate tells.
- Client-authoritative reflect in PvP — exploit city; server must reconcile hit frames.
- Returning debuffs to allies — accidental team-wipe from a reflected poison cloud; strip or retarget AoE carefully.
- Reflect stronger than attacking — metagame inverts; nobody shoots first.
- Ignoring multi-hit strings — reflecting hit 3 of 5 without policy feels random; document per-string rules.
Production checklist
- Tag every attack with reflectability flags (
projectile,unblockable, etc.). - Define active frames, recovery on whiff, and advantage on success in frame data sheets.
- Implement ownership transfer fields: instigator, team, damage scale, status strip policy.
- Add distinct VFX/audio tells for reflectable vs non-reflectable threats.
- Cap projectile bounce count or apply once-per-cast reflect limits.
- Wire successful reflects into counter-hit and stagger pipelines where appropriate.
- Server-validate reflect windows in multiplayer; log desync cases.
- Test beam and channeled attacks for oscillation and damage-cap edge cases.
- Balance stamina or meter cost so failed reflects punish mashing.
- Playtest attacker win rate before and after reflect introduction.
- Document multi-hit reflect policy per combo string in design wiki.
- Include reflect scenarios in tutorial or training mode with slow-motion replay.
Key takeaways
- Reflect systems reverse threats instead of only mitigating them — they turn defense into a high-skill offensive read.
- Projectile deflect, melee riposte, beam sampling, and deployable barriers are distinct subsystems with different caps and tells.
- Harbor Siege normalized ranged duels by typing reflectable orbs, flipping ownership on success, and punishing whiffed reflects with long recovery.
- Ownership transfer, damage scaling, and friendly-fire policy must be explicit in your combat schema — ambiguous rules create exploits.
- Pair reflect design with parry-block fundamentals, projectile pipelines, and counter-attack rewards for a coherent defensive toolkit.
Related reading
- Game parry and block systems explained — hold guard, chip damage, and guard break
- Game projectile systems explained — spawn, travel, hit detection, and pooling
- Game counter-attack systems explained — counter-hits, whiff punishes, and frame traps
- Game frame data explained — startup, active, recovery, and advantage frames