And after considering it more, I really think this is an error or oversight in the original Quake code that has gone unfixed for a long time (actually, Quakespasm has fixed it!), and it really should be fixed in modern clients. Unfortunatly, a lot of engine coders want to keep Quakes default behavior because they think it's what we, the players, want. So if you don't like this behavior, tell the developers to fix it!
Now here an illustration of the problem.
The default movement speeds in Quake are:
cl_forwardspeed 200
(and cl_backspeed 200)
cl_sidespeed 350
So basically the default "diagonal" (if you are moving forward + sideways) walking speed in Quake has you to move 2 steps forward and 3.5 steps to the side.
So imagine a line starting at the lower . and ending at the top right .
Just go ahead and draw a line on your monitor with a marker to connect the dots
Code: Select all
21.2.3.
.
1
.
If you "run" using a Run key (+speed), those steps are both doubled, so you will be trying to take 4 steps forward and 7 steps to the side (the actual settings would effectively become 400 and 700).
Imagine your line of moment now starting at the lower . and ending at the 7
Code: Select all
41.2.3.4.5.6.7
.
3
.
2
.
1
.
You can see it is the same line of movement -- it just travels twice as far. Of course, you won't make it that whole distance, because there is an absolute speed limit of 320, but you will still be traveling along the exact same line, in the same direction as before, until you hit the speed limit.
Now, turning on "Always Run" in the menu simply sets your forward speed (and back speed) to 400 (doubling it) but it doesn't touch your side speed at all (leaving it at 350 -- not to mention it doesn't affect your cl_upspeed for swimming/flying up and down). With Quake's maximum speed limit being 320, you might think this would make little difference since the side speed was already higher than that....
However with "Always Run" ONLY modifying your forward speed, you will then be taking 4 steps forward and 3.5 steps to the side, which greatly alters your line of travel. Now you are traveling from the lower . to the upper right . again
Code: Select all
41.2.3.
.
3
.
2
.
1
.
The total distance you will end up moving will be the same (the absolute speed limit) but your position will be different because you are moving along a different line in each case....
You can still activate the run key (+speed) when "Always Run" is ON, but it will make no difference because, again, it effectively doubles the values that have been set, so you would end up with a forward speed of 800 and a side speed of 700, which would not make a difference because you would still be traveling along the same line and hitting the absolute speed limit.
I believe the first line of movement is the correct intention for Quake, since it applies to the default walking and running methods.
I think with the "Always Run" menu option, id simply overlooked that it was supposed to also apply to the sidestep speed, which IS supposed to be doubled along with the other speeds when running (along with up/down speed, which IS affected by +speed).
I'm betting most people, when they figure out how to make console settings, will not be using the "Always Run" menu option speeds alone, because they feel wrong in the game -- if you can't side-step fast, you will die a lot. Though I suppose some people just get used to the lower side-step speed and end up preferring it that way.....
How does everyone else set it up?
I make sure "Always Run" is off, then I simply issue a +speed command in the console (through a config file) so that I am always running correctly.
If you have "Always Run" ON, you can address the problem by also doubling your side speed with cl_sidespeed 700 (then you'll be moving along the correct line again, even though you will never make it a distance of 700 in one "step").
Another disadvantage of having "Always Run" ON is that you can't easily toggle it OFF. For example, I use a reverse +speed key so that I am running by default (with +speed applied), but when I press the key, -speed is applied so that I can walk (when I want to make small position adjustments), like this:
Code: Select all
+speed
alias +slow -speed
alias -slow +speed
bind x +slow
So, yeah, "Always Run" = bad and wrong. Does anyone really use it and like the way you move?
Of course, the "quick fix" would be for Quake engine coders to have "Always Run" also set the cl_sidespeed (and cl_upspeed) to 700 along with setting the other speeds to 400.
Quakespasm goes a step farther and, if you have "Always Run" ON, it will cause your usual +speed key to automatically act as a +slow speed. That's a nice touch.