Bunny Hopping...
remi
remedy [blu.knight] Join Date: 2003-11-18 Member: 23112Members, Super Administrators, Forum Admins, NS2 Developer, NS2 Playtester
<div class="IPBDescription">I don't get it.</div> Would someone who knows how to bunnyhop be able to make a demo using this script, showing how to bunnyhop?
alias +mvleft "+moveleft; say +moveleft"
alias +mvright "+moveright; say +moveright"
alias -mvleft "-moveleft; say -moveleft"
alias -mvright "-moveright; say -moveright"
alias -frwrd "-forward; say -forward"
alis +frwrd "+forward; say +forward"
alias +bck "+back; say +back"
alias -bck "-back; say -back"
bind w +frwrd
bind a +mvleft
bind d +mvright
bind s +bck
Or do something to allow me to see what buttons are being pressed in the demo?
alias +mvleft "+moveleft; say +moveleft"
alias +mvright "+moveright; say +moveright"
alias -mvleft "-moveleft; say -moveleft"
alias -mvright "-moveright; say -moveright"
alias -frwrd "-forward; say -forward"
alis +frwrd "+forward; say +forward"
alias +bck "+back; say +back"
alias -bck "-back; say -back"
bind w +frwrd
bind a +mvleft
bind d +mvright
bind s +bck
Or do something to allow me to see what buttons are being pressed in the demo?
Comments
i have my own clanserver where we could be undisturbed...
just pm me <!--emo&:p--><img src='http://www.unknownworlds.com/forums/html/emoticons/tounge.gif' border='0' style='vertical-align:middle' alt='tounge.gif'><!--endemo-->
Echoes don't show up in demos
Huh? I thought bunnyhopping was all about tapping jump-key repeatedly. Is there more to know?
Huh? I thought bunnyhopping was all about tapping jump-key repeatedly. Is there more to know? <!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
Your sadly misinformed.
Huh? I thought bunnyhopping was all about tapping jump-key repeatedly. Is there more to know? <!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
Your sadly misinformed. <!--QuoteEnd--> </td></tr></table><span class='postcolor'> <!--QuoteEEnd-->
Best quote evar!
You need to strafe jump(turn in the air using strafe keys, usually forward isn't held, then slowly move the mouse in the direction you are strafing) to pick up speed. You need to jump immediatly when you land to keep most of that speed. Doing this aliens can get up to 1.7 times faster than normal running but it is very hard to do when there is lots of rails, stairs and slopes everywhere.
<!--QuoteBegin--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin--> <b>TeoH wrote:</b>
<Supar-In-Depth-BH-Explanation>
First, to make sure everyone is on the same page. When i say 'Bunnyhopping'
in this post, I refer to the technique of jumping to avoid ground friction
for the purpose of increasing your speed. As used in the HL engine.
There are 2 main principles behind bunnyhopping, the first is the actual act
of bunnyhopping itself:
- Bunnyhopping
The word 'Bunnyhop' under this definition only refers to 1 specific thing -
Jumping again the instant you touch the ground. Half Life, being a game, has
a physics model that approximates certain aspects of 'real' physics, but is
obviously not an exact replica of real life. Certain things such as friction
are modelled by Half Life.
In HL, friction is only applied to contact with the floor. The is no air
resistance, and no friction when colliding with walls or cielings. This
system is designed for 1 thing only - Bringing a player to a halt once they
land from a jump or release a movement key. The engine has a value for
friction which causes a player to decelerate at a specified rate. Upon
landing from a jump, you lose your speed at so many units per second / per
second. One consequence of this comes when you realise there is no delay
between landing from a jump, and jumping again. Effectively if you press
jump at the exact moment in which you land, you will jump again instantly.
As far as friction is concerned your time spend on the floor was 0 seconds,
so ground friction has no effect on you.
If we're being scientific about this, the word 'bunnyhopping' should only be used to reference the above technique, but people also throw in a couple of other techniques under the description, because these techniques are always used together. If you're paying attention, you'll realise the ability to avoid ground friction in itself is not particularly useful, but it ties in with a few other physics quirks which i'll get to in a second.
To perform the 'bunnyhop' technique described above, all you have to do is press jump the instant you land. The timing can be a little iffy at first but you get the hang of it. It is also possible to bind jump to your mouse wheel or use a script to hammer jump a couple of times, which makes it easier to time the jump but is not necessary. Try the following test to make sure you are timing the jump correctly:
Run forwards and jump, immediately after jumping release all your movement keys. Now as you land, press jump to hop. If you time the jump correctly, you will continue bouncing forwards at your normal running speed, despite the fact that you are not holding the forwards key. Normally, friction would slow you as you land, causing you to stop still after the first jump, the bunnyhop negates this friction. This is simple to pick up, anyone can pull this off, on its own however, this technique is basically useless.
- Air brakes and the Slingshot Effect
The Halflife engine, as most people are aware, is basically the Quake 1 engine, with added Quake 2 renderers. HL's physics system is ripped directly from Q1, meaning it inherits most of its quirks. One of these quirks are the 'Air brakes' and the unintended tricks you can perform with them which make quake style air control so unique. In Q1, or in HL, if you are in the air, and press a movement command, you will generate a very very small amount of acceleration in that direction. This is a feature of just about every FPS, as it is necessary to make certain types of jumps more intuitive: eg. If you walk right up against a box, then jump and hold forwards, you will jump up and land ontop of the box. Without this small amount of air acceleration, this would not be possible. You would touch the box at the beginning of your jump, lose all forwards acceleration, then travel straight up and straight down again without landing ontop of the box.
In Q1/HL this acceleration is extremely small, whereas in Q3 or UT it is quite large. However, Q1 has an additional quirk to its air control which is not present in Q3/UT. If you apply a directional command that acts as a decelerator to your current motion, then the potency of that directional command is massively boosted. Basically, if you're flying forwards through the air, and you pull back to slow yourself down, you will stop almost instantly - Air Brakes. This works with any directional command that opposes your direction of motion, if you fly forwards, turn your view 90 degrees to the left and then press left strafe, you'll still get the instant brake effect. This was probably an intentional feature added by id software to make it easier to land on platforms and control jumps. However, it has a side effect they didn't originally consider:
If you are travelling forwards through the air, and you apply a directional command 90 degrees to the side of your current motion, you can then turn your mouse to slowly redirect this directional command away from your current direction of motion. Turn it, and it will reach an angle of 91 degrees, this directional command is now opposing your direction of motion. Which means it kicks in the extremely fast deceleration of the air brakes. Now you have a very powerful force pulling on your player at an angle of 91 degrees from your current motion, while you fly forwards at a decent speed. What happens next is easy to understand if you've seen any hollywood movie about space travel <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
The directional command tugs on you from the side, and causes you to change direction. This is equivalent to 'Slingshotting around the moon' or the old batman films where the batmobile would fire a grappling hook at a lamp post to corner quickly. To put it into simple terms so you can try it in the game:
Jump forward, preferably off a very high platform if you haven't got the hopping technique down yet.
Release all directional commands.
Make sure you are facing exactly in the direction you are travelling, and then hold a strafe key.
Turn the mouse, slowly, in the direction of your strafe key, so the strafe command begins to turn away from your current direction of motion.
This will cause you to change direction in the air. The nice thing about using the strafe keys to do this is that you'll travel whereever you point the mouse, which is quite intuitive, remember that to turn the opposite direction you have to use the opposite strafe key. Also remember that you can use any directional command or combination of directional command to perform this: If you turn your view 90 degrees to the side and hold +forwards, you are essentially doing the same thing where the +forward command is replacing the strafe key. You can turn in exactly the same way, except you face a different direction as you turn. This is pretty handy once you get to the point where you're hopping midfight, or wanting to shoot things as you hop. Using +forwards for example, you can hop in a circle around something while shooting at it. This technique works anywhere in any mod wherever the physics have not been specifically changed. In otherwords you can use this while jetpacking, you can use it while leaping, etc. etc. Unfortunately it doesn't work with the lerk because of its altered air control.
If you've tried this in the game you'll also notice something else about this technique - as you turn, you speed up.
- Acceleration bugs
All FPS'ers have a maximum running speed for their characters, that caps your ground speed to a certain value. And pretty much every FPS fails miserably in enforcing this <!--emo&:)--><img src='http://www.unknownworlds.com/forums/html/emoticons/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif'><!--endemo-->
Since the days of Doom people have been able to travel faster than they were 'supposed' to. In Doom your +forward command causes your character to move forwards at a certain speed, x units/s. Pressing a strafe key causes your character to move sideways, at x units/s. Unfortunatly for id Software they didn't catch on to the fact that if you pressed strafe and forwards at the same time, your speed would not be x units/s in a diagonal direction. You actually moved x u/s sideways and x u/s forwards at the same time giving you ground speed much higher than normal. Obviously this is a very simple acceleration bug, and it has been fixed in all modern FPS'ers, but quirks like this exist everywhere and there are many different ways of raising your speed above normal.
To go off on a sideline for a second, i'm going to give a quick definition of strafe jumping, since it seems to be confused alot. A bug exists in the quake engine games, most prominently in Q2 and Q3, where pressing strafe and forwards together (ala-Doom) will give you a boost above normal speed, but only for a very brief moment. Of course, this is exploitable by jumping just in that brief moment, so that you carry the speed into the air where there is no friction. Pressing strafe + jump together as you run forwards in Q2 will give you a noticable speed boost that allows you to jump some gaps you wouldn't otherwise be able to cross. Of course that speed boost would be lost as soon as you touch the floor due to friction - Unless you bunnyhop upon landing, letting you maintain and increase your speed. You can try this in HL, but the speed isnt really that great, you're much better off slingshotting.
In HL/Q1, when you turn in the air as described previously, you build up speed. The faster you turn the faster you will accelerate, up to a point where you lose your 'grip' on the turn and oversteer. You'll know when you do this because you'll lose alot of speed quickly and you'll no longer be travelling where you're looking. So turning in your jump accelerates you, and as you can probably imagine, hopping upon landing maintains this speed, allowing you to increase it even further in the next jump. This is the main principle behind bunnyhopping for speed in HL, and when most people say the word 'Bunnyhopping' they automatically imply the use of this turning technique. There are a few other things worth knowing about this technique - First of all, the principle still applies when you're on the floor. Running forward, holding a strafe key and turning in the direction of your strafe will temporarily increase your ground speed, and you can make use of this before you start hopping to give you a big acceleration boost:
The original name for this technique, as taken from Quake is the circle strafe jump. Run forwards at an angle to the direction you want to hop in, hold strafe and turn quickly towards your desired direction, and as you gain ground speed, jump to carry that speed into the air. You can then turn in the air to accelerate further. The turn on the ground should be done quite quickly and often looks like a 'flick'. Practice will yield better acceleration, as a quick test try the following:
Clear the water in tanith's double res location, from the top railing across the widest part of the water to land on the ground near the resources nodes. Can be done in 1 hop. Start at the high entrance nearest the Marine start, circle strafe jump once, to land ontop of the railing, then hop on the railing, accelerating in the air to clear the water. This is a nice jump to build up your quick acceleration.
- The BH Speed limit
A few patches ago valve added a restriction on bunnyhopping speed, to prevent people from accelerating forever. The cap is set at 170% of your base speed, and works in the following way:
Any time you pass 170% of your base speed in the air, you trigger a switch that will bring you back to base speed upon landing. You can still pass 170% of base speed while in the air, but upon landing you cannot hop to maintain it. Obviously the higher your base speed the faster 170% of it will be, meaning celerity skulks can still hop pretty damn quickly.
- Ramp Acceleration
This is another little quirk worth knowing, Q1 had quite interesting ramp physics where hopping while on a ramp would redirect your motion in certain ways. Jumping up a ramp would convert a percentage of your forwards motion into height, meaning if you flew into a ramp at high speed and bunnyhopped, you'd go flying into the air. And hopping down a ramp would do the opposite, converting vertical motion into horizontal motion and causing you to fly forwards. HL made some changes to the way jumps are buffered which semi-broke these physics, but hopping down a ramp for speed lives! (Sort of). If you are in the air, land on a downwards sloping ramp, and hop immediately, you will be flung forwards at high speed depending on the angle of the ramp and the rate at which you were falling. However there are 2 problems with this: Firstly it doesn't always work, why it doesn't always work i cant be sure, i can only guess that the timing of the jump is inhumanly dodgy making it impossible to get it every time. Secondly, the speed boost is often so great that you will pass the 170% limiter and lose all your speed when you touch the floor, which kind of sucks, but when it comes off right it looks great <!--emo&;)--><img src='http://www.unknownworlds.com/forums/html/emoticons/wink.gif' border='0' style='vertical-align:middle' alt='wink.gif'><!--endemo-->
- Wallrunning
Most people know this, but it does tie into bunnyhopping in an indirect way. If you are running parralel to a wall, and strafe up against it, you will get a small boost to your ground speed. This is most often done in vents, because in the open you would be better off bunnyhopping for speed. But wallrunning can be done to start a bunnyhop, for an immediate acceleration boost. My favorite application of this being as a skulk, to wallrun through a high vent, and upon reaching the end of the vent pull a wallrun-assisted circle strafe jump out of the vent, then accel in the air. You really do fly out of the vent, and with a bit of turning can land on the head of a marine a good distance from the vent, making him scream 'OMGWTHBBQ??!'
- Crouch Hopping
Forgot this bit :\
As a marine, crouching silences all movement sounds. Which is a bit of a silly idea since it allows you to jump and climb ladders silently. Crouching bunnyhopping is exactly the same as 'regular' bunnyhopping except you hold crouch after the first jump and keep it held, that's all there is to it. It does not make the hopping any harder. If crouching seems to prevent you from hopping, it can only be because you were relying on a movement command to keep your speed up inbetween jumps rather than hopping to avoid friction. In otherwords you weren't bunnyhopping, you were just jumping around randomly and looking silly.
One last important point is hopping as a skulk - Always hold crouch when hopping as a skulk to disable the wallrunning code. This isnt to stop you sticking to walls/cielings, the wallrunning actually screws up regular hopping and will cause you to 'stick' to the floor. Basically it really gets in the way if you don't disable it, just do it and don't ask questions <!--emo&;)--><img src='http://www.unknownworlds.com/forums/html/emoticons/wink.gif' border='0' style='vertical-align:middle' alt='wink.gif'><!--endemo-->
The only exception to the above is if you're trying to hop in with your model at an angle to make yourself a harder target, and that's a whole other topic.
<Supar-in-depth-BH-Explanation>
So to conclude, 'Bunnyhopping' is simply the act of jumping exactly as you touch the floor. But when people use the phrase they are usually referring to the wide range of techniques that allow you to accelerate above normal running speed - these techniques all benefit from bunnyhopping allowing them to avoid floor friction.
<!--QuoteEnd--></td></tr></table><span class='postcolor'><!--QuoteEEnd-->
enjoy
OMG OMG PM PM
You + Keyboard = Blabber
I've read the guides, and I almost learned how by watching the demos, but when I was trying it I was still holding forward, and I didn't know how to do the strafe bit properly (still don't), and I was just hoping someone might be able to make something to show when each key is pressed in a demo, because visuals are sooo much easier to learn by, especially since then you can just attempt to repeat in game what you saw in demo.