How do you feel about buffered jumps?

Started by
16 comments, last by MatthewMorigeau 8 years, 4 months ago

I think it would help immensely if you can give examples of games that do / don't use buffered jumps.

In fact if you had such a list of examples, you probably wouldn't even need our opinion, you could just emulate the one that feels best for your situation.

One game that always felt really good and responsive and fair were the Super Mario games. Did they use buffered jumps? I assume not but cant be sure.

I already do it, myself, and I see no reason not to do it. However, there are some classic platformers that don't do it, such as Megaman X and other Capcom games, so I'm just more curious as to why some platformers don't do it. Since I can't exactly ask Snes game developers why they didn't include it, I figured there might be some indie devs who might have reasons for not including it in their own games.

Also for reference, Mario World does it.

Advertisement

I think it would help immensely if you can give examples of games that do / don't use buffered jumps.

In fact if you had such a list of examples, you probably wouldn't even need our opinion, you could just emulate the one that feels best for your situation.

One game that always felt really good and responsive and fair were the Super Mario games. Did they use buffered jumps? I assume not but cant be sure.

I already do it, myself, and I see no reason not to do it. However, there are some classic platformers that don't do it, such as Megaman X and other Capcom games, so I'm just more curious as to why some platformers don't do it. Since I can't exactly ask Snes game developers why they didn't include it, I figured there might be some indie devs who might have reasons for not including it in their own games.

Also for reference, Mario World does it.

Well one big reason is that buffered inputs are less important in some games than in others.

For example in Mega Man X the player as a general rule has perfect control over his horizontal velocity. Since they player can position themeselves exactly where they want to be and can stop on a dime, there's very little harm that can come to them if they press jump a few frames too early. There's very little benefit to buffering the jump input in this case, so why bother with the CPU overhead?

In Super Mario World, on the other hand, Mario has inertia - it takes time for his horizontal speed to change. Because of this, there is a much greater risk of damage or death if the player fails to jump because they pressed the button a little early. In this case, there is a huge benefit to be gained by buffered input.


Well one big reason is that buffered inputs are less important in some games than in others.

For example in Mega Man X the player as a general rule has perfect control over his horizontal velocity. Since they player can position themeselves exactly where they want to be and can stop on a dime, there's very little harm that can come to them if they press jump a few frames too early. There's very little benefit to buffering the jump input in this case, so why bother with the CPU overhead?

In Super Mario World, on the other hand, Mario has inertia - it takes time for his horizontal speed to change. Because of this, there is a much greater risk of damage or death if the player fails to jump because they pressed the button a little early. In this case, there is a huge benefit to be gained by buffered input.

Well, if there's a projectile or enemy moving along the ground and the player attempts to jump as they land, pressing the button too early would result in not jumping and getting hit. With the player probably thinking "I pressed jump, I swear!".

Also in your example; while the player can control their velocity in MMX, the player could still be holding forward because they're expecting the jump to come out. Even if there isn't danger, a perceived lack of feedback doesn't feel very good, and most players would probably blame the game.

@Anthony

CPU overhead? For keeping track of a buttonpress? You sir have very little faith in modern computers... I do millions of calculations per second in my games already, this shouldnt be a concern at ALL.

Ultimately it's going to depend on all the details of your game.

A jump can be considered an offensive move if your game is such that the character kills enemies upon landing on them. It might be logical then to think that there's an advantage to being in the air all the time except that you're actually quite a bit more vulnerable. At least, I believe I have found this to be the case. You could actually test this if you count the number of player deaths that occur mid air vs while on ground. Then make your decision on whether the data shows that this feature makes the game too easy or too hard or just right.

Ultimately it's going to depend on all the details of your game.

A jump can be considered an offensive move if your game is such that the character kills enemies upon landing on them. It might be logical then to think that there's an advantage to being in the air all the time except that you're actually quite a bit more vulnerable. At least, I believe I have found this to be the case. You could actually test this if you count the number of player deaths that occur mid air vs while on ground. Then make your decision on whether the data shows that this feature makes the game too easy or too hard or just right.

The buffer period is generally subtle enough that the average player won't realize that it exists. To them, it just looks as though they pressed the button when they were "on the ground", even if they were a few frames too early. While there may be cases where they avoided damage because they pressed the button too late, they were still trying to jump if they pressed the button to begin with.

Edit: I've edited the first post to clarify that I'm talking about a short period before you land, and not holding down the button to jump constantly. I may not have made that clear initially.

@Anthony

CPU overhead? For keeping track of a buttonpress? You sir have very little faith in modern computers... I do millions of calculations per second in my games already, this shouldnt be a concern at ALL.

The games cited as examples run on a 3.58 MHz CPU with 128 KB of RAM...

I'd buffer by default and use a visual cue animation (or at least pose) to indicate when the player has a jump buffered. Perhaps by timing the button press closer to landing the second jump could be slightly bigger. Making the visual cue tell the player what the game is doing and introduce a neat skill into the gameplay.

I'd also add a press and hold timed second jump if the player presses the key before landing and holds the key until touch down then releases at the right time you could create a nice parcours jump that lands the character facing the other direction. So few games use the old 180 turn anymore and SO should.

This topic is closed to new replies.

Advertisement