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 '12 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 '12 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. – BlueRaja - Danny Pflughoeft Jul 20 '12 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: – ChaosPointDK Jul 20 '12 at 22:48
  • This is a duplicate of gaming.stackexchange.com/questions/807/what-is-bunny-hopping – Alok Jul 20 '12 at 23:06

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 '12 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") – BlueRaja - Danny Pflughoeft Jul 20 '12 at 23:41
  • Ok. My english has it's limits. What is "Net-acceleration"? – ChaosPointDK Jul 21 '12 at 20:27
  • 1
    @ChaosPointDK: "net" means "total." It means the combined acceleration caused by all forces (holding "forward," holding "right," gravity, friction) – BlueRaja - Danny Pflughoeft Jul 21 '12 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 '18 at 6:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.