@grap3fruitman @ryu_highabusa this one is for you.
The freestep dash cancel bug, or FSDC, or the cancel bug, is a bug that allows you to partially or completely skip recovery animation of some moves. That allows you to perform a followup move or defend yourself
much earlier than you usually can. However to perform the cancel bug your input timing has to be
extremely on point.
Now I would like to take a step back and explain what exactly the recovery animation is. For that we'll have a look on something called "frame data".
In DOA and many other fighting games attacks generally consist of 3 parts - a startup animation, an active frames part and the recovery animation.
- The startup animation is just an animation, you usually can't do anything while it plays and it also doesn't affect opponent anyhow.
- The active frames part is short period of time when you will actually hit your opponent given that your hitbox intersects with his hurtbox, or in other words, your fist visually connects with his face. The game will then apply damage and put opponent in some form of stun.
- After that you will usually have the recovery animation, in which your character goes back to idle state. As with startup animation, it doesn't affect opponent anyhow and you usually can't do anything while it plays EXCEPT when it's a natural string and you continue it. As example when you do punch-punch, which is a natural string for most (if not all) characters, the recovery animation of the first punch will be replaced with startup animation of the second punch. But when you do as example punch throw which is not a natural string, the startup animation of the throw won't start until the recovery animation of the punch has finished playing.
Some moves, such as holds, have no startup animation at all.
Duration of these parts is measured in frames, and together form the basic part of what's called the "frame data" of the move.
You can see the frame data of a move if you open Menu -> Fight screen info -> Move details in training mode. The frame data is shown on the first page next to a "FRAME" label. (You can navigate to other pages after unlocking navigation by pressing the right stick, or P on keyboard)
These numbers are how many frames each part lasts. For DOA and many other games the atomic unit of time is 1 frame, as in 1 frame of 60fps update rate, or around 17ms. The game operates at 60 fps. It means that 60 times a second it scans which buttons are pressed and which are released, checks if hitboxes intersect with hurtboxes, and so on - and after all that does nothing but displaying a still image for the whole frame, the next 17ms.
Now when you know what recovery animation is and can see and understand how long it lasts, let's talk about how to perform the cancel bug. For that we need to understand which moves the bug can cancel.
The bug only applies to moves that have natural followup, or, to be more accurate, followup interval. Followup interval is window of time when you can press a button to continue a natural string. You can see if a move has followup interval on 3rd page of move details.
As example, followup interval for Rig's punch is from 12th frame to 23rd frame. If you press punch during this time, recovery of the first punch will normally cancel into startup of the second punch. This not the cancel bug yet, and is just how the game does strings.
When a move doesn't have a followup interval, the game will sometimes display it as 0~0, and sometimes will just not update the last followup interval it displayed.
But enough about the followup interval, back to the cancel bug. Two more things I need to explain first are buffering and the idle frame.
If you press buttons when your character is busy playing some animation and cannot immediately react to the buttons you pressed, the game will remember which buttons you pressed and automatically apply them after character can react to them again. However game's memory only lasts for 10 frames, so it will forget any buttons pressed before that time. This is called "buffering"
The idle frame is another bug, which causes your character to do nothing for 1 frame after he goes back to idle state after anything. Let's look at the punch-throw example. If you press the throw button during the recovery animation of a punch, your character can't start throw animation until the recovery animation of punch is completely over, so the game will remember it, or buffer it. However because of the idle frame bug, it will take 1 extra frame (aka the idle frame) after recovery animation of the punch is over before actually starting the throw animation.
So how to do the free stap dash cancel bug?
You need to buffer a dash (forward-forward or back-back), then input a freestep (up or down) on the idle frame, and then input attack on the next frame. You also need to have any movement button pressed during one of the following frames - the easiest way is to hold the freestep you inputted for 3 or more frames. This is likely to happen without any extra effor though.
Since it begins with buffering, you need your character in a state where he cannot react to dash input immediately. For testing purposes I prefer doing a hold (back + H), since it has exactly same duration for all characters.
For some reason freestepping away from camera (up) works better than towards it (down) - it is slightly less strict on input timing. The same applies to H+K - it's a little easier than any other attack.
To practice, start with doing a hold and buffer a dash. You wanna see dash happening automatically after you buffered it. When you get used to that, try to interrupt the dash as early as possible by freestepping, but in a way that dash still flickers for like 1 frame. Then add attack button almost immediately after the freestep input. The game shows input history at bottom part of the screen in training mode, and inputs done during same frame will be displayed in one column - you wanna make sure that's not the case for your freestep and attack inputs.
Again, I highly recommend practicing that on
first (with character who has followup after it).
Additional notes:
- Multihit attacks can have several active frames parts, separated by in-between recovery frames - as example Lisa's down + back + kick
- Some moves have followup interval even though they don't have actual followup - this can be leftover from previous versions of the game, such as Hayabusa's down + H+K - I think it had a followup in DOA4.
- The bug doesn't seem to apply to attacks that have followup interval beginning while you're mid air, such as Kasumi's 9P