Tuesday, 17 May 2016

Time, Doctor Freeman? Bullet-time in Half Life 2

Slowing time, or bullet time, doesn't make Half Life 2 too easy for me, as I'm not a very good player. I often wished time was used as a mechanic, given the science fiction themes.


There's a well known cheat to simply slow down time, but I wanted bullet time to be combined with visual and audio cues.


Implementation

Find the folder where your installation of Half Life 2 stores its configuration files. On my PC it's:
D:\Games\Steam\steamapps\common\Half-Life 2\hl2\cfg
In that folder, create the file 'bullettime.cfg'

Open bullettime.cfg with notepad, and copy the following in:
// Bullet Time Script

// alternative values for r_screenoverlay:
// effects/water_warp01, effects/strider_bulge_dudv, effects/tp_refract, effects/flicker_256

// alternative values for play:
// ambient\levels\citadel\citadel_ambient_scream_loop1.wav, ambient\creatures\leech_bites_loop1.wav, ambient\fire\fire_small_loop1.wav

alias "bullettimeON" "sv_cheats 1; host_timescale 0.1; play ambient\fire\fire_small_loop1.wav; soundfade 75 100; r_screenoverlay effects/flicker_256"
alias "bullettimeOFF" "host_timescale 1; r_screenoverlay 0; stopsound; -speed; sv_cheats 0;"

alias "+bullettime" "bullettimeON"
alias "-bullettime" "bullettimeOFF"

bind "MWHEELDOWN" "bullettimeON"
bind "MWHEELUP" "bullettimeOFF"
bind "MOUSE3" "+bullettime"
Launch Half-Life 2, and open the developer console with '~'.

Enter the command:
exec bullettime
If it autocompletes, you're doing it right.

Notes

  • The script turns cheats on and off automatically. Any enemy killed in bullet time will not be counted towards achievements. That said, I would not use bullet time on my first play through.
  • As you may see, bullet time is bound to the mouse wheel as both a switch and a button. Scroll down to turn on, scroll up to turn off. Alternatively, press the wheel button for as long as you want bullet time.
  • Enemies seem to be invulnerable while reloading.
  • Change how bullet time sounds and looks by editing bullettime.cfg and substituting alternatives for the r_screenoverlay and play commands.

Sources

No comments:

Post a Comment