nararakapedia/mechanics/input-buffering
inputs are the physical controls & buttons pressed to trigger an action. one input triggers one action, the only exception is composite parry.
everything within this video applies to both controller and keyboard & mouse.
combining inputs means combining their respective actions.
input combinations
up to three inputs can become a combined action:
[modifier] + [primary action] + [direction]
combined action examples*:
- j.H [jump] + [horizontal attack] + [left]
- s.V [crouch] + [vertical attack] + [back]
*this notation doesn't imply direction.
input groups
[modifiers] can also be [primary actions]
- crouch
- jump
[primary actions]
- vertical attack
- horizontal attack
- dodge
- ability (skill & ultimate)
- parry (composite & quick parry)
- equipment (including grapple)
[directions] also diagonals & 360 degrees
- left
- right
- back
- forward
input buffer
a period of time during one animation where the game will accept the inputs for your next action. this next action starts at the earliest possible frame (if applicable).
the input buffer is generally during the active frames of an animation.
each action in combination is separate & direction is not put in the buffer.
updating the buffer
the input buffer will trigger an action based on the last input for each group.
longer animations have larger buffer times, giving more time to change the next action.
- actions cannot be cancelled altogether.
- buffered actions can only be replaced.
inconsistencies
input buffering does not work in all action combinations.
the input buffer is nice, but!
- it is not always possible.
- can trigger different action vs timed.
also a lot of difficult techniques and combos can't be (completely) buffered. which is mainly what makes them difficult & rewarding.
buffered inputs will cancel the animation of the first action's during its recovery. when input buffering is possible, it's more reliable and as fast as timing the input.
input types
there are different ways that you can send an input to the game.
- timed: input once.
- spammed (mashed): input multiple times.
- held: hold input.
- preinput: input early (once) w/ buffer.
when to use one over the other comes down to preference mostly. but, let's look at them based on situationcoverage.
if input buffer works:
- timed ---- same time or later than preinput.
- spammed -- same time as preinput.
- held ----- same time as preinput.
- preinput - earliest frame possible.
if input buffer doesn't work:
- timed ---- earliest frame possible.
- spammed -- same time as timed, or fails.
- held ----- same time as timed, or fails.
- preinput - doesn't work
framerate
input buffer is more reliable than timing an input on lower framerates. especially when playing with variable low framerates. however, actions will still be slower & delayed* due to low framerates.