mechanic

Use when

A platformer wants aerial chaining and enemies-as-terrain.

What it is. A downward or lateral hit that rebounds you off the thing you struck — a spring, a spike, an enemy’s head. Land on it, launch off it, never touch ground.

Player fantasy / why it’s fun. You’re airborne and you stay airborne. Every threat below becomes a stepping stone; the floor is failure. The chain is the fantasy — one clean pogo is fine, twelve in a row is virtuosity.

The verb

You strike-and-launch: a jump-timed or attack-timed input that, on contact, sends you back the way you came with reset air control. The player converts a collision into a restitution vector instead of a stop.

How it feels / why it’s fun

Tuning levers

LeverWhat it doesSane default
RestitutionFraction of impact speed returned on bounce0.85–1.0 (spring), 0.7 (enemy head)
Bounce apexFixed launch height vs. momentum-scaledFixed for pogo, scaled for springs
Chain bonusExtra height/speed per consecutive bounce+8% apex, cap at 5th bounce
Input windowTiming tolerance to convert contact to bounce5–7 frames pre-contact buffer
Air controlSteering authority mid-arcReset to full on each bounce
Miss penaltyCost of a whiffed pogoLand normally; no death unless a hazard is below
Bounce cooldownFrames before another bounce registers0 (chaining), 4–6 (deliberate)

Keep the input window generous — buffer the intent, not the frame. A dropped chain should feel like your read was wrong, never that the game ate the input (see antipattern-input-lie).

Slots into

Twist seams

How it wires to Hayao

Fails when…

See also

This module rendersthe repo's markdowndirectly — edit it there, it changes here.