FPS Effects
In Half-Life 1, changing the amount of frames per second (fps) can affect various game mechanics. In this article we'll cover most of them. While it's better to use a high fps when speedrunning, it still has some downsides.
Note: To achieve most of the effects caused by changed fps, a value over 100fps will be used.
If you want to be able to override 100fps, you have to enter developer 1 and fps_max <fps> into your console. If you're running a SteamPipe HL1, don't forget to enter fps_override 1.
- If you're having trouble reaching +100fps, try disabling VSync in your Graphic Card's driver properties.
Please refer to our Glossary of terms.
Scripts
Higher fps value makes the scripts run faster. For example, if you run a duck-loop script at 250fps, the script will execute more +duck commands, making you Doubleduck more times than with regular fps. The good thing about this, is that you'll be able to keep your speed for longer when Duckrolling. This also affects other scripts as well, such as Bunnyhopping script. In more complex scripts, the fps_max value is often changed to achieve the best use of the script.
Movement and Objects
One of the most noticeable effects that occur when running the game at some fps values, is the movement physics.
High FPS
- The airaccelerate is slightly bigger, so combine that with the scripts running faster, and you will be able to accelerate better while Bunnyhopping.
Error code: 127
- The FPS values equal to (1000 / n) where n = 1, 2, ... make the game running full-speed without any slowdowns. Here's a list of some of those values:
- 833,333 fps
- 769,230 fps
- 714,285 fps
- 111,111 fps
- 33,333 fps
- 1000 fps
- 500 fps
- 250 fps
- 125 fps
- 100 fps
Anything between those exact frame rates makes the client behave like it's slow motion due to the movement frame time being rounded. So, for instance, if you're running at 501 fps, the movement code will think you're moving at 1000 fps thus creating a 2x slowdown.
- Objects accelerate faster with +use. Useful for Object Boosting
- Faster Wallstrafing; with 1000fps you can reach 503+ups.
- Slightly higher doubleduck height.
- Less speedloss while skimming water.
- Less slowdown sliding up slopes.
- On Multiplayer, death animations tend to stop before they've finished playing out.
Low FPS
- NPCs turn faster, while with high fps it may take them a while. For example, the guard in c1a0d has to turn in order to activate the doors. With 20fps, it will take less time for him to make the turn, than running at 250fps.
- Satchels and grenades have lower friction.
- Better Collision Boosting speed from slanted slopes (45 fps seems to be best)
- Walking with +use is faster with low fps; with 20 fps you can reach 200ups.
- Less speed needed to avoid fall damage on upwards slopes. See Landing methods.
You can receive less falldamage with certain fps values. Speedrunner Oasiz made a video demonstrating this effect.
Firing rate
It seems that the rate at which the 9mm AR/MP5 fires depends on your game's framerate, and that a lower fps value results in a higher rate of fire. Below is a table showing the difference in speed between fps values.
FPS | Time to empty magazine |
---|---|
20fps | 20,9s |
25fps | 24,7s |
30fps | 27,3s |
35fps | 23,7s |
100fps | 22,7s |
400fps | 26,1s |
If you want more accurate fire rate timings, take a look at the graph on the right.
A value of 20fps gives you the fastest rate of fire. The difference in speed between the framerate values where rate of fire is fastest and the framerate values used by most people (60fps - 100fps) can be up to half a second, which is about 10% faster. If you were using the Team Fortress Classic Heavy Weapons Guy's autocannon, you'd be able to empty your magazine 2 seconds quicker at a low framerate, which is a considerable speed increase.