Jumpbugging is, next to the Edgebugging, one of the most famous techniques to avoid taking fall damage.
https://www.youtube.com/watch?v=wzM7Fj_RujM
First ever jumpbug was performed by Tjubby while playing kreedz climbing on March 2, 2007 or a little earlier. This was mentioned in the Xtreme-Jumps news post "XJ's weekly #17" (migrated to Kreedz):
Tjubby has found a new way of surviving from heights. This is not considered an edgebug, this is a "jumpbug". Tjubby has released a demo on how to do it. I'm sure this "jumpbug" will change a lot of things in the KZ world.
Tjubby's Jumpbug Demo
That looks odd right? Tjubby says that it works 1 out of 40 times, wierd stuff. It's possible that the players in the KZ community are the most knowledgable players in the Counterstrike community.
This is what eDark had to say about this:
"You have to release the duck key in the frame were you would land and you make a doubleduck without reaching the ground. The engine then only calculates the way of the doubleduck and not the way from the fall before."
This knowledge was later shared on April 13, 2007 in the "Half-Life Tricks and Glitches" thread on Speed Demos Archive by the user (M.E.O.)St. Jimmy:
Hi... there's a jumpbug in CS 1.6 ... I think maybe it works in HL ... but I'm not sure, you should try it:
you fall ducking, and when you would hit the floor, you stop ducking... and then jump or doubleduck... then the engine thinks you made that jump or doubleduck and you don't loose any HP ... maybe works in HL... just try it... it's so hard, not fot a single-segment run, but so useful to fall and take no damage... someone made a video showing the jump bug in CS 1.6
just go to youtube and search
cs jump bugGL & HF
![]()
Another instance of mentioning jumpbug was on July 29, 2009. It was brought up by the user fuzzerd in a thread dedicated to Half-Life TAS:
I don't know if these are known to the hl speedrunning community or not, but I thought I should mention the edgebug and jumpbug, I'm not sure if the jump bug works in HL or just CS but it could probably save a few seconds in places you would otherwise have to grab onto a ladder for. it works (at least in cs) by jumping and letting go of duck on the same frame when you are within 4 units of the ground.
But OlikA replied:
I already tried the jumpbug but didn't worked in hl, but others should try it also.
And, ultimately, no one made anything of it back then. It wasn't until a month and a half later, on September 16, 2009, that OlikA gave jumpbug another chance in a newly created thread titled "Half-life Jumpbug + TAS question":
<...> So why did I made a new thread. I already saw mentions about the jumpbug but as far as I know, nobody used it or said that it works 100% in HL too. I hope that you can use this trick in HL engine based speedruns as a good shortcut technique (so you don't needs those cliffs anymore). btw i made a demo to prove it [latest hl]: : <...>
When double jumps went defunct in Source? In builds after 4104.
When jumpbugs were first discovered in Source? 2015?
In order to perform jumpbug, the player has to fall down, duck (hold the duck key), and then, when close to the ground, jump and release duck at the same time.
When the player unducks, their full-sized bounding box should end up within 2 units from the ground, or otherwise they won't be able to jump on the very same frame which is required for the bug to work.
Since GoldSrc and Source use different physics simulation systems, there are a few differences between them.
Jumpbugs can be perfomed on any solid surface (ground, another player, solid entity), from any height, with any vertical and horizontal speed, but the more vertical speed you have the less likely it is that you will "fit" into the 2-unit window.
The default maximum falling speed is 2000 UPS, which means that on default settings at 1000 FPS there will always be at least one frame for unducking and jumping.
https://www.youtube.com/watch?v=nc3Tboa3LXU
Unlike with GoldSrc engine, Source games physics simulation is tickrate-based. That means the player can't just swap their framerate for a better jumpbug setup. And tickrate can't be changed mid-gameplay whatsoever, nor allowed to be changed in runs at all.
In old engine and early new engine Source games jumpbugging was not as effective due to double jumps (jumping adds speed instead of setting vertical speed), resulting in a jumpbug not canceling all fall damage, only reducing it by the amount of upward speed added to the player.
Since jumpubugs are limited to the player's speed and height, they are quite hard to hit on the fly. Thus, they are never used in RTA runs, because there are a lot more accessible alternatives for a safe landing.
In segmented runs jumpbugs are preffered over edgebugs or slopebugs, since you jump immediately after landing, which is rarely the case for other falldamage canceling methods. Jumpbugs are usually brute-forced by spamming duck and jump. Doing jumpbugs this way is much easier and guarantees a 50% chance of successfully hitting one, as long as it's possible with the given height and speed.
To see if a jumpbug is possible at all, use spt_canjb <ground_height> SPT command.
https://www.youtube.com/watch?v=PWKCsZtnSiY
While jumpbugs are also technically possible in Portal, there is no fall damage to worry about to begin with.
https://www.youtube.com/watch?v=XIBqC-8ynO0
TODO: Make a more in-depth explanation.
The engine applies fall damage if the player is on the ground at the end of a movement frame. During a jumpbug, which occurs within one movement frame, the player starts and ends in mid-air, with falling and jumping happening in between, causing the game not to apply fall damage due to uncertainty about the player's grounded state.
Visual illustration of how jumpbug works.