Making it fair
A timing game is only fun if every death feels like your fault. That has to be built into the rules, not hoped for.
The invariant
Enemies are spawned on a schedule, and every enemy has a projected arrival time. The rule is simple and strict: no two arrivals may ever be closer together than the shortest gap a person can answer. An armored enemy needs two answers, so he reserves two slots in the schedule, not one. Two armored enemies never spawn back to back, and no more than two can be alive unparried at once.
Any mechanic that changes an arrival time, such as the knockback after a parry, has to re-check the gap afterward. If a new mechanic could put two enemies on you inside a window nobody could answer, the mechanic is wrong, not the rule. This is covered by a property test: whatever order things spawn and get knocked back in, no two arrivals land inside the gap.
Windows that scale
The strike window is a fixed share of how long an enemy takes to reach you, with a floor. That way, at every speed, the same fraction of the approach is strikeable. The game gets harder because you have less time, not because the rules quietly change. The perfect window works the same way, and there is no such thing as swinging too late: an enemy can be struck right up to the instant he reaches you.
Swinging at nothing
Strike at air and Renzy is off balance for 300 milliseconds and cannot swing. You do not die from the miss. You die if the enemies reach you while you recover. It is a small, precise penalty, and it is most of the learning curve.
What a seven year old taught me
One of the first complete novices to play was seven years old. The data was stark: most of the zero-kill runs ended the same way. A first tap too early, then the lockout, then an overrun before a second tap was possible. People who play a lot learn the rule within a minute. Beginners learn it by dying to it.
The answer was not to soften the rule. It is to teach it: the first miss of a session will get a brief slow moment that shows what happened, before the lockout applies. That is still on the list.
Tuning from numbers
Every run is recorded: kills, level reached, how long it lasted, what ended it, and the whiffs, perfects and ripostes along the way. Testers play, the runs are exported, and I tune from what the data says. The perfect window and the lockout time were both changed on 1 October after reading playtest runs rather than after guessing.