Half-Life

Half-Life

226 ratings
Achieving The Optimal Half-Life Experience
By toodles
Methods to fix issues & improve your experience with Valve's classic game!
6
   
Award
Favorite
Favorited
Unfavorite
🛠 Introduction
NOTE: This guide has not been updated for the 25th anniversary! Some of the problems described here have been fixed. I'll update it soon to reflect the changes.

While Valve has done a pretty good job of keeping their classic titles up-to-date for modern machines, it's become obvious to me over my time as a Half-Life enthusiast that some of the settings these games ship with are sub-optimal. This guide will inform you of the options you have at your disposal!

This guide may be labeled as a Half-Life guide but, many of the settings here will apply to multiple or even all games running on the GoldSrc engine (such as Counter-Strike, Team Fortress: Classic, and the almighty Ricochet).

I have also attempted to keep this guide free of anything that could be considered a spoiler, for people on their first play-through.

Any console commands provided here can be saved with either method shown below! The exception being launch parameters, which must be put in your game's launch options.

Guide updates:
  • 4/24/22 - Updated the recommended FOV to 107 (previously was 120)
  • 4/26/22 - Better screenshots
    Rewrote minor stuff
    Removed some unnecessary stuff
🛠 Saving Configs via Launch Options
The easy way to save custom settings is via the game's launch parameters!

(It should be noted that these settings will not carry across games and you'll need to do this for any game, in addition to Half-Life, you wish to apply it to.)

Firstly: we will access our launch options!
  1. Find Half-Life in your Steam Library game list.

  2. Right click it and select "Properties"

  3. Go to the "Launch Options" at the bottom of the pop-up window.

Any commands you put in here will be executed when the game starts up.

These are my recommended launch parameters for Half-Life:
If you wish to simply copy my settings, feel free to.

Throughout the rest of the guide, I'll end up explaining what most of them do.

-window -noborder +fps_max 60 +fps_override 1 +gl_texturemode gl_nearest_mipmap_linear +gl_round_down 0 +default_fov 107

Commands are and MUST BE prefixed with a "+".
Launch options are prefixed with a "-".
🛠 Saving Configs via A User Config
Any changes you make to settings via commands should be saved in a configuration file to ensure these settings are applied each time the game starts up. (Many commands don't archive automatically when entered through the console.)

How does one do such a thing? I'm so glad you asked!

Firstly: we will access / create our config file!
  1. Find Half-Life in your Steam Library game list.

  2. Right click it and select "Properties"

  3. Go to the "Local Files" tab and select "Browse".

  4. You should now have the Steam "Half-Life" folder open in your file explorer.
    From here, open the "valve" folder.

  5. Find "userconfig.cfg".
    If it does not exist, create it by making a new text file and renaming it to "userconfig.cfg"!
    (Make sure you replace the "txt" extension with the "cfg" extension.)
    (You don't want "userconfig.cfg.txt"!)

  6. Open the file with your text editor.

Any commands you put in here will be executed when the game starts up, or when you apply settings in the options menu.

This is my recommended userconfig for Half-Life.
If you wish to simply copy my settings, feel free to.

Throughout the rest of the guide, I'll end up explaining what most of them do.

zoom_sensitivity_ratio "1.0" fps_max "60" fps_override "1" default_fov "107" gl_texturemode "GL_NEAREST_MIPMAP_LINEAR" gl_round_down "0" ex_interp "0.0" cl_updaterate "60" hud_centerid "1"

We have one command per line.
On the left, we have the command.
On the right, we have it's value surrounded by quotes.

Note: Any settings applied via a Half-Life userconfig.cfg file will be applied to other GoldSrc games unless you've created another cfg under the game's respective directory.
🛠 Accessing The Developer Console
The developer console is a powerful tool that is typically used by, well, developers.
However, its also a good way to test settings in-game!
And accessing it is as easy as can be!

While in-game, simply hit your "~" key!

If opened while in an active game, your game will pause and the menu will appear.

How it works should be pretty straightforward.
Type in your command and press your "enter" key.
🛠 Low & High Definition Models
One aspect of Half-Life that has split the community for a long time is whether to use the original Valve models or Gearbox HD models.

The Gearbox HD model pack shipped with the Blue Shift expansion pack in 2001 and, ever since, has been the default for the Steam release of Half-Life.

Why am I bringing it up? Well, the HD models don't just upgrade the fidelity of the game's models. They also alter the art-style of the game. Plus, some items were re-designed.

It doesn't really matter which you choose.
I just wanted to make it apparent that there are differences!


These can be easily toggled via the in-game "Video" options menu.

Note: There is ONE minor game-play difference due to a model bug. It involves an early-game enemy, so its been tagged it as a spoiler just in-case.
The alien slaves / Vortigaunts do not have a proper head hitbox! This will make a difference if you're playing on hard mode, as you cannot score headshots on them.

Comparison images:
🛠 Border-less Window
This has become my personal favorite way of playing games.

The game window will overlay itself on top of your entire display while in focus but, you can easily tab out if needed.

You can enable this by adding the following to your game's launch options:

-window -noborder
🛠 Field of View / Zoomed-In View Fix
This is something I became aware of quite a while back but, haven't seen many mention.

In case you aren't familiar with "field of view", it's the degrees of your view cone; how much you can see at any given moment. Standard for first-person action games is about 90.

GoldSrc calculates FOV based on horizontal screen space, rather than vertical. Essentially, this means you aren't benefiting from the extra horizontal screen space of the now-common widescreen monitor.

Thankfully, the fix is simple!

To fix your FOV, add the following command to your config:
default_fov "107"
(Default value: "90")

Or the following to your launch options:
+default_fov 107

Setting our FOV to 107 on a 16:9 display offsets it so we have about what we should in terms of vision!

You should feel free to tweak this as you please, however! It's a personal preference.
(Some people actually get motion sickness from a high field of view...)

Note for Counter-Strike & Deathmatch: Classic:
These games use "cl_fov" rather than "default_fov", for adjusting FOV.
And, unfortunately, Counter-Strike clamps this at 90. Meaning you cannot bypass the issue.

*Sigh* Valve pls fix.

Comparison images:
🛠 OpenGL Texture Filtering
When running in hardware (OpenGL) mode, Half-Life applies texture filtering by default.
You may have experienced something like this if you've ever used source ports for games like Quake or DOOM.

These visual effects smooth and round textures on both models and the world, turning individual clearly defined pixels into a blur of colors.

This is a personal choice as to whether or not you like it! Feel free to keep it on.

To disable texture ROUNDING, add the following command to your config:
gl_round_down "0"
(Default value: "2")

Or the following to your launch options:
+gl_round_down 0

To disable texture FILTERING, add the following command to your config:
gl_texturemode "GL_NEAREST_MIPMAP_LINEAR"
(Default value: "GL_LINEAR_MIPMAP_LINEAR")

Or the following to your launch options:
+gl_texturemode GL_NEAREST_MIPMAP_LINEAR

Note: You can remove "_mipmap_linear" at the end of either values to disable mip-mapping.
Mip-mapping smooths out textures at long distances.

Note 2: Changing this via the in-game console will not update the models.
The game must be restarted.

Comparison images:
🛠 Increasing The Max Frame-Rate
Note: Increasing your max frame-rate beyond the normal amount may cause certain bits of the game to run slightly faster.

From my experience, playing at a higher FPS hasn't caused any big differences or issues.
The only place its noticeable is with:
  • Push-able boxes:
    They will move even faster than they already do. It becomes difficult to control them.
  • Moving platforms:
    You may get stuck inside them! If this happens, you will be forced to load an older save.
    You should then open the developer console and reduce your max frame-rate to 60 until you get past the section.

There are two commands necessary to increase your max frame rate.

To allow your game to run at frame-rates higher than 100,
add the following command to your config:

fps_override "1"
(Default value: "0")

Or the following to your launch options:
+fps_override 1

This is a necessity for high refresh rate monitors!
Otherwise, your max FPS will be capped at 100.

To set your game's maximum frame-rate,
add the following command to your config:

fps_max "60"
(Default value: "100")

Or the following to your launch options:
+fps_max 60

You should set this equivalent to or higher than your monitor's refresh rate.
If you're unsure what that may be, it's probably 60.

I play with 120 (double my refresh rate) to compensate for the fact that I don't play with V-sync on.

Screen tearing & V-sync is a complex topic. Basically, V-sync causes your game to be less responsive but, has the benefit of the video not tearing. You can compensate for a lack of V-sync with a higher FPS!

Note: V-sync can be easily toggled via the in-game "Video" options.
🛠 Miscellaneous & Multiplayer
Various extra settings that may benefit you.

Note: These apply to pretty much all official GoldSrc games!

room_off "1"
(Default value: "0")

You may have noticed that Half-Life has reverb / echo effects. It can lead to the game becoming quite loud during action sequences. They can be toggled off easily if you aren't a fan of them.

zoom_sensitivity_ratio "1.0"
(Default value: "1.2")

Determines how to scale your default mouse sensitivity when using items that have a zoom / scope feature. Values aside from 1 make aiming less consistent.

Setting it to 1 (or 0) will prevent any scaling from occurring.

ex_interp "0.0"
(Default value: "0.1")

This determines how much time it takes for your game to interpolate between packets / updates received from the server you're playing on. (Multiplayer only, of course.)

By default, the game ships with a high interpolation value. This will make the game feel slightly less responsive, as if you have higher latency than you actually do.

The game will automatically increase its value to whatever it considers the minimum upon startup.

Note: If you tend to have a higher ping (like >100) when connecting to servers, you may want to set this at a value like 0.02 or 0.05!

cl_updaterate "60"
(Default value: "30")

This determines how many updates a second you can receive updates from the server. (Also multiplayer only.)

I've never really seen this in action, as most servers seem to use the default max update rate; however, in the unlikely event a server is running with a higher rate, you will benefit from it!

hud_centerid "1"
(Default value: "0")

When looking at a player, their name and health info will be displayed at the center of your screen, rather than the bottom corner. (Setting this to values higher than 1 will cause the info to be displayed further down from your crosshair.)
🛠 Conclusion
I hope that you found what you were looking for in this guide!
Or maybe even something you weren't aware of.

In the event that you have an issue related to playing or modding Half-Life, I'm happy to help!

And if there's any incorrect or missing bits from this guide, please, inform me in the comments.
17 Comments
unstalch 12 Nov, 2024 @ 11:52am 
why would i set my max fps to 60 if i have a 240 Hz screen
specty 5 Dec, 2023 @ 9:56pm 
is the guide going to get updated anytime soon?
Moe Lester 11 Sep, 2023 @ 8:44am 
i definitely like the openGL texture filtering because it doesnt make half-life look like dogshit
volkan 11 Jul, 2023 @ 9:06pm 
thanks a lot!
ThunderTurtle 31 Jan, 2023 @ 10:02pm 
I recommend using Subtitles Mod files to fix bugs as well. It has been taken down but you may be able to find it still. Subtitles can be disabled by renaming a couple of files. I just overwrote the files in the "valve" folder with the ones from SM. Oddly, SM by itself has some issues with the music, so I can't really recommend using it on its own.
sparks 4 Jan, 2023 @ 5:39pm 
Thanks lad! I love this game, and it's remake Black Mesa. I wanted to go back and play this, but I just couldn't.
Rainbow 15 Nov, 2022 @ 5:08pm 
I KNEW I wasn't crazy! When I played a mod that forces HD models, I was never able to 1-shot Vortigaunts with the Revolver on Hard.
neidhard 30 Oct, 2022 @ 4:51pm 
The default fps_max value is 99.5 or 100 fps
pain 14 Aug, 2022 @ 6:07am 
thank you sir
soot 30 Jul, 2022 @ 8:14am 
ty