How to implement "air-strafing" in the BGE? Introduction

What exactly is "air-strafing"?


Air strafing is a technique in which a player would sync strafe keys and mouse movements when in-air. (For example, if you press the right strafe key, you would move your mouse rightwards smoothly as you hold the key).
It had spawned an exploit - a player can exceed maximum velocity; this will give the player additional speed.
It was unintentionally created (as a bug) back in Quake.


Reasoning

So why exactly does air-strafing work? What is the specific anomaly/cause?


Instead of limiting velocity directly, only the projection of the current velocity onto acceleration is limited.
This way, in certain scenarios, the velocity projection is less than the actual velocity!
it's simple really, 

just use seperate logic to apply forces on axis independently, and have each key only apply a cap to it's own directions

if keypressW.positive:
    if own.localLinearVelocity.x&lt;10:
        own.applyForce((100,0,0),1)
if keypressE.positive:
    if own.localLinearVelocity.y&lt;10:
        own.applyForce((0,100,0),1)


this way X(10) + Y(10) is greater then X(10) could ever be.