Street Fighter Knockback/Bounce

Get help using Construct 2

Post » Tue Oct 29, 2013 4:43 pm



Hello all. I was working on my enemy characters and was curious about getting the type of knockback that you see in Street Fighter games. Basically, the character arcs through the air backwards, hits the ground, bounces, and then has a small arc till it lands.

For a while I thought there was some kind of math that would do it, and then I saw this Q&A with Street Fighter II's original designer, Akira Nish*tani. He said that they couldn't figure out the arc either so they set up an array with points that the character would travel.

His quote:

The knockback a character undergoes when hit by an attack in SF2. As much as we tried, we couldn't get it to go the way we wanted with acceleration and deceleration formulas, so we ended up just plotting it out pixel-by-pixel on graph paper. We plotted out lots of other things pixel-by-pixel, too. Although it was just being fussy about details.
(As many Mugen creators are aware of, the knockback for standing and crouching hitstuns in SF2 and many other Capcom games does not work from a typical velocity/acceleration system, but instead follows a preset array of position shifts.)

I would be happy with knowing how to do it that way or any other means. I'm pretty new to arrays, so I'm not sure how it would be implemented. I could always just animate the arc animations, especially since I plan on using Spriter for the enemies, but that doesn't seem like the most elegant solution.

Any help is appreciated.

-Ben
B
45
S
11
G
8
Posts: 233
Reputation: 7,796

Post » Tue Oct 29, 2013 5:21 pm

Should be pretty easy with the platform behavior. Just manipulate vector x and vector y with some variables. Have a bounce height, divide it by 2 when landing, add to a bounce counter to tell the player when to completely stop, etc.
Image
B
243
S
30
G
13
Posts: 1,787
Reputation: 18,770

Post » Tue Oct 29, 2013 10:37 pm

I'll give that a shot. Thanks!
B
45
S
11
G
8
Posts: 233
Reputation: 7,796

Post » Tue Dec 10, 2013 7:47 pm

Hi sman118, I have exactly the same problem.
Did you fix the issue?
B
5
S
1
Posts: 29
Reputation: 433

Post » Wed Dec 11, 2013 12:52 am

@mardoch I haven't gotten a chance to try it yet as I've been doing a bit of a redesign. The way I understand it is that when they are hit, you want to set a Y and X vector. Then "on land" trigger another Y and X vector. The trick is to let it know that they are in knockback mode. So I guess I would turn on some variable during that first hit and then turn it off after the bounce. I hope that sets you on your way. Let me know if it works. If you still have trouble, I'll try and do a quick mock up and see if I can get it going.

Let me know how it goes. Thanks.
B
45
S
11
G
8
Posts: 233
Reputation: 7,796


Return to How do I....?

Who is online

Users browsing this forum: No registered users and 7 guests