mechanic

Use when

Combat wants a skill ceiling of expressive, learnable sequences.

What it is. A string is a sequence of attacks where the recovery of one is cut short — cancelled — into the startup of the next, so hits chain faster than they could stand alone. Depth lives in which moves cancel into which.

Player fantasy / why it’s fun. The fluency climb. Early on you mash and things die. Later you see the string in your head — light, light, launcher, cancel-into-special — and your hands catch up to your intent. The move you couldn’t do last week is muscle memory now.

The verb

Press attacks in an order and rhythm; the system reads the current move’s state and lets you interrupt its recovery into a permitted follow-up.

How it feels / why it’s fun

Tuning levers

LeverWhat it controlsSane default
Cancel windowFrames where a follow-up is buffered/accepted6–10 frames (~100–160ms)
Input bufferHow early the next input registers3–5 frames — generous keeps the floor
Gatling vs strict linkAuto-cancel on hit vs. frame-perfect manualGatling for the floor, strict links for the ceiling
Combo scalingDamage falloff per hit in a string10% decay/hit, floor at 30% — kills infinites
Cancel routesWhich moves link into whichSparse graph; not everything cancels everything
Mash taxDoes mashing degrade the result?Yes — mash gives 60% of optimal, never 0%
Reset on whiffMiss a hit → string ends?Yes; landing hits is the earned reward

The one rule: the ceiling is routes and timing, never button count. If the optimal string is just “more inputs,” you have antipattern-false-depth, not depth.

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.