Why does strafe-jumping/bunny-hopping work?

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?


Solution 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.