Half-Life

Half-Life

86 个评价
Immersive Half-Life
由 LP-PADICIλ 制作
This guide provides some tips and tricks for making Half-Life a more immersive experience.

(Updated as of 9/5/2025)
   
奖励
收藏
已收藏
取消收藏
What Is This Guide?
THIS GUIDE HAS BEEN UPDATED AS OF 2/7/2019, TO BE LESS SH!T. <3

This guide has been updated as of 6/6/2022 to be even less sh!t.

This guide has been updated as of 9/5/2022 to be even EVEN less sh!t.

This guide has been updated as of 9/5/2025 to be EVEN LESS sh!t.

Greetings!

I've written this guide with the goal of helping players make Half-Life as immersive an experience as possible, whether for creating Machinima or for personal enjoyment.

I've also included a custom cfg file with all my personal tweaks and changes at the bottom of this guide, so you can so you can more or less just drag and drop everything into your game folder and be ready to play without the setup!

This guide covers removing the UI, holstering/lowering weapons, altering movement speeds, and several other neat little tricks. Without further ado, let's begin!
Editing The "skill.cfg" File
What is the skill.cfg?

The skill.cfg file is a configuration file that controls numerical values ingame, such as enemy health, incoming and outgoing damage, health and armor received from pickups, and so on.
Although editing the skill.cfg is as simple as changing some numbers, I recommend making a backup in case you break something or forget the default values.

The skill.cfg is located in your game's Steam directory.
(I don't know where HL1 WON or cracked versions store their files, so you're on your own with those.)


By default, the skill.cfg files are located in:

Half-Life 1: C:\Program Files (x86)\Steam\steamapps\common\Half-Life\valve

Black Mesa (Retail): C:\Program Files (x86)\Steam\steamapps\common\Black Mesa\hl2

Half-Life 2: C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2\hl2\cfg

Half-Life 2: Episode 1 & 2: C:\Program Files (x86)\Steam\steamapps\common\Half-Life 2\episodic\\cfg\skill_episodic.cfg
NOTE: Following Half-Life 2's 20th Anniversary Update, the Half-Life 2 skill.cfg applies to HL2 and its Episodes, while skill_episodic.cfg applies to the newly-added enemies in Episodes 1 and 2.

Singleplayer Half-Life 2 Mods: C:\Program Files (x86)\Steam\steamapps\sourcemods\
[MOD FILE]\cfg



Each setting is prefaced with a name describing what it does. It is very self explanatory. Changes made to the skill.cfg won't update in real time, so you'll need to exit your game, make changes, re-launch your game, load a save, then test your changes.

Half-Life 1's variables are separated into three categories—Easy, Medium, and Hard—and are displayed in-file as 1, 2, and 3, respectively. These numbers only affect their respective difficulties. I personally only edit the Easy (1) variables so that difficulty is catered to my preferences, but you can edit all three as you please.
Hiding UI
You cannot disable the UI, holster/lower your weapons on demand, or adjust movement speed in vanilla Half-Life. You'll need to use console commands to perform these actions.

Half-Life 1's console is enabled by default. In Half-Life 2, or any other Source Engine games, go to 'Options --> Keyboard --> Advanced,' then tick 'Enable Developer Console' to on.

The console key is ~ by default. (Below Esc on the top left.)

==========================================================================

Hiding UI in Half-Life 1...
Paste the following into the console: bind "[KEY]" hud_draw 0"; bind "[KEY]" "hud_draw 1"

Replace [KEY] with whatever keys you want. I use < and >, personally. This also disables the crosshair. To remove only the crosshair while keeping the HUD information, type "crosshair 0" into the console.

Once you've finished inputting your keybinds, quicksave and quickload. You should now be able to remove the HUD and/or your crosshair! Unfortunately, you'll have to load a save, enable sv_cheats 1, and quicksave/quickload every time you launch the game to use the keybinds.


Hiding UI in Half-Life 2 / Source Engine titles...
Paste the following into the console: bind "[KEY]" cl_drawhud 0; bind "[KEY]" "cl_drawhud 1"
Replace [KEY] with whatever keys you want. I use < and >, personally. Like in Half-Life 1, this also removes the crosshair. Use "crosshair 0" to keep the HUD information visible.
Holstering/Lowering Weapons
Half-Life 1 is wonky, as it has NO holster animations. Your weapons will simply vanish from your screen instantaneously.
In both games, you can still fire your weapons while 'holstering' them.
DO NOT 'holster' in Half-Life 2 or other Source Engine games if you don't have weapons or you will crash to the desktop with no error.


Holstering in Half-Life 1...
1: Quicksave & Quickload, then enter "sv_cheats 1" into the console.
2: Copy/paste bind "[KEY]" "r_drawviewmodel 0"; bind "[KEY]" "r_drawviewmodel 1"
Replace [KEY] with whatever keys you want. I use V and C, personally.


Holstering in Half-Life 2...
Paste "bind "[KEY]" "impulse 200" into the console.
Replace [KEY] with whatever key you want. I use V, personally. This is a toggle, so pressing the button again re-equips the weapon. Some weapons, such as the SMG, do not have holster animations.

Additionally, you can also lower your weapon in Half-Life 2, which happens automatically when looking at friendly NPCs. To toggle this feature manually, paste the following script into the console:

alias "lowerweapon" "global_set friendly_encounter 1;alias passivetoggle raiseweapon";alias "raiseweapon" "global_set friendly_encounter 0;alias passivetoggle lowerweapon";alias "passivetoggle" "lowerweapon";bind [KEY] "passivetoggle"

Replace [KEY] with whatever key you want. I use a thumb button on my mouse, personally.
(This command was courteously provided by Oberon! Thanks, king!)

You can still fire with your weapon lowered, but the animations will look a little wonky.
Movement Speed & 'Climbing' (HL2/Source)
Both Half-Life games have walk commands. Half-Life 1's is fine, but Half-Life 2's is barely distinguishable from the standard movement speed. Below are two methods to alter Half-Life 2's movement speed.

Method 1: hl2_speed commands
The hl2_walkspeed, hl2_normspeed, and hl2_sprintspeed commands control the speed of walking, running, and sprinting. Change these values to your liking in the console. You will need to re-enter these values each time you launch the game.

Default Values:
hl2_walkspeed 80
hl2_normspeed 170
hl2_sprintspeed 300

This method is the simplest and most effective, and also applies to diagonal and crouch movement. The drawbacks to this method are that it does not apply to noclip movement speed, nor is it togglable. You must hold the walk key to maintain your walk speed.
I have provided a cfg. template at the bottom of this guide to allow toggling walking speed, but if you want to sprint while walking, you'll either need to toggle walk off or double-tap sprint.


Method 2: cl_speed commands
The cl_forwardspeed, cl_backspeed, and cl_sidespeed commands control universal movement speed. They also scale crouch speed, so in most cases, crouching will be slower than normal, and they effectively disable sprinting. They also do not apply to diagonal movement speed, so you will move jarringly fast whenever you press a strafe key at the same time as your forward/backward keys. It also applies to noclip movement, and you will not be able to move in noclip at speeds below 80.
The benefits to this method are that you can assign multiple movement speeds to different keys and they update in real time, so you can play around with them easily.

Default Values:
cl_forwarspeed 250
cl_backspeed 250
cl_sidespeed 250

Variable Walk Speed Examples:
bind "[KEY]" "cl_forwardspeed 250; cl_sidespeed 250; cl_backspeed 250"
(Vanilla movement speed.)

bind "[KEY]" "cl_forwardspeed 90; cl_sidespeed 90; cl_backspeed 90"
(A casual walking speed.)

bind "[KEY]" "cl_forwardspeed 75; cl_sidespeed 75; cl_backspeed 75"
(A slow and silent creep. This doesn't actually hide you, but it's good for pretending to sneak around or taking a casual stroll.)

Replace [KEY] with whatever keys you want. You can change the movement speed in real-time, so play around with the numbers until you have comfortable settings.


-------------------------------------------------------------------------------------------------------


You can use the noclip command to climb or vault over obstacles. The default noclip speed is fast and difficult to control. Paste the two lines below into the console for a slow, steady noclip speed.

Line 1 - Climb Toggle On
alias noclip_on "noclip; cl_forwardspeed 90; cl_backspeed 90; cl_sidespeed 90; alias noclip_toggle noclip_off"
Line 2 - Climb Toggle Off & Return to Walk Speed
alias noclip_off "noclip; cl_forwardspeed 400; cl_backspeed 400; cl_sidespeed 400; alias noclip_toggle noclip_on";bind [KEY] "noclip_toggle"

Replace [KEY] with whatever key you want. I use N, personally.
This will not conflict with your hl2_speed commands.
If you're using cl_speed commands, change the speed values in the second line to your liking.
Miscellaneous Information
A few miscellaneous commands for extra immersion...

By default in Half-Life 2 and most of its mods, weapons will automatically reload after three seconds if you've swapped away from them. To 'disable' this, type sk_auto_reload_time 9999 into the console. You'll have to manually reload your weapons after each firefight and pay closer attention to your ammo counts.

Use "bind [KEY] notarget" to become invisible to all AI in a level. You can toggle this on and off, and it may come in handy for mock stealth sections, or just getting through the tedious turret stealth section in Entropy: Zero 1...

Use "bind [KEY] buddha" to prevent your health from dropping below 1. This is essentially god mode, but because you still technically receive damage, you'll hear suit notifications such as "blood loss detected" and "user death imminent."
This command is useful if you play without a HUD, as you'll still have the immersion of hearing your suit call out damage, but you won't instantly drop dead in combat with no forewarning unless you disable it mid-combat.
Custom Settings.cfg
This is the custom cfg. I use with all my keybinds and settings. Feel free to use/edit it.

Go to your game's cfg folder, right-click, and create a new text file. Name it "immersive_hl" and make sure the file extension is cfg and not txt. If it's a txt, rename the file and replace txt with cfg.

Paste the following, save it, then launch your game. In the main menu, type "exec immersive_hl" into the console. It should auto-complete. As soon as you enter that command, the console should read "Immersive Half-Life Loaded..."

Now you're good to go!

=====================================================

#// ----------------------
#// Core Keybinds
#// ----------------------
bind "o" "sv_cheats 1"
// Pressing O: Enables cheats. Required for holstering weapons.

bind "p" "kill"
// Pressing P: Instantly kills the player when pressed.

bind "v" "impulse 200"
// Pressing V: Holsters the player's weapon. Player can still shoot while holstered.
#// DO NOT HOLSTER WITHOUT WEAPONS IN INVENTORY; YOU WILL CRASH TO DESKTOP!

bind "," "cl_drawhud 0"
bind "." "cl_drawhud 1"
// Pressing < or >: Toggles the HUD on and off.
bind "/" "crosshair 0"
// Pressing /: Disables the crosshair and quickinfo while keeping the Health and Armor display visible.



#// ----------------------
#// Base Movement Speeds
#// ----------------------
// hl2_walkspeed 80
// hl2_normspeed 170
// hl2_sprintspeed 300
// cl_forwardspeed 255
// cl_backspeed 255
// cl_sidespeed 255
#// (The default movement speed values. cl_speed is ignored in my setup, but you can enable it if you want.)


#// ----------------------
#// Custom Movement Speeds
#// ----------------------
#// hl2_speed settings
hl2_walkspeed 75
hl2_normspeed 160
hl2_sprintspeed 300

#// cl_speed settings; disabled by default
// bind "Alt" "cl_forwardspeed 80; cl_backspeed 80; cl_sidespeed 80"
// (Default walking speed.)
// bind "c" "cl_forwardspeed 60; cl_backspeed 60; cl_sidespeed 60"
// (Slow, quiet creep walking speed.)
// bind "x" "cl_forwardspeed 255; cl_backspeed 255; cl_sidespeed 255"
// (Default run speed. This is also the movement speed cap.)
#// (Enabling these settings conflicts with and overrides the hl2_speed settings and disables sprinting!)



#// ----------------------
#// Walk Toggle
#// ----------------------
alias walk_on "+walk; alias walk_toggle walk_off"
alias walk_off "-walk; alias walk_toggle walk_on"
alias walk_toggle "walk_on"
bind alt "walk_toggle"
// Pressing Left Alt: Toggles walking.



#// ----------------------
#// Sprint Override
#// ----------------------
alias +sprint_override "-walk; +speed; alias walk_toggle walk_on"
alias -sprint_override "-speed; -walk; alias walk_toggle walk_on"
bind shift "+sprint_override"
// Pressing Left Shift: Sprint until released, then returns to run speed. You may need to double-tap to sprint. idk.



#// ----------------------
#// Noclip 'Climb' Toggle
#// ----------------------
// Pressing N Once: Toggle noclip ON with a slow, gradual speed. Good for simulating climbing.
alias noclip_on "noclip; cl_forwardspeed 90; cl_backspeed 90; cl_sidespeed 90; alias noclip_toggle noclip_off"
// Pressing N Again: Toggle noclip OFF and return to run speed.
// (If you use the cl_speed settings, change these values to reflect your preferred walking speed.)
alias noclip_off "noclip; cl_forwardspeed 255; cl_backspeed 255; cl_sidespeed 255; alias noclip_toggle noclip_on"
alias noclip_toggle "noclip_on"
bind n "noclip_toggle"



#// ----------------------
#// Lower Weapon Toggle
#// ----------------------
alias "lowerweapon" "global_set friendly_encounter 1;alias passivetoggle raiseweapon";alias "raiseweapon" "global_set friendly_encounter 0;alias passivetoggle lowerweapon";alias "passivetoggle" "lowerweapon";bind "Mouse4" "passivetoggle"

echo "Immersive Half-Life Loaded"


// Thanks, and have fun.
Worth The Wait
Well, ladies and gentlemen, there is is. After four years of procrastination, I've finally decided to update this initially not-so-good guide to immersion in Half-Life. (Much better name, too lazy to change it tho...)


Well, ladies and gentlemen, there it is. After three more years of procrastination, I've finally decided to update this mostly-alright guide to Immersion in Half-Life. (I also stopped being a lazy piece of sh!t and changed the name, which I neglected to do back in 2019.)


Well, ladies and gentlemen, there it is. After three months of being content, I've decided to update this solid guide to Immersion in Half-Life. (I also renamed it a third time to 'Immersive Half-Life' because I think it sounds even nicer. Eat your heart out, 2015 me.)

Well, ladies and gentlemen, there is is. After three years (on the dot) of being satisfied, I've decided to update this good guide to Immersive Half-Life. I'm sure I'm autistic enough to come back and do this again in the future. See you then!


If you have any additions or questions, feel free to leave them in the comments below!

Thanks, and have fun.
40 条留言
TortaPounder67 5 月 12 日 上午 12:27 
right so this doesn't work for me, but I AM on half life 1 MMod so that could change things
LP-PADICIλ  [作者] 2023 年 8 月 9 日 上午 1:08 
You can separate commands with a semi-colon. ;

For example, bind "n" "noclip"; bind "n" "cl_forwardspeed 90"

That toggles noclip on and slows your forward movement speed, which makes 'climbing' look more natural. The downside for this particular command is that you'd need a separate button to reset your movement speed, like bind "x" "cl_forwardspeed 250", which you'd hit after toggling noclip off.
Half-Life 2 citizen 2023 年 8 月 7 日 下午 11:44 
how do you bind multiple commands to one key?
PikaPilot 2022 年 12 月 7 日 下午 7:54 
is there any way to make these commands run automatically after loading up a game? Thanks for your help, by the way!
Dante 2022 年 11 月 13 日 上午 9:44 
freemans mind
Dormniess 2022 年 9 月 8 日 下午 7:50 
One last update that, apparantly it is done when using the mounted guns in HL1, so someone could check the code for that and see what commands it uses to holster the weapon
Dormniess 2022 年 9 月 8 日 下午 7:48 
So uh, apparently HL1 and its expansions do have a holster animation which you can see in its model animations, which I used Jed's model viewer, uh but Blue Shift fixed the holster animation bug which where it wouldn't play, so maybe its possible to mod in an impulse that causes the holster animation or maybe that there is one but we haven't found that impulse. I'm sure people have spent a long time looking through the impulses which s why im saying maybe the holster animations need to be modded to have an impulse in HL1 and its expansions.
[VG] Shedovv 2022 年 8 月 24 日 上午 2:42 
What I meant when I said it is Firing Off is that the glitchy visuals tell me It Does Something. As in, the command sequence Is being executed and it seems like its trying to do what I set it to. But something along the way breaks. I am no expert at this by far, so I doubt I would be able to make it work on my own.
LP-PADICIλ  [作者] 2022 年 8 月 24 日 上午 2:25 
In my experience, enabling sv_cheats at any point during a playthrough will invalidate achievements until you restart your game. As for the split-second firing visuals, I don't know of any way to solve that, myself. If you do figure out a way to make everything work and play nice with achievements, feel free to send it here! I'll add it to the guide (with credit) if that's okay.
[VG] Shedovv 2022 年 8 月 24 日 上午 1:29 
I was thinking this might do the trick:

alias "holsterweapon" "sv_cheats 1;impulse 200;sv_cheats 0;unbdind mouse1;alias holstertoggle unholsterweapon";alias "unholsterweapon" "sv_cheats 1;impulse 200;sv_cheats 0;bind mouse1 +attack;alias holstertoggle holsterweapon";alias "holstertoggle" "holsterweapon";bind V "holstertoggle"

Just replace V with whatever button You prefer.

But it doesnt work. I can see it Firing Off as my hands and weapon glitch out for a split second..