YesNoOk
avatar

Parry (Mechanics) (Read 6022 times)

Started by Ricepigeon, May 11, 2016, 07:05:59 pm
Share this topic:
Parry (Mechanics)
#1  May 11, 2016, 07:05:59 pm
  • *****
  • Thanks and God bless
    • USA
    • ricepigeon.neocities.org
Parry is both an offensive and defensive gameplay mechanic that is most widely known due to its inclusion in the Street Fighter III series.

Parries, as the name implies, will "parry" an incoming attack from an opponent, thus negating all damage done. A successful Parry will also negate all hitstun and cause the user to recover much faster than their opponent, leaving them completely open to attack. Parries must be done just at the exact moment an opponent's attack would make contact. Due to its inputs and strict timing, it can generally be seen as a high-risk, high-reward mechanic. Two types of parries exist: High Parries and Low Parries.

High Parries are executed by pressing F just before a high or mid attack would make contact. These can also be done in the air. High Parries will fail against all low attacks, throws, and command grabs.

Low Parries are executed by pressing D just before a mid or low attack would make contact. Low Parries will fail against all high and overhead attacks, throws, and command grabs.

Street Fighter III: Third Strike also introduces a third type of Parry known as the Guard Parry, also known as the Red Parry due to the color the player turns when successfully performed. These are done by performing a Parry right after blocking the first hit of a multi-hit combo. The Parry also returns in Street Fighter V as Ryu's character exclusive V-Skill, Mind's Eye, which combines the functionality of both a High and Low Parry, but cannot be done in midair.
Last Edit: May 11, 2016, 07:12:49 pm by Ricepigeon
Re: Parry (Mechanics)
#2  November 25, 2016, 05:10:46 pm
  • **
    • France
Additionnal info about SFIII 3S parries.
In SFIII, parrying opponent's attack doesn't prevent him from further inputs. Therefore, if you cannot counter-attack (for any reason) he can continue his attack strings, forcing you to deal with the next moves (high / low / grab / multihit attack ?).

-----------------------------------------------------------------------------------------------------------------------

Also, the parry mechanic (also named "repel") was the core of a beautiful SNK fighting game series back in the late 90's :  Last Blade (1 & 2).
In this game, the parry has even a dedicated button : D.  Standing, crouching and aerial versions of the move had each their own properties (vulnerabilities, moves they could/couldn't counter etc.).

Most important things of this version of the parry move :
  • it has its own animation : startup - active frames - recovery −> it can be whiffed & punished
  • if the parry is successful (rival's attack repelled), it puts the opponent in a defined "repelled" state for some time −> that's the moment for your best punishing combo

If you're interested in a LastBlade's kind of parry in your Mugen creations, the following doc could help you a lot :
ReversalDef
TargetState
- samurais, swords & stuff ? → Another Blade
Re: Parry (Mechanics)
New #3  November 26, 2016, 07:33:40 pm
  • ******
SF3's parry is a bit more complicated since there isn't an animation for attempting a parry. In that case, you would need a Helper (in the statedef -2) that activates whenever a parry is attempted.

Code:
[StateDef -2]

[State -2, Helper]
type = Helper
triggerall = !numhelper(800)            ;prevents multiple parry helpers from spawning
triggerall = command = "press_fwd"
trigger1 = ctrl
helpertype = normal
name = parry
ID = 800
stateno = 800                           ;parry state helper
pos = 0,0
postype = p1

The Helper would have a ReversalDef. The animation should be one frame with no sprites and a Red CLSN.
Code:
[StateDef 800]                        ;helper
type = S
movetype = I
anim = 800

[State 800, BindToParent]             ;this keeps helper in the same place relative to P1
type = BindToParent
trigger1 = 1
time = 1

[State 800, ReversalDef]
type = ReversalDef
trigger1 = Time = 0
reversal.attr = S, AA, AP

[State 800, DestroySelf]
type = DestroySelf
trigger1 = MoveHit                    ;helper dies when parry is successful
trigger2 = Time = 8                   ;parry window

You'd then need a ChangeState (also in statedef -2)  for when the Reversal is successful.
Code:
[StateDef -2]

[State -2, ChangeState]
type = ChangeState
trigger1 = numhelper(800)                ;prevents debug flood
trigger1 = helper(800),MoveHit
value = 805

As well as a state for P1 to enter when the Reversal is successful
Code:
[StateDef 805]
type = S
movetype = I
physics = N
velset = 0,0
anim = 805
ctrl = 0

[State 805, Pause]                ;pauses the screen while parry animation plays
type = Pause
trigger1 = Time = 0
time = 14
movetime = 14

[State 805, ChangeState]
type = ChangeState
trigger1 = AnimTime = 0
value = 0
ctrl = 1

While this is barebones compared to the code needed to replicate SF3 or CvS2, this is the basic idea.
Last Edit: November 27, 2016, 06:11:17 pm by Niitris