Guide
Game wall slide movement systems explained
Harbor Spire's outer descent is a 34-meter vertical shaft with three staggered landings and no elevator. The first build let players free-fall and wall-jump off the sides — but terminal velocity made reaction windows unreadable: 58% of entrants died before the second platform. Designers tried widening ledges and adding coyote time; deaths fell only to 49%. The shipped fix was a wall slide: when airborne and pressing toward a validated wall, vertical speed clamps to a capped descent rate, the character plays a readable slide pose, and jump fires a kickoff impulse (wall-jump or neutral drop). Fall deaths dropped to 11% and average descent time variance shrank 37%. A wall slide is not a slower fall — it is a controlled state that buys reaction time and gates transitions into other airborne verbs.
A wall slide keeps the player adhered to a vertical surface while descending at a designer-tuned speed, distinct from wall-running (horizontal along a face) and from ledge hanging (lip grab with lateral shimmy). It appears in Mega Man X-style shafts, Metroidvania drop-downs, and action games that chain slide into kickoff wall-jumps. This guide covers slide taxonomy, adhesion and probe rules, descent caps and friction curves, timer and stamina budgets, kickoff transitions, level authoring for vertical columns, the Harbor Spire refactor, a technique decision table, pitfalls, and a production checklist.
What wall slide systems are
Wall slide systems manage a sustained contact state on vertical geometry while the player is airborne or leaving a jump. Core responsibilities:
- Surface validation — which colliders allow slide (angle threshold, material tags, one-way exclusions, ice or slime surfaces that deny adhesion).
- Adhesion detection — raycasts or capsule probes on the input-facing side that confirm wall contact while horizontal input pushes into the surface.
- Descent governance — clamp vertical velocity to
slideSpeedMax; optionally accelerate from rest to cap over a few frames for smooth entry. - State transitions — enter slide from airborne, exit on jump kickoff, ground touch, timer expiry, stamina drain, or loss of input toward wall.
- Verb hygiene — define whether slide refreshes wall-jump charges, consumes air dash, or blocks double jump until grounded.
Slide is a holding verb: the player maintains it by continuing to press toward the wall. Release input or press away and the character detaches into a normal fall — unless you implement sticky auto-slide on first contact, which trades readability for accessibility.
Wall slide taxonomy
Document subtypes in your movement spec so level designers know which slide mode a shaft expects:
Input-held slide
Player must hold horizontal input into the wall for the duration. Releasing input cancels adhesion immediately. Highest skill expression; common in precision platformers. Pairs with strict kickoff timing puzzles.
Auto-stick slide
First wall contact while airborne starts slide without sustained input; player may release and remain sliding until jump or timer. Lower friction for casual routes; watch for accidental slides off thin platforms near walls.
Stamina-limited slide
A depleting meter or fixed second budget forces exit into free fall or a ledge grab if a lip is nearby. Used when unlimited slide would trivialize long shafts. UI feedback (glove sparks, grit particles) must telegraph remaining time.
Brake slide
Holding a “down” or “brake” input while sliding reduces
slideSpeedMax further for precise landings on narrow targets
mid-shaft. Without brake, players overshoot small ledges.
Corner catch slide
Inside corners transition slide from one face to the adjacent face without detaching. Requires seam smoothing and normal blending; otherwise capsules snag or pop off the corner.
Adhesion, probes and descent physics
Bad slide feel usually traces to detection, not animation. Production patterns:
Contact probes
Cast from the character capsule toward the wall normal on the side matching horizontal input sign. Use a skin-width offset (2–8 cm in character units) so slide starts before the mesh visually intersects stone. Bilateral probes help when camera-relative input does not match world left/right.
Wall angle gate
Surfaces steeper than ~70–80° from horizontal count as slideable walls; shallow slopes should route to slope movement instead to prevent infinite slide-hop up hills.
Descent cap
Set slideSpeedMax as a fraction of terminal fall speed —
often 35–55% feels controllable without floatiness. Example: if free-fall
terminal is 18 m/s, cap slide at 7–9 m/s. Entry blend: lerp current
vertical velocity toward cap over 80–150 ms to avoid a visible snap when
transitioning from fast fall.
Horizontal lock
Zero or heavily damp horizontal velocity along the wall tangent while sliding unless you intentionally allow diagonal slide on slanted faces. Prevents players drifting off shaft centers and missing kickoff arcs.
Gravity while sliding
Two models: (1) pure clamp — set vy each frame to
-slideSpeedMax; (2) friction oppose — apply
upward force until vy reaches cap, which feels more physical when exiting to
free fall. Document which model your engine uses; QA tests differ.
Kickoff transitions and verb stacking
Slide is valuable only if exit states are predictable:
- Wall-jump kickoff — jump while sliding applies the same impulse as a standard wall-jump, often with guaranteed chain refresh on first kickoff after slide entry. Clarify whether slide “resets” a spent wall-jump charge.
- Neutral drop — jump without wall-jump intent (or press down) detaches with small outward push and full gravity; used to land on a lower platform without ricocheting across the shaft.
- Ledge intercept — slide path crosses a grab volume; auto-transition to hang if jump is held or if auto-grab is enabled. Coordinate lip probe height with slide capsule so players do not snag unintentionally.
- Ground slide — some games allow transitioning from airborne slide directly into a grounded slide if the wall ends at a floor skirt; separate FSM to avoid animation pops.
Publish a verb matrix: does slide consume double jump, air dash, or wall-jump chain index? Harbor Spire grants one wall-jump refresh per slide entry — enough for shaft rhythm without unlimited ascent.
Level authoring for slide columns
Vertical shafts need spacing math, not just tall geometry:
- Platform vertical spacing — at cap slide speed
v, time between platforms = distance / v. Add 200–400 ms reaction margin for kickoff animation. - Shaft width — narrow enough that bilateral walls are reachable after kickoff; wide shafts need mid-shaft protrusions or alternate routes.
- Rest ledges — grounded platforms that reset all air verbs; place every 2–3 kickoff chains in long descents.
- Hazard bands — spikes or lasers at free-fall height but above slide cap encourage slide over panic jumping.
- Teaching rooms — first slide shaft with no hazards, glyph prompt, and a wide second platform; gate combat until slide tutorial completes.
Debug overlays: draw slide cap velocity, kickoff arc, and platform time-to- reach at authoring time. Harbor Spire designers rejected two shaft variants in editor before playtest because overlay showed 0.3 s insufficient margin on the middle landing.
Harbor Spire descent shaft refactor
Problem: 34 m outer descent, three landings, parallel stone faces 3.8 m apart. Free-fall plus wall-jump produced unreadable approach speeds; players input jump late and died on spikes at shaft bottom.
Changes shipped in build 0.9.4:
- Added input-held wall slide with
slideSpeedMax = 8.2 m/s(terminal fall 17.5 m/s). - 8-second stamina meter per slide entry; UI grit trail on gloves.
- Jump while sliding always offers wall-jump kickoff; down+jump = neutral drop for middle platform landings.
- First shaft landing widened 0.4 m after overlay review (margin from 0.25 s to 0.55 s at slide cap).
- Denied slide on exterior ice-slick walls (material tag) to preserve ice puzzle elsewhere.
Results (n=1,240 playtest sessions): fall deaths 58% → 11%; median descent time 22.4 s → 19.1 s; “controls felt fair” survey +29 points. Speedrunners retained a free-fall skip on the upper section by chaining kickoffs without slide — intentional skill ceiling.
Technique decision table
| Technique | Best for | Weak when |
|---|---|---|
| Wall slide | Long controlled descents, teaching vertical shafts, reaction time | Horizontal traversal along a face; unlimited slide trivializes height |
| Wall-jump | Ascending twin-wall shafts, rhythmic bounce chains | Long drops where approach speed is too high without slide cap |
| Wall-run | Horizontal distance on one face, cornering at speed | Pure vertical drops; run gravity usually pulls off quickly |
| Ledge hang | Recovery at lip, lateral shimmy, stamina climb-up | Mid-shaft with no lips; requires separate grab volumes |
| Ladder climb | Explicit authored vertical routes, low skill variance | Organic cliff faces; breaks immersion if overused |
Add wall slide when heatmaps show deaths on long drops past reachable walls, not when players already fail from insufficient horizontal push on wall-jump chains. Slide solves time; wall-jump solves reach.
Common pitfalls
- Slide speed equals fall speed — no readable difference; players do not learn the verb.
- Requiring frame-perfect release — auto-stick or generous jump buffer on kickoff fixes false “broken controls” reports.
- Slide on every vertical surface — players accidentally slide off intended jump routes near thin platforms.
- No stamina on infinite shafts — removes tension and breaks pacing on 50+ m drops.
- Wall-jump charge ambiguity — slide refresh rules must match HUD and tutorial text.
- Probe only at feet — fast horizontal approach misses upper-body contact; use multi-point or capsule cast.
- Corner seam pop — character ejects off inside corners; add corner catch or normal blend.
- Camera does not pitch on long slides — players cannot see landing targets; gentle downward look-ahead helps.
- Networking without slide state sync — remote avatars appear to free-fall while local slides; replicate slide flag and cap speed.
Production checklist
- Document slide taxonomy (input-held, auto-stick, stamina, brake) in design spec.
- Publish
slideSpeedMax, entry blend time, and terminal fall reference. - Define wall angle threshold and excluded material tags.
- Implement input-facing adhesion probes with skin-width slack.
- Set stamina duration or slide timer with clear UI feedback.
- Specify wall-jump refresh policy on slide entry and kickoff.
- Wire jump buffer (100–200 ms) for kickoff out of slide.
- Support neutral drop input (down+jump or separate detach binding).
- Build editor overlay for time-to-platform at slide cap per shaft.
- Place rest ledges that reset air verbs every 2–3 kickoff chains.
- Teach first slide in safe room before hazard shafts.
- Log slide denial reasons (angle, tag, no input) in playtest builds.
- Test at 30, 60, and 120 FPS with fixed physics timestep.
- Sync slide state, stamina remainder, and wall normal in multiplayer.
Key takeaways
- Wall slide is a controlled descent state — not wall-run, not ledge hang, and not a cosmetic fall animation.
- Cap vertical speed below terminal fall so players can read kickoff timing on long shafts.
- Harbor Spire cut fall deaths from 58% to 11% with slide cap, stamina meter, and explicit kickoff vs drop inputs.
- Slide solves reaction time; wall-jump solves reach — pair them in vertical level design.
- Verb refresh rules and material exclusions must be documented; silent wall-jump resets break route planning.
Related reading
- Game wall-jump movement systems explained — kickoff impulses and chain limits after slide exit
- Game wall-run traversal systems explained — horizontal face motion vs vertical slide
- Game ledge hang and shimmy systems explained — lip recovery at shaft landings
- Game coyote time and jump grace explained — leniency windows that pair with slide kickoffs