What is bunny hopping?

I hear the term bunny hopping thrown around a lot. What is it? Can it actually help me in some games?


Solution 1:

Bunny hopping, or bunny jumping, is a term used in video games to describe the basic movement technique in which a player jumps repeatedly, instead of running, in order to move faster.

The term is most used in first-person shooters to refer to act of pressing the jump key while holding a movement key to move faster and/or to evade attacks more effectively. In several games based on Quake engines or their derivatives moving in a zigzag pattern while bunny hopping is the fastest way to move around and increases length of jumps, making the player an even more difficult target. While a zigzag movement pattern may not be the fastest way to get from one point to another in other games, players may feel that the protection provided by bunny hopping more than compensates for this disadvantage. Bunny hopping might also be required to gain speed to perform a trick jump or to provide better movement control while in mid-air (especially after performing a trick jump).

See this Wikipedia article for more.

Solution 2:

It works differently in different games, but typically bunny hopping on its own doesn't increase speed (the exceptions that I know of being Warsow's new movement style and Painkiller).

The real reason for bunny hopping in games such as Quake (all 4 of them) is that no ground friction is applied to your character if you jump again immediately in the same frame that you land. Given that there is no air friction modelled in the game, this means that any speed gained whilst in the air can therefore be maintained by repeatedly jumping. For example, you could use a simple horizontal rocket jump from a wall to give you a quick boost in speed, and then by repeatedly jumping you can maintain that extra speed indefinitely (or at least until you bump into something). Without bunny hopping, the extra speed gained would be quickly nullified by the ground friction that is applied to your character once you land.

In Quake this is pretty easy to do, as simply holding down the jump key whilst you're in the air will cause you to immediately jump again once you hit the ground (though you will still have to release the key and re-press it again after each jump). In other games it may still be possible, but you may have to time the key-presses more accurately. In GoldSrc games I believe you have to time the jump perfectly to the exact frame, which is practically impossible to do, so players tend to use a script to hammer the jump command multiple times in order to make it much more forgiving.

You can test this principle in Quake games by simply running forward, jumping, releasing the forwards key in mid-air (i.e. whilst your character is in a parabolic arc) and then bunny hopping by jumping as soon as you land. If you do it right you should keep going forward at walking speed even though you have released the forwards key. You can repeat jumping to maintain walking speed indefinitely. In addition, whilst doing this you should note that you can turn your view to wherever you desire and it wont affect your character's movement at all. This can be useful in order to aim at others whilst simultaneously moving in another direction, like the turret of a tank. That being said, the true benefit of bunny hopping really comes into play when combined with other techniques designed to gain speed.

In different Quake games there are different mechanics for gaining speed. As I've already mentioned you could use a simple rocket jump, which is obviously going to work in all 4 games, but there are other techniques. In QuakeWorld and GoldSrc games there is a technique called air-control, which basically allows you to slowly turn the horizontal component of your movement direction whilst you're in mid-air. A nice side-effect of doing this is that you also slowly gain speed, which can then be maintained through bunny hopping. Throughout multiple jumps you can use these combined skills to accumulate speed.

In QuakeWorld you will see players performing multiple curvy jumps in a zig-zag fashion, like a snake, in order to accumulate their speed. In Team Fortress Classic the same is true, but I believe there is an upper cap on the speed that can be gained through this. After reaching this cap you are slowed down to walking speed the next time you touch the floor. The cap is a multiple of the class's walking speed though, which does mean that the scouts still have a higher speed cap than the heavy weapons guys.

In order to use air-control, you first face in the direction that you are moving through the air and hold down a strafe key. You then slowly and smoothly turn your view (with your mouse) into the direction of the strafe. This will cause your movement to slowly curve into that direction, and you will gain overall speed too. You can combine this with bunny hopping to maintain any speed gained. You shouldn't move your mouse too quickly as it will cause you to stall; finding the perfect speed will come with practice. The most important thing is to keep your mouse movement smooth. You must also not hold forward at all during this procedure, which is fine because as I mentioned earlier this is not necessary anyway with bunny hopping.

The reason this works is due to the air nudging that is possible in QuakeWorld. Air nudging is the reason why you can stand perfectly still next to a box, jump straight up into the air, hold forward whilst in the air and still land on the box. What happens is the game slowly nudges you forward in mid air so that you can land on the edge of the box. If this didn't happen then you would always have to run forward with sufficient room on the ground before jumping in order to gain the horizontal speed required to get onto boxes. Evidently id Software decided that it would be too frustrating for players to have to do.

These small nudges are what contribute to the speed increases you gain whilst turning with air-control. In addition, the fact that you turn at all is a little bit like an imaginary rope that binds you to something in the direction of your strafe. As you move forward the rope becomes taut, providing a counter-force, and this causes your movement to curve. So the nudging effect acts as a small amount of force in the direction of your strafe, which is why you turn.

These nudges work in all four directions too, using the strafe and forwards/backwards keys. In fact, with sufficient practice, it's possible to face in any of four directions and still perform air-control equally well by simply adjusting the keys that you use appropriately. For example, a player facing 90 degrees to his current direction of movement can swap the left and right strafe keys for the forwards and backwards keys and it will work in exactly the same way. However, a nudge performed in a direction that is opposite to the direction you are currently moving will cause you to halt in mid air. This is to help players who overshoot their jumps during platforming sequences. I believe this happens when the nudge direction is at any obtuse angle to the movement direction.

In Quake III (and Quake Live) air-control is not possible, which also unfortunately means it's not possible to maintain speed around corners as you cannot curve in mid air. However, the technique was replaced by another called air-strafing (usually called strafe-jumping when combined with bunny hopping). Air-strafing is performed in the same way as air-control, except that the forwards key must be continually held too. Again it's important that the mouse movement is smooth and that it must not be moved too quickly or you will stall.

Air-strafing will cause your character to gain speed, but unlike with air-control your movement direction wont curve. Your character's position will be slowly nudged in the direction of your strafe, but a northwards facing strafe-jumping run can never be turned east or west. Actually you do turn by a very small amount, but not by much. However, when combining this with bunny hopping it is possible to spend slightly longer on the ground to try to slide your body slightly in order to adjust your direction before jumping again. This does work to a limited degree, but you will have to sacrifice some of your gained speed to the ground friction whilst doing it. Again with practice you will get better at it.

In the games Warsow (cg_oldMovement 1) and Challenge Promode Arena (a Quake III mod), you can alternate from using air-control and air-strafing depending on whether or not you're holding down the forwards key. However, this means that the forwards key is hard-coded to trigger air-strafing, so unlike in QuakeWorld performing air-control whilst facing 90 degrees to your movement direction will not be possible. It's still possible to do it backwards though, and likewise with air-strafing for that matter.

See the following videos for a fantastic Warsow (cg_oldMovement 1) movement tutorial by Mote. The appropriate techniques can be applied to QuakeWorld (and GoldSrc) or Quake Live:
Warsow Movement School (3 video playlist)