The attacks are awful for now, but that’s because some fighters have really long animations (like DK Kong).
Do you have any ideas on how to handle that? Even the original BASTON wasn’t made for punch animations longer than a few frames...
The biggest issue with the attacks are that lots of animations have the first half of the frames dedicated to extending, and the second half the frames dedicated to retracting, with only a few frames in the middle where the punch/kick/etc is fully outstretched. That's where the attack should be registered. Right now, they're registered at the very end, so if the animation is complex enough to return the fighter so their idle pose after they attack, then the attack is basically useless, since the hitbox of the attack doesn't end up extending out at all by the time it's registered (not to mention it takes ages for the attack to be registered).
Here's every idea that comes to mind:
One way it could work is just to have the attack be registered at the very start of the animation, rather than the end. That's how Devolution works, where the attack is registered as soon as the button is pressed. But that has the same issue as currently, just in reverse; the attack would still be useless if its animation starts from the idle pose and extends out.
Maybe have it be registered a few frames after the attack starts? So it would happen when most attacking animations are at their midpoint?
If you want to make things more complicated and have it be a case-by-case basis, either automatically or manually, one of these two options could work:
Thanks, Cairns. I’m really glad to see someone is following ❤️
In Devolution, there’s only one frame. So it’s simple: the attack is either on or off, both in code and visually.
In BASTON, early fighters like Goku and Seiya follow that principle and work really well.
Then people started asking me to add animations to attacks. But I didn’t expect them to be as long as 13 frames at 17 frames per second = 221 frames. At 60 fps, that makes a 3.666 second animation for a punch…
No games do that unless they use a “press to charge, release to hit” mechanic.
And BASTON was never made to work like that in the first place, so I don’t understand why they keep doing this.
Anyway, I really want to avoid adding collision boxes in the Fighter Editor.
Luckily, since the collision box and fighter center are now automatically fitted to the first frame, there shouldn’t be any problem drawing extended arms on a non-centered fighter, as the collision with the enemy during the attack is pixel-perfect.
So that leaves us with the problem of when the collision happens:
Now I’m thinking about gameplay. Forget the fighters for a second: is a simple “press to attack” fun, or should we change to “press to charge, release to hit”?
I know, that would break all existing fighters. But since we’re remaking the whole game, let’s think about everything.
I believe Super Smash Bros. works like this. Last time I played it, the GameCube had just been released. But the principle is to eject the opponent, so holding the charge and releasing at the right time makes sense:
Great risk (holding the charge just long enough to avoid getting hit or falling) gives great reward (hitting harder)
But for BASTON, I’m not sure if that would be interesting, because we’ll also have fireballs, ki waves, and other weird stuff.
I’m keeping it in mind, but I’ll start with automatic hit-frame detection in each attack direction when the fighter loads.
Once that’s done, and after some gameplay testing, I might add a way to select which frame hits in the attack animations within the Fighter Editor. That way, it’ll be perfect. And if a fighter doesn’t have a hit frame specified, then we’ll fall back on automatic detection.
Adding the automatic detection of the hit frame per attack animation, then using that number to detect a hit only once per attack, wasn't that simple, in the end. But I'm quite surprised by the result 🤩
Please try a few fighters with weird attack animations to see if it's good.
Now let's move on to the recovering system !!!
I'll test other stuff like the recovery system soon when I have time, but I just want to say that I tested the newly implemented attack hit detection. It worked incredibly well, the entire thing functioned perfectly. Especially for characters who were given animations that properly corresponded with the attack directions. When the "backwards" attack animation actually attacks behind you, it can perfectly intercept an opponent sneaking up on you.
The best part was that, in almost all the cases, the attack was detected a few frames after the button is pressed, making all the hits feel much more snappy and immediate.