Requirements:. One thing that will make it impossible for many to bunnyjump is the fps requirement. Type 'cl_showfps 1' in the console and check your fps. To bunnyjump you will need at least 70 fps, if it drops bellow that, you will lose speed. A mouse with a wheel is recommended. Another thing is that it takes alot of time to learn, I had maybe 20 hours of practice in one week before I got the hang of it. And if you wan't to do some trickjumps, you'll have to practice every jump, where you're gonna land etc. It will also be quite difficult to do in public because of low-fps, and you will always bump into teamm8s. But if you got the skill and the fps , nP ;)
The gayness in the hl engine is that you have to jump exactly when you land and you can't press the jump key before you land (like in quake). This makes it necessary to flood with +jump commands. This is easily done with the mousewheel, you just drag down the wheel when you're about to land and you will jump once you will hit the ground gaining the perfect boost. This is how all people doing it get the speed, it is dead hard to do any of my jumps without flooding +jump. I however started using mouse2 lately (got tired of dragging down the wheel all the time). So I now use this alias:
alias +bj "+jump; wait; -jump; wait; +jump; wait; -jump; wait; +jump; wait; -jump; wait; +jump; wait; -jump; wait; +jump; wait; -jump; wait; +jump; wait; -jump; wait; +jump; wait; -jump; wait; +jump; wait; -jump"
alias -bj "-jump"
bind "x" "+bj"
This makes it possible to jump with mouse2 (or space) and it is better for ur fingers ;p
How to BunnyJump: First of all there is a few things to learn. The first thing, and maybe the most difficult thing to get used to, is that you don't use the forward key at all. You just use jump, left and right. The trick is to jump exactly when you land, you here when you do it right when you here the jump and land sound on top of each other, kind of a double jumping sound. This is the most difficult thing to do, but it will be way easier using the mousewheel to jump.
Mouse Movement: Strafe left and look left about 45°, before hitting ground hold down right strafe and look right 45° then jump.
It is smart to start practice with some "circlejumping" (Jump in one big circle). Find yourslef an open area (preferably on de_dust where the fps is best) and start holding down left or right and just jump when you land. If you get some speed, then you could try to jump 2 left and 2 right, then 1 left and 1 right. A double left or right might help on your speed.
Hope you understand what I mean coz this is really difficult to explain!
Backward Jumping: If you know all the things above and can do normal bunnyjumping quite well, this won't be a big deal, most of the problem is that you don't actually see what happens. Just jump like you normally do, could start with a circle and just use the opposite strafe key, the normal mouse movement. Some things that are quite difficult is the 180s and the 360s. Doing a normal forward start to gain some speed and then do a 180 and reverse your strafing keys, or you can try to impress by just taking to 180s in 2 jumps. Just practice ;)
Grinding: The problem with bunnyjumping upwards is that you will lots of speed if you don't move perfectly. This gets more and more difficult depending how quickly the ramp goes up. Thats why you could use grinding. It works very few spots, but it is really fun to just slide up on a fence when you got the hang of it. You need lots of speed and jump on the fence, crouch, hold forward and just slide towards the top. Sofar easy. The problem is that on the top on every ramp there is a border where you will loose all speed if you hit it. So the technique is to jump on the fence, slide, and slide off right before you arrive the top border. This way you will keep nearly the same speed you had before you started to grind. Since you can't jump in the middle of a grind you need to slide off the fence. This makes it impossible to grind in the middle of the ramp cause you have nowhere to go except to hit that hideous edge. Also need LOTS of speed if you want to grind on long fences since you will loose all speed quickly if you have to little of it.