Guide

Game wall bounce systems explained

Harbor Siege's duel arenas shipped with decorative stone walls — collision boxes that stopped movement and nothing else. Skilled players learned to fight in the center third of every stage because pinning an opponent against geometry offered no advantage. Corner pressure was cosmetic. After the combat team added explicit wall bounce tiers, wall splat stick states, and a per-combo bounce budget, average combo length in corner situations rose from 3.1 to 7.4 hits and players began deliberately routing opponents toward walls. Stage-side choice mattered again.

A wall bounce system defines what happens when a hurt body or projectile intersects stage boundaries: reflect velocity, stick in hitstun, splat for extended punish, or break into a reset. It transforms flat collision into a combat resource tied to knockback impulse, juggle rules, and arena layout. Without deliberate bounce design, walls are either invisible barriers or accidental combo extenders that break balance. This guide covers bounce-state taxonomy, velocity and angle math, corner carry and splat FSMs, integration with air combos and OTG, infinite-prevention policies, the Harbor Siege arena refactor, a technique decision table versus knockback-only combat, pitfalls, and a production checklist.

Why walls should be combat systems, not scenery

Stage geometry shapes player decisions. In fighters and brawlers, horizontal space is a resource: push toward a corner to limit escape options, then exploit reduced movement to land confirms. When walls only block translation, optimal play ignores them — every duel looks the same regardless of arena width.

Wall bounce systems create three design levers:

  • Combo extension — reflect velocity back toward the attacker for extra juggle time or wall-bounce-specific routes.
  • Positional pressure — splat or stick states punish corner trapping without requiring a separate grab animation.
  • Stage identity — breakable walls, uneven surfaces, or bounce-dampening materials differentiate arenas mechanically, not cosmetically.

The goal is not maximum corner damage on every hit. It is predictable geometry that rewards deliberate routing and reads frame data can exploit.

Wall interaction taxonomy

Mature games expose several distinct wall states. Document which attacks trigger which state and whether corners use different rules than flat walls.

1. Elastic bounce

The body reflects off the surface with retained horizontal velocity (often 70–95% depending on attack tier). Common in arena fighters and hack-and-slash juggles. Bounce angle typically mirrors incidence angle unless the attack specifies a fixed exit vector. Pair with juggle decay so each bounce shortens remaining air time.

2. Wall splat (stick)

On qualifying hits near a wall, the defender enters a stuck state: zero velocity, extended hitstun, facing away from the surface. The attacker gets a grounded or aerial confirm window before splat decays into a slump or tech opportunity. Splat is the primary tool for mixup pressure in corners without command grabs.

3. Wall carry

Instead of bouncing, the victim slides along the wall surface while remaining in hitstun — seen in tag fighters and some anime brawlers. Carry preserves horizontal momentum from the attack that caused contact, enabling corner-to-corner routes on wide stages.

4. Wall break

After accumulated wall damage or a specific finisher, the defender breaks through (or the wall shatters), resetting position to mid-screen. Acts as a combo limiter and spectacle beat. Track wall HP or a per-round break counter to prevent infinite corner loops.

5. Floor and ceiling bounces

Same pipeline as wall bounces but with different gravity modifiers. Floor OTG bounces extend grounded juggles; ceiling bounces cap air time in vertical arenas. Share one bounce resolver with axis-specific coefficients.

6. No interaction (dead wall)

Explicit choice for competitive fairness or outer-ring hazards. Document dead walls in design specs so level art does not accidentally enable bounce on decorative props.

The bounce resolution pipeline

Implement wall response as a ordered pipeline evaluated on hurtbox–boundary contact:

  1. Eligibility gate — is the victim in a hittable state (hitstun, knockdown, launch)? Are bounce flags enabled on the attack that caused contact?
  2. Surface query — which wall normal, corner proximity (within N units of two surfaces), and material type (stone, glass, bounce pad).
  3. State selection — map attack wall_reaction tag + victim state to bounce, splat, carry, or ignore.
  4. Velocity transform — reflect or zero velocity; apply retention multiplier; clamp exit speed to prevent physics explosions.
  5. Timer assignment — splat duration, bounce juggle extension, wall-break accumulation.
  6. Budget decrement — per-combo bounce count; at zero, force knockdown or wall break.

Log the chosen state in combat telemetry. Teams that only log “wall collision” cannot tune splat duration or diagnose corner infinite reports.

Velocity, angle, and corner math

Naive velocity.x *= -1 reflection feels wrong on slopes and corners. Production implementations use the wall normal n and reflect velocity v as v' = v - 2(v·n)n, then multiply by retention factor r. For 2D fighters, lock n to axis-aligned unit vectors unless you support sloped arenas.

Corner cases matter:

  • Corner pin — when within epsilon of two walls, prefer splat over double-bounce to avoid velocity ping-pong.
  • Minimum bounce speed — if reflected speed falls below threshold, transition to splat or knockdown instead of a weak dribble.
  • Attacker-side clamp — cap how far a bounce can send the victim back toward mid-screen to prevent accidental cross-ups.
  • Projectile bounce — separate rules for reflectable fireballs vs body hits; do not reuse hurtbox retention on projectiles without testing.

Integrating with juggle and combo systems

Wall bounces sit inside the broader combo graph:

  • Bounce as juggle extension — each wall touch adds a small hitstun bonus but consumes one bounce budget point; pairs with air hitstun decay from juggle guides.
  • Splat confirms — wall splat is a node: entry from launcher + near-wall hit; exit to slump, tech, or wake-up after timer.
  • OTG after floor bounce — some games allow off-the-ground hits when a juggle ends with a floor bounce near the attacker; gate with one OTG per bounce cycle.
  • Damage scaling — apply extra scaling per bounce (e.g. 90% per wall touch) so corner routes reward skill without dominating damage totals.

Route designers need a bounce legality matrix: which launchers enable splat, which aerials connect after elastic bounce, and which finishers trigger wall break.

Infinite prevention and fairness

Unbounded wall loops destroy PvP trust. Standard guardrails:

  • Per-combo bounce cap — typically 2–4 wall touches before forced knockdown.
  • Wall splat decay — splat duration shortens on repeat splats in the same combo.
  • Wall HP / break meter — visible or hidden; resets on knockdown or round end.
  • Gravity escalation — each bounce increases downward gravity until the victim lands.
  • Enemy-specific immunity — bosses may splat once per phase; grunts may bounce freely for spectacle in PvE.

Test corner routes in automated harnesses: launcher → carry → bounce → bounce → splat → confirm. Assert damage and hit count stay within design bounds.

Harbor Siege arena refactor (worked example)

Harbor Siege's duel mode used uniform axis-aligned bounds. The refactor added:

  • A WallReactionComponent on hurtboxes with tags: none, elastic, splat_light, splat_heavy, carry.
  • Corner splint zones — 24px from each corner; dual-surface contact forces splat instead of elastic bounce to kill ping-pong.
  • Bounce budget = 3 per combo; fourth wall touch triggers slump knockdown with tech window.
  • Material table — wooden practice walls use 85% retention; stone tournament walls use 70%; hazard walls apply splat on any launcher hit.
  • Telemetry — log wall state transitions per match for balance patches.

Corner combo damage rose 34% while mid-screen length stayed flat — evidence that players engaged geometry deliberately rather than receiving free damage everywhere.

Technique decision table

Approach Best for Weak when
Elastic bounce only Arena brawlers, air juggle focus, simple stages Corner pressure feels weak; needs splat for mixups
Wall splat stick Fighters, duel modes, strike-throw corners Can feel oppressive without break meter or scaling
Wall carry slides Tag fighters, wide horizontal arenas Hard to read visually; telegraph carry state clearly
Wall break spectacle Story bosses, round-ending finishers Overused breaks reduce impact; gate per round
Dead walls (no bounce) Competitive minimalism, ring-out hazards nearby Stages feel flat; players ignore side space
Harbor-style layered policy Duel brawlers with varied arena materials More state machine and QA surface area
Flat knockback, no wall rules Prototypes only Walls are wasted design surface in shipping games

Common pitfalls

  • Bounce without budget caps — corner infinite loops until players quit.
  • Inconsistent corner vs flat wall — players cannot learn routes if corners behave randomly.
  • Decorative collision enabling bounce — props near walls trigger accidental splats; use layer masks.
  • Velocity reflection without clamp — physics explosions and out-of-bounds teleports.
  • Splat without escape — zero-frame slump or mandatory tech preserves defender agency.
  • Ignoring attacker position — bounce sends victim away from confirm range; tune retention per move class.
  • Same rules PvE and PvP — bosses need different wall HP than ranked duels.
  • No debug visualization — splint zones and bounce normals should render in combat QA builds.

Production checklist

  • Define wall reaction tags on every launcher and wall-splat move.
  • Implement bounce resolver with surface normal reflection and retention multipliers.
  • Add corner splint zones that prefer splat over double elastic bounce.
  • Assign per-combo bounce budget with forced knockdown at cap.
  • Wire splat FSM with timed slump and tech escape windows.
  • Apply damage scaling per wall touch in combo systems.
  • Separate material tables for arena variants (wood, stone, hazard).
  • Log wall state transitions in combat telemetry.
  • Build automated corner-route regression tests for damage bounds.
  • Document dead walls and breakable segments in level design specs.
  • Visualize bounce normals and splint zones in QA builds.
  • Playtest corner vs mid-screen damage share targets before ship.

Key takeaways

  • Wall bounce systems turn stage boundaries into combat resources — not just collision stops.
  • Taxonomy matters: elastic bounce, splat stick, carry, and wall break serve different design goals and must be explicit.
  • Harbor Siege corner combo engagement rose 34% after bounce tiers, splint zones, and per-combo bounce budgets.
  • Infinite prevention (bounce caps, scaling, wall break) is mandatory before shipping PvP corner routes.
  • Integrate wall response with knockback, juggle decay, and combo graphs — geometry only feels good when routes are learnable.

Related reading