Quake Movement Speed Training

Demonstrations and tips for realizing Quake movement speed techniques explained in "The code behind Quake's movement tricks explained (bunny-hopping, wallhugging, and zigzagging)" by Matt's Ramblings, using visual elements from quakespasm-shalrathy.

The demonstrations are all done on the map "100m.bsp" from SDA Bunny Comparison. This is a good map to train on because its open, brightly lit, and have many demos to see how others are using movement speed techniques and compare your progress against.

Speed visual elements in quakespasm-shalrathy

Commands: Legend:

Speed turning

Turning increases speed. Different turning angles increases speed differently. Walking straight have a speed of 320. By turning with the keyboard or mouse we can reach speeds up to 493. Pay attention to the "Speed angle plot" to see which turning angle give the most speed.

The best view angle is the same whether moving forward and strafing to one side, or when only moving forward. But strafing makes jumping be more forward, this is useful for circle jumping.

Increase speed up to 418 by turning (cl_anglespeedkey 1.5 (default)).
"Speed angle now" plot shows that if we turned more we would gain more speed.
Increase speed up to 380 by turning too much (cl_anglespeedkey 3.0).
"Speed angle now" plot shows that if we turned less we would gain more speed.
Increase speed up to 493 by turning just the right amount (cl_anglespeedkey 2.15).
"Speed angle now" plot shows that turning more or less would decrease our speed.
Heatmap showing how much speed is gained by looking left/right when moving at different speeds when running forward. Y-axis is traveling speed, x-axis is degrees looking left/right from the direction of movement, green colors indicate traveling speed and look degree increases speed, red colors indicate speed decreases.
We can see that moving forward without looking left/right tops out at about 320. And if we look left/right at just the right angle we top out at slightly less than 500.

To train speed turning you can look at the "speed angle now" plot (with scr_speed 3) while turning the mouse. Make a constant turning angle that keeps the "speed angle now" plot center at the peak speed increase. You can use scr_speed_angles 45 to better see the speed peak in the "speed angle now" plot. Using host_framerate 0.005 more clearly shows the best turning speed, but the timing is different so training with slowmo is unproductive. Speed turning is unlikely to be helpful in real Quake situations.

Zigzagging

Strafing left and right in quick succession increases speed up to 405.

Quickly strafing left and right increases speed up to 405.
The speed history plot shows speed increases with big fluctuations.
Slowmo. The "Speed angle now" plot first shows speed increase up to 320 by going forward.
Then when strafing the "speed angle now" plot momentarily change shape the current view angle quickly goes past a peak of speed increase.
Slowmo. The "Speed angle now" plot show that we get a momentary increase in speed by strafing in one direction, and get another momentary increase in speed by strafing in the opposite direction, when the angle has gone past the speed increase peak.

To train zigzagging just hit strafe keys as fast as possible. I do not think human reaction times will be fast enough to reduce speed.

Wallhugging

Going forward and strafing into a wall increases speed up to 465. Speed increase changes depending on your horizontal view angle.

Maximize speed by moving the horizontal view angle so the peak value in "speed angle now" is in the center of the plot.

To train wallhugging walk against walls on the left and right and find the perfect viewing angle by looking at the "speed angle now" plot (with scr_speed 3). You can use scr_speed_angles 45 to better see the speed peak in the "speed angle now" plot.

Circle-jumping

Circle jumping or strafe jumping is just speed turning and jumping to keep the increased speed while in the air. Like speed turning it can increase speed up to 493. But the increased speed is kept while in the air, and while going a specific direction.

Getting maximum speed increase of 493 requires turning about 270 degrees. Turning fewer degrees gets less speed but avoids looking backwards, which adds up to more forward speed overall.

A turn of about 90 degrees giving a speed of 466.
The "speed angle now" plot shows that the turning angle is near the peak speed increase for the turning part of the circle jump.
The "speed angle jump" plot shows that the jump happened when the turning angle is near a peak, but it happens too fast to properly tell.
Slowed down version of circle jump of about 90 degrees giving a speed of 459.
The "speed angle now" plot shows that the turning angle is near the peak speed increase for the turning part of the circle jump.
The "speed angle jump" plot shows that the jump happened when the turning angle is near a peak.
This is more difficult for me than the real-time circle-jump because the slowmo turning timing is different.
200 degree perfect circle-jump using only keyboard with cl_anglespeedkey 2.15.

To train circle-jumping you can split it up into two steps:

  1. Do circle-jumps but focus on the "speed angle jump" plot (with scr_speed 3) and ensure you jump when the view angle is close to the peak speed increase.
  2. Do circle-jumps but focus on consistent change in your view angle. Try different turning speeds to maximize maxspeed (with scr_speed 1).

Other tips:

Bunny hopping

Bunny hopping is continually jumping while speed turning in the air to gain speed. Bunny hopping can increase speed up to about 500 before friction from being on the ground between jumps reduces speed more than it can be increased in the air.

Speed turning in the air is slightly vs on the ground has differences: The optimal view angle is different. The optimal view angle is not the same when only strafing vs. when moving forward and strafing. And the possible speed increase in the air is less than on the ground.

A good approach to increasing speed in the air is to not move forward but only strafe in a direction. The view angle should continually turn towards the strafing direction. To move forward instead of jumping around in a circle you often change strafe direction and the view angle turning direction.

Bunny-hopping by gaining speed the air using speed turning while only strafing.
The "speed angle now" plot has tiny peaks of speed increase that quickly move away from the viewing angle. The small speed increases quickly adds up because there is no friction in the air.
The "speed history" shows that we lose speed when landing, and when switching the strafe direction, and that we lose more speed the faster we are going.
To get a high speed there are some wild turns which means the forward speed is also reduced. Switching strafing direction more often will reduce wild turning but requires more complex button mashing.
Heatmap showing how much speed is gained by looking left/right when moving at different speeds in the air while strafing left. Y-axis is traveling speed, x-axis is degrees looking left/right from the direction of movement, green colors indicate traveling speed and look degree increases speed, red colors indicate speed decreases.
The plot is shown one game tick after strafing left.
We can see that we gain speed by turning slightly to the left, the faster traveling speed the narrowed the angle gets. When strafing right the plot is mirrored.

Bunny hopping is different in QuakeWorld and Netquake/Dosquake/Winquake/GLquake/Regular quake/rq. In QuakeWorld there is no ground friction when bunny hopping. This difference means that bunny hopping in QuakeWorld does not require as precise speed turning to gain speed, and it means there is no limit to how much speed can be gained with bunny hopping.

Bunny hopping in emulated QuakeWorld (sv_bunnyhopqw 1). Final speed is 721 compared to the Netquake speed of 501.

Training bunny hopping tips:

Power bunny hopping

Power bunny hopping is bunny hopping but also briefly holding forward when landing to avoid loosing speed due to friction. Power bunny hopping can increase speeds to about 700. Ground friction is still a problem because the required view angle have to be so precise at high speeds.

Power bunny hopping is not required for QuakeWorld. There is no ground friction so regular bunny hopping in QuakeWorld is faster than power bunny hopping in Netquake.

Power bunny hopping is easier when "Always run" is off and the run is always pressed. To ensure this is the case, disable "always run" and run the command +speed.

Power bunny hopping is still speed turning. But speed turning is different in the air vs. on the ground, and we are only on the ground for one game tick. The optimal view angle when on the ground, and moving forward, and strafing, and moving above 450 is turning slightly into the strafing direction. The optimal view angle when in the air, and not moving forward, and strafing is continually turning into the strafing direction. So power bunny hopping requires quickly and precisely switching between these two types of speed turning.

The more speed you have the more ground friction reduces speed. This means that getting a single power bunny hop can take away all speed increases from several perfect speed power bunny hops. The faster you move the more friction reduces speed and the harder it is to hit good landings. This makes power bunny hopping difficult to use in general Quake situations.

Starting from walking speed. Only do the power part of power bunny hopping, so no speed turning in the air.
The "Angle speed jump" plot shows that the view angle when jumping. The plot also shows that the peak speed increase in the plot decreases as speed increases.
The "Speed history" plot shows that speed is kept constant while in the air, and when landing the speed is increased.
Max speed reached is 433.
Power bunny hopping starting from walking speed.
The "Angle speed jump" plot shows that the speed increase peaks become smaller as speed increases, and the peaks get steeper making it more difficult to set the view angle correctly.
The "Speed history" plot shows that speed continually increases a little due to speed turning in the air. And that the speed increases a bit more when jumping up to 500.
Max speed reached is 503.
Power bunny hopping starting with circle jump.
The "Angle speed jump" plot shows that the view angle is good most of the time. But even so the speed does not get above 566.
The "Speed history" plot shows heavy fluctuations because tiny mistakes decrease speed significantly when going fast enough.
Max speed reached is 566 and the final time is about 0:10.80.
Current best 100m time by Crashfort.
Demos does not record key presses so the view angle calculation is missing. But the "Speed history" plot shows how much speed is possible.
Max speed reached is 672 and the final time is 0:09.59.
100m time by Karol in 0:10.10 using a different method.
Demos does not record key presses so the view angle calculation is missing.
100m time by Blacksecret in 0:10.30 using a different method.
Demos does not record key presses so the view angle calculation is missing.
Heatmap showing how much speed is gained by looking left/right when moving at different speeds at the game tick on the ground between jumps. Y-axis is traveling speed, x-axis is degrees looking left/right from the direction of movement, green colors indicate traveling speed and look degree increases speed, red colors indicate speed decreases.
The plot shows that looking slightly into the turning direction increases speed up to 500. And the higher the speed, the narrower the view angles that increase speed.
Heatmap showing how much speed is gained by looking left/right when moving at different speeds at the game tick on the ground between jumps. Y-axis is traveling speed, x-axis is degrees looking left/right from the direction of movement, green colors indicate traveling speed and look degree increases speed, red colors indicate speed decreases.
This plot shows what happens when always run is on. The optimal view angle is now farther away from straight ahear and its the opposite direction to the strafing direction. This explains why it is more difficult to power bunny hop when always run is on.
The plot shows the best viewing angle relative to forward for the landing frame in power bunny hopping. y-axis is player speed, x-axis is how far away the player is looking from the forward direction, the lines show where to look to get best speed and close to best speeds. We can see that looking straight ahead only looses about 5 speed per jump between normal movement speeds from 420 to 600. A strafe jump give you about 420 speed when landing so, when strafing left, the best look direction is about 15 degrees left of forward. But the speed gained decreases sharply if you look too far left, so its safer to look maybe 10 degrees left of forward.
The plot shows how much speed is gained for the landing frame in power bunny hopping. y-axis is player speed, x-axis is speed gained or lost on the landing frame, the lines show how speed change when looking at best direction and close to best directions. We can see that looking in the perfect angle only adds a few speeds and only when moving below speed 500, so the point of power bunny hopping is to reduce the speed lost in the landing frame. We can see that looking too much toward the strafe direction looses much more speed than looking too much the opposite direction. We can also see that even 10 degrees off of perfect does not reduce your speed too much, so power bunny hopping does not have to be super precise to increase your speed.

Training power bunny hopping tips:

Plots

There are four speeds you can move forward: These different forward speeds changes the normalized vectors that ends up increasing speed by turning.
Heatmap showing how much speed is gained by looking left/right when moving at different speeds on the ground. Y-axis is traveling speed, x-axis is degrees looking left/right from the direction of movement, green colors indicate traveling speed and look degree increases speed, red colors indicate speed decreases.
These plots show the speed increases for all speeds and strafing directions at the game tick you are on the ground when bunny hopping.
Looking at all speed combinations we can see that strafing and moving forward with +speed and always run off have the speed increases closest to looking straight ahead.
Heatmap showing how much speed is gained by looking left/right when moving at different speeds in the air. Y-axis is traveling speed, x-axis is degrees looking left/right from the direction of movement, green colors indicate traveling speed and look degree increases speed, red colors indicate speed decreases.
These plots show the speed increases for all speeds and strafing direction after one game tick of that movement. If the plots were on the same game tick the movement was triggered then the max speed increase would be straight ahead, that one game tick is not relevant for real gameplay.
Looking at all speed combinations we can see that strafing and not moving forward have the speed increases closest to looking slightly to the strafing direction.
Heatmap showing how much speed is gained by looking left/right when moving at different speeds on the ground. Y-axis is traveling speed, x-axis is degrees looking left/right from the direction of movement, green colors indicate traveling speed and look degree increases speed, red colors indicate speed decreases.
These plots show the slight speed increase changes when looking up/down on the tick on the ground when power bunny hopping.
Going just forward have no change. Going forward and strafing left/right changes optimal view angle by about 2 degrees when looing all the way up/down compared to looking at the horizon. A change too subtle to be noticeable or exploitable.
Heatmap showing how much speed is gained by looking left/right when moving at different speeds. Y-axis is traveling speed, x-axis is degrees looking left/right from the direction of movement, green colors indicate traveling speed and look degree increases speed, red colors indicate speed decreases.
These plots show the speed increase when in the air and strafing left/right without moving forward for different angles of looking up/down.
There are no changes to speed increase depending on how up/down you look.

Tool assisted speed

TAS Quake uses different techniques that utilize joysticks and super precision to maximize speed while ensuring the recording is fun to watch.

Best TAS 100m time using TASQuake.
Demos does not record key presses so the view angle calculation is missing. But the "Speed history" plot shows how much speed is possible.
Max speed reached is 702 and the final time is 0:08.97.

We can also use tools to maximize speed but apply them to the normal movement speed techniques. These commands change the view angle to gain the most speed.

TAS 100m run that updates view angle. This is difficult to control because the tool turns too fast and makes it difficult to go in a straight line.
Max speed reached is 648 but the final time is slow.
TAS 100m run that does not update view angle. Not updating the view angle means the air turning move sideways more than normally and thus does not go in a straight line.
Max speed reached is still 648 and the final time is still slow at 0:10.75.

Using speed helpers we can test maximum speeds for the separate techniques. These demonstrations use a larger map manym.bsp.

TAS manym run using only sv_speedhelppower 1. We can see how just the power-part of power bunny hopping increases speed up to 481.
TAS manym run using only sv_speedhelpbunny 1. We can see how just speed turning in the air increases speed up to 595 going forward and 630 when going in a circle.
TAS manym run using both sv_speedhelppower 1 and sv_speedhelpbunny 70. We can see that power bunny hopping increases speed up to 750.
TAS manym run using TASQuake. Demos does not record key presses so the view angle calculation is missing. We can see using all tricks increases speed up to 753 in less time.

More

Quake speed techniques resources:

Document

Original author is shalrathy, shalrathy@gmail.com, https://github.com/shalrathy.

History:

CC0
To the extent possible under law, shalrathy has waived all copyright and related or neighboring rights to Quake Movement Speed Training.