Facts and figures
Optimising variables for wall-hugging
Server framerate Best angle with cl_fs = 200a Best angle with cl_fs = 400b Best cl_fs when parallelc Maximum possible speed
(fps) (degrees)d (pixels/s)
10e 24.97.0500326.6
1119.71.4390332.7
1215.5-2.8340339.4
1312.7-7.0310346.7
149.8-9.8280354.2
157.0-11.2260361.9
165.6-14.1250369.5
174.2-16.9230377.2
182.8-16.9220384.9
191.4-18.3210392.5
20f 1.4-18.3203400.0
211.4-18.3207407.0
222.8-16.9211413.1
232.8-16.9215418.7
242.8-16.9219423.5
252.8-16.9222427.6
262.8-15.5225431.6
274.2-15.5227435.0
284.2-15.5229438.2
294.2-15.5232441.2
30g 4.2-15.5234443.8
314.2-14.1235446.2
324.2-14.1237448.4
334.2-14.1239450.6
345.6-14.1240452.6
355.6-14.1242454.5
365.6-14.1243456.2
375.6-14.1244457.7
385.6-14.1246459.2
395.6-14.1247460.4
405.6-14.1248461.8
415.6-12.7249463.2
425.6-12.7250464.3
435.6-12.7251465.4
445.6-12.7251466.5
455.6-12.7252467.5
465.6-12.7253468.5
477.0-12.7254469.5
487.0-12.7254470.2
497.0-12.7255471.0
507.0-12.7256471.8

Notes

a
This is the angle to the wall at which you should run if you play with "Always Run" off and do not alter cl_forwardspeed.
b
This is the angle to the wall at which you should run if you play with "Always Run" on and do not alter cl_forwardspeed.
c
This is the value you should set for cl_forwardspeed if you run parallel to the wall
d
A positive angle is out from the wall, a negative angle is in to the wall
e
NQ servers with sys_ticrate 0.1 have this fps. As you can see, wall-hugging isn't worth bothering with on these.
f
NQ servers with sys_ticrate 0.05 (the default) have this fps. Here you get useful results.
g
Most QW servers run at least as fast as this, so wall-hugging is certainly very effective on these servers.

Getting these results involved all kinds of messing around including building some bot-like players that would run the experiments and using them to collect thousands of sets of data. I found it fun, but I think there is probably something seriously wrong with me. smiley People who helped with this "cyberscience" by running tests or writing utilities include Stefan Schwoon, Nolan Pflug, Yonatan Donner, Patrick Cupka, Drastic_Man, and Chris Longden - my thanks to them all.