Long story short, I want to know the math behind Strafe Jumping (and any other odd ways of acceleration), and I'm not sure if such info exists. If it does, could somebody either write the formula down or at least link me to any relevant information?

  • 2
    Quake 3 was GPL'ed and you can go digging in the source if you so choose: github.com/id-Software/Quake-III-Arena Other than that, you might have a better chance of getting this answered on a forum for a game based on the source, or perhaps at our sister site, gamedev
    – agent86
    Jul 20, 2012 at 21:00
  • 2
    The calculations for movement within Quake 3 are explained very well in this strafe jumping theory article on F3Quake but as mentioned by agent86 for further information you're probably going to want to communicate with a more specialist source.
    – kalina
    Jul 20, 2012 at 22:22
  • I hope you don't mind, but I've added the counter-strike and counter-strike-source tags, since this technique is commonly done in both of those games as well, and works exactly the same way. This should open the question to a broader audience. Jul 20, 2012 at 22:45
  • Thank you for editing the question. I wasnt really sure how to write it myself, since its 0:48 AM and my brain doesnt work too well that time o' day c: Jul 20, 2012 at 22:48
  • This is a duplicate of gaming.stackexchange.com/questions/807/what-is-bunny-hopping
    – Alok
    Jul 20, 2012 at 23:06

1 Answer 1


Reading through the link provided by @pixel above, it appears the reason that strafe-jumping works is actually pretty simple.

Instead of capping the maximum velocity, the authors of Quake/CS cap the net-acceleration of the player such that the velocity in the acceleration's direction will not exceed the max velocity. This means that, if you accelerate in a direction other than the direction you want to move in, it is possible to exceed the maximum velocity.

I'm not sure why they didn't simply cap the maximum velocity itself, but since that is the obvious solution and almost certainly the one they tried first, they must have had a good reason to change it.

  • 1
    It's kinda confusing to use 'max velocity' when what you're saying implies that there is no max velocity, except for the direction that you 'want to move in'. What do you mean by 'want to move in' - the direction you are facing? The direction your are moving with WADS?
    – Sadly Not
    Jul 20, 2012 at 23:06
  • @SadlyNot: No, max velocity is exactly what I mean. They cap the acceleration on a frame-by-frame basis in an attempt to cap the velocity, but that does not work as they likely expected. By "direction you want to move in," I mean the direction you will be moving in, after the acceleration-vector is added to the velocity. This is separate from both the direction you're facing and the direction you're accelerating (aka "direction you're moving with WASD") Jul 20, 2012 at 23:41
  • Ok. My english has it's limits. What is "Net-acceleration"? Jul 21, 2012 at 20:27
  • 1
    @ChaosPointDK: "net" means "total." It means the combined acceleration caused by all forces (holding "forward," holding "right," gravity, friction) Jul 21, 2012 at 21:09
  • 1
    Great answer! Re: "I'm not sure why they didn't simply cap the maximum velocity itself" -- The usual reason to avoid this is that you want other forces to be able to accelerate you above the max running speed, whether it's for rocket jumping, jump pads, or other external forces.
    – Jibb Smart
    Dec 14, 2018 at 6:54

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .