I tested how every move interacts with itself when used on the same frame

(I don’t think the standard bug report layout will work for this post, sorry.)
All testing done with version 0.12189.

I decided to test how every move interacts with itself (in a mirror match) when used on the same frame. While in most situations the results are expected, there are also many situations where results occur that are either asymmetrical (which implies port priority, a very unfair mechanic), or otherwise unexpected (such as both players being hit without taking damage). Some of these might be intentional, while others are likely bugs, so I thought I would share all of my findings here.

Ensuring moves came out on the same frame was done by pausing the game, holding the button for both players, and then un-pausing the game. Jumps were also started on the same frame for aerial attacks. Moves that are executed when the player releases the button were done by starting the charging period on the same frame, and then pausing and unpausing the game to release them on the same frame. I have since gone through and tested problematic moves using the frame-step option. Thanks Bomber678 for letting me know about that! All moves were done at point-blank (unless otherwise specified), including projectiles. Asymmetrical results have been tested once with each player on the left and once with each on the right.

Unexpected results are bolded.

GRAVE (N means without Wind Summon, EX means during Wind Summon)
Both players hit for 1 damage: Knifehand, Double Palm, Sweep, Jump Kick, Lightning Cloud (Small N, Small EX, Big EX), Hurricane (N, EX), Sword Slice
Only Player 2 is hit for 1 damage: Lightning Cloud (Big N)
Both attacks miss: Dragonheart

Both players hit for 1 damage: Low Kick, Knee, Roundhouse, Divekick, Flame Arrow (Lv 1, Lv 2, Lv 3), Air Flame Arrow, Dragonheart^
Projectiles clash: Sky Arrow, Rain of Fire
Both players hit for 0 damage: Red Dragon
^ Plus the damage from use, for a total of 2 damage.

Both players hit for 1 damage: Low Punch, Backhand, Step Kick, Aerial Kick, Flash Gear, Drop Gear, Cycloid Revolution
Only Player 2 is hit for 1 damage: Time Spiral (Normal, Delayed)

Both players hit for 1 damage: Staff Strike, Stretchy Punch, Stretchy Upward Punch, Stretchy Diagonal Punch^, Staff Drill, Rushing River (Neutral, Forwards)
Both attacks miss: Sparkling Bubble (Normal)
Both players hit for 0 damage: Flying Fish (Blue)
Both players poisoned: Flying Fish (Purple)
Both players pushed back: Rushing River (No Fish)
Only Player 2 is hit for 1 damage: Sparkling Bubble (Bubble Shield)^
Both attacks are blocked: Rushing River (Backwards)
^ Player 2 is knocked to the right regardless of which side they started on.

Both players hit for 1 damage: Knee, Elbow, Double Palm, Slide, Divekick (Neutral, Backwards), Ninjaport (Kick), Kunai (Neutral, Backwards), Flying Fox
Both attacks miss: Ninjaport (Teleport, Throw), Starlight Tumbler, Esper Dash

Both players hit for 1 damage: Mid Stroke (1)^, Low Stroke, Double Kick (Hit 1, Hit 2), Aerial Swipe (1, 2), Three Colors (1, 2^^,3 Neutral^^), Cross Stroke^^^, Rainbow Stroke, Flying Rainbow Stroke, Rainbow Disc
Both attacks miss: Three Colors (3 Forwards)^^
Both players hit for 0 damage: Chromatic Orb
^ I was unable to test Mid Stroke 2 because it has the same reach as Mid Stroke 1 (as far as I can tell), so Valerie would always get hit before she could perform Mid Stroke 2.
^^ Buffering inputs using frame-step doesn’t work for this move, so results may be inaccurate.
^^^ Tested at a distance; misses at point blank. Player 2 is knocked towards Player 1.

Both players hit for 1 damage: Sweep, Kick (Hit 1, Hit 2), Thunderclap, Splash, Rock Punch, Landslide^, Vine Spiral, Ground Pound (Direct), Head Crush
Player on the left side throws the other: Checkmate Buster
Both attacks miss: Ground Pound (Knockdown)^^, Ultimate Checkmate Buster
^ Neither player is knocked back. (Causes a visual bug that makes Rook clip into his opponent until hit by another move.)
^^ Tested at a distance; unable to be tested at point blank.

Both players hit for 1 damage: Chop, Flurry Punches^, Two-Hit Strike (Hit 1, Hit 2), Sweep, Jump Kick, Floating Axe Kick (Neutral, Forwards, Backwards), Flying Kick, Air Flying Kick, Butt Slam, Bow, Take Flight^, Bite, Tail Sweep, Claw Swipe (Hit 1, Hit 2), Dragon Torpedo, Air Dragon Torpedo
Both attacks miss: Acid Spit^, Dragon Buster^^
Player 1 throws Player 2: Talon Swoop
^ Buffering inputs using frame-step doesn’t work for this move, so results may be inaccurate.
^^ (Causes a visual bug that makes Midori clip into his opponent until hit by another move, even if he reverts to Human Form.)

Both players hit for 1 damage: Upward Claw, Long Punch, Claw Sweep, Giant Aerial Kick, Panda Ball, Polar Cartwheel, Item Toss (Cloud^, Coin), Melon Toss, Slot of Items, Roll the Dice^^
Both players hit for 0 damage: Item Toss (Mini-Rook)
Each player takes a random amount of damage from 1 to 3: Item Toss (Fireworks)
Player 1 takes 2 damage and Player 2 takes 1 damage: Item Toss (Bomb)
Projectiles clash: Item Toss (Mini-Lum)
^ Tested at a distance; misses at point blank.
^^ Tested by hitting the dice at point blank, which also hits the other player, dealing 2 damage total.

Both players hit for 1 damage: Punch, Punch of Justice^, Overhead Kick, Ground Pound, Two-Fisted Punch, Aerial Punch, Counter-Point Step (A, C), Flying Kick (1, 2^), Final Arbiter
Both players hit for 2 damage: Counter-Point Step (B)^
Both players hit for 0 damage: Ghost, Air Ghost
^ Buffering inputs using frame-step doesn’t work for this move, so results may be inaccurate.

Normal throws seem to randomly decide which player succeeds at throwing. Argagarg is an exception: both throws miss.


But why didn’t you just use frame stepping?
(Shift+1 in training mode, step a frame by pushing 1, step a little faster by holding )


That… would have made this a lot easier. I didn’t realize that was an option. I’ll go back and update my results using that method as soon as I get the chance, although I don’t expect anything to be different (I might be able to get Aerial Swipe 2 to come out, though).

EDIT: Original Post has been updated.

Thanks for the very thorough testing, it does help and I’ll go over these.

To expand on Bomber678’s post above, while in frame-step pause, you can hold the \ backslash key to step forward at 25% speed, as an alternative to hitting 1 a lot.


Some quick comments:

  • Same-frame throw clashes, whether for normal throws or special throws, are intended to get randomly decided between P1 and P2. The grounded special throws are generally throw-immune up until their first active frame, though, so they will never properly clash with normal throws.

  • Dragon Midori’s acid spit (f+A, A) is a projectile, and mirror acid spits should thus clash and negate each other.


This behavior doesn’t seem very fair. A successful throw can easily be the difference between winning and losing a match. I understand that Yomi Counters are intended to be the counter to throws, and throwing on exactly the same frame is extremely rare, but I still think it would be more fair for throws to fail when they hit on the same frame (but special throws beating normal throws makes sense). This type of randomness isn’t healthy for the game.

Just my two cents on the matter.

1 Like

If throws on the same frame fail, then you’ve opened a very precise window for throw teching. If the throw is determined randomly, then good play would suggest that you just shouldn’t be setting up in a way that’s likely to get throw clashes (because you can’t control the output), and that you should instead be using Yomi Counters. It seems like a reasonable decision to remove a possible high-execution tactic that’s kind of antithetical to Fantasy Strike’s design.


That’s a good point, I hadn’t really thought of it like throw teching. I still don’t really like the game-winning randomness of it, but I can’t think of a better alternative. I’d say something like “both players could take damage like with attacks”, but that doesn’t make much sense for throws.

In practice, there’s literally no way to tell a difference between losing an exact 1-frame tie* and being slower by a single frame. It’s something that isn’t an issue when actually playing, to be honest.

*And holding forward/back when you do a throw beats a neutral throw if they tie, too, making it even more “what happens if the coin lands on its edge?”


For testing of Lum’s item toss, I think you can set which item he throws in the Practice Mode settings. This might work for the Dummy as well in a mirror match?


You’re right, it does work for the dummy! I’ll use this to update the original post with Item Toss data.

EDIT: Original Post has been updated. A couple of the items seem to have strange results.


I should have most of the unexpected results fixed in the next build, especially the ones about same-frame projectile clashes and about visual clipping.

Same-frame throws remain coin flips though, and Sparkling Bubble is actually invulnerable during all of its active frames, such that it’s expected for mirror sparkling bubbles to whiff each other. Three Colors’s crossup final stroke is also expected to whiff, just from the attacking hitbox being out of range of the opponent by the time it hits.


The current patch notes mention the same-frame projectile clashes:

Fixed projectile clashes so that P1’s projectile doesn’t also hit P2’s character on the same frame it gets negated by P2’s projectile. Now the projectiles just negate each other, without also hitting the characters.

However, for nearly every projectile user (Grave, Jaina, Argagarg, Setsuki, Lum, and DeGrey), rather than negating each other, it seems the projectiles both hit the characters. Geiger seems to work as intended (or the patch note is incorrect and Geiger is the only one working incorrectly).

There’s a subtlety to this one. There are two possibilities for same-frame projectile clashes like these: either the projectiles spawn where they intersect the opponent and also intersects their projectile, or they spawn where they intersect the opponent but don’t intersect their projectile.

In the second case, like for point-blank mirror Graves doing charged shots, each projectile will only intersect the opponent, not their projectile. That means that both will hit (because neither of the projectiles is touching the other when they spawn). That’s fine and expected.

In the first case, like if you take the same situation but have the Graves slightly apart, the projectiles will intersect each other as well as intersect their opponent. This is the part that was buggy before, with P1’s projectile hitting both the opponent and their projectile at once. Now they will negate each other, and both players will remain standing.