Technical aspects of Bunny Hoping


Hi everyone. I’m working on my FPS game for some time now and i want to implement bunny hopping like in Quake and Half Life 1 (not HL2 where you just spam jump). So if anyone can explain HOW and WHY BHop actually works (because it’s a bug after all) so i can implement it to my game that would be awesome. Thanks !


Basically, by airstrafing (moving in mid-air by using A-D keys) you can gain additional speed and exceed the walking speed limits. Of course, when you land on the ground, that speed is reduced again due to friction (or the set amount of speed by the engine). In order to preserve the speed, continuous jumping (bunnyhopping) is used to minimize the friction that you get on the ground by jumping as soon as possible, allowing you to continue gaining speed.

Hope this helps. Will be waiting for the updates on your game! :slight_smile:


For a far better understanding on how it works, vector handling included: take a look at Quake 1 engine’s source code (yup, id Tech is open source) and/or the Half-Life SDK.


Thanks guys i look up the source code for Hl and Quake. As for the game itself. It’s really early in development and i’m just a programmer so i want to make basic game logic, physics and whatnot, then find the team for level design, models textures etc. But i can say that i want to make an oldschool FPS (I need to chose yet if i want game like a Quake/HL/Doom or Serious Sam/Painkiller) for casuals and pro players. I want to implement all cool features for speedruners (that doesn’t mean i will intentionaly make bugs in my game) like build in game timer, visible triggers toggle, basicly whole “debug” mode for makings strats.

Also (that’s just my idea it might change later) i want to make this look kinda like games on Build engine (duke 3D, blood etc) that is world in 3D, enemies and objects are sprites But in really high quality, maybe even real photographs. Just my stupid “artistic” vision


The bhop works because (probably) Valve forgot to properly limit the speed gained by (air)acceleration. And yeah, stuff from pm_shared.c, mainly PM_AirAccelerate is the place to look at.


That’s the idea, i must implement “buggy” air acceleration system.


While you are at it, make it so that the game physics feel just like in Half-Life, haha


That’s what i want to do because the movement system in Half Life feels soooo good. I even made Crouch Jump Haha. Does any game besides GoldSRC and Source based games have that ?


Could you perhaps share any information about your game? It’s always interesting to follow the development of video games, especially on an indie level!


Now it’s just a plain box level and i’m making the players movement, weapons etc. I really like the feeling of movement in games based on goldSRC and Source so i want to recreate that as much as i’m able to.

I try to duck jump in every fps game and it pisses me off that you can’t do that !! hah, it’s so weird only games on GoldSRC/Source has this feature.


BTW. I’d be more than happy to share with you with the progress but not now. It’s just not much yet to brag about. And onther think that came to my mind. IIRC Many of people in SourceRuns said that they would like the be a test players in games. If i will make this game for real i will give you an access to it for sure :wink:


Sounds cool! I for one would definitely want to beta test (and horribly brake) your game! :slight_smile:

Oh and by the way, if you would like any sort of help with original music, motion graphics or anything just let me know. I’m more than willing to help out in any way possible.


I’m quite interested in this too, seems really fun! Also, I would help with music maybe, though I’m somewhat lazy so I might take a while :stuck_out_tongue:


I’m currently implementing bhop into my game too! Or more specificly, my game will be all about bunny hopping. If you want to take a look at my source code, you can find the whole project on my GitHub:
There is a (really basic) version you can download. I’m still working on the physics, and I will continue doing so until the movement feels the way I want it to.
I mostly used the guide below to do it, however there were some other sources that I can’t find right now.
If you have any questions/suggestions/whatever you can PM me, I’m happy to help :slight_smile:

EDIT: When I finally get the new version out I will make a new thread here to get your opinions about movement.


oohhh… I saw that on GitHub randomly :smiley: I think YaLTeR forked it and I was looking for SPT.


Crouch jumping exists in one of the Modern Warfare games, that much I know, and I think Battlefield as well (at least the earlier ones)