Happy Halloween!

In celebration of all the ceaselessly starving zombies out there, we're releasing a completely overhauled version of They Hunger Episodes 1 and 2! We've merged the maps into chapters and implemented survival mode, and the maps now feature completely new custom scripted weapons created by Norman Roger, Der Graue Fuchs, and KernCore. The game menu has also been updated with an excellent Halloween-inspired theme song created by Zodemon. To play the series from the start, simply load th_ep1_00.bsp.

Alongside the They Hunger series update, we also have a plethora of game updates. If you are running a dedicated server please use SteamCmd to update your servers. Those of you that were using the public release candidate can remain to do so, as this branch now matches the standard branch.

Changes are as follows:

Notable changes

  • AngelScript server plug-ins are now allowed to register custom entities.
  • Fixed a noticeable delay (or sometimes temporary freeze) when entering a map caused by the sentence parser.
  • Improvements to "item_inventory" and item trigger rules.
  • Roll angle has been restored from pre-Steam Half-Life. The player's view will now roll slightly when strafing from side to side. It is controlled using the "cl_rollangle" and "cl_rollspeed" CVARs. (To disable view rolling, set "cl_rollangle" to 0.)


Game library

  • Added "Append Map CFG" flag to "game_player_equip". When used, weapons in the map configuration file will be given along with any additional weapons or items specified within the entity itself. This overrides the previous entity behaviour which caused the map to ignore configuration file load-outs entirely. The Sven Co-op FGD has been updated to reflect this change.
  • Fixed a memory leak with the scoreboard icons.
  • Increased weapon slot count to 7.
  • Initial update for more realistic weapon dropping.
  • Inventory trigger rules: Fixed a crash when trying to drop, return, or destroy an item specified in a trigger's inventory rules when the item entity no longer exists.
  • Inventory trigger rules: Fixed incorrectly returning items by group name when they were specified for destruction.
  • Inventory trigger rules: Item triggers (use, drop, return, or destroy) can now be ignored.
  • Inventory trigger rules: Moved the inventory rules check within "trigger_once" and "trigger_multiple" so rules are only looked at after things like filtering, flag handling (enter/exit), and reset delay are all handled.
  • Ladders will no longer be virtually unusable if they contain an origin brush.
  • NPCs will push players out of the way during scripted sequences. (Experimental - Possibly want to move this to an entity flag.)
  • Removed "You must wait" messages for "medic" and "take cover" calls. (The delay still exists though.)
  • Revamped our Linux build process.
  • Roll angle has been restored from pre-Steam Half-Life. The player's view will now roll slightly when strafing from side to side. It is controlled using the "cl_rollangle" and "cl_rollspeed" CVARs. (To disable view rolling, set "cl_rollangle" to 0.)
  • Spore effects are removed if the entity state is stale.
  • The "drop" command will now drop all "item_inventory" of which are blocking you from using weapons. (If you have any.) This is so a player can quickly get back to their weapons.
  • Updated PM_PlayerShouldBypassEntity() to account for walking NPCs. Players will now be pushed out of the way of NPCs playing scripts.


  • Updated AngelScript to 2.31.1.
  • Added missing add-on "scriptdictionary".
  • Brought back corpse gibbing.
  • Combined functions Inventory_ClearAll() and Inventory_PurgeOnRespawn() into Inventory_RemoveAllFromHolder(). This function now has 4 parameters:
    • CBaseMonster pHolder: Same as before.
    • bool fDrop: Set to TRUE to cause the items to be dropped regularly, otherwise they will be returned instantly.
    • bool fBlockingWeaponsOnly: Set to TRUE to cause only items that block weapon usage to be removed.
    • bool fHonourKeepOnRespawn: Set to TRUE to cause items using option "Keep on respawn" to be retained.
  • Removed redundant class ASDictionary.
  • Removed redundant class ASLinkedList.
  • Replaced deprecated functions in classes ASEntity, ASEntityFuncs, ASMapCycle, ASMonsterEntity, ASScheduler, ASScriptReflection, ASString, and ASUtil.
  • Server plug-ins are now allowed to register custom entities.


  • Added new model lighting for players and other entities receiving light from flash lights.
  • Exposed engine functions SV_AddPositionToFatPAS() and SV_AddPositionToFatPVS() in the engine interface so downstream libraries can tweak what makes it into the PAS/PVS.
  • Fixed a possible crash due to a null entity reference.
  • Increased weapon index read size from 6 bits to 7 bits, to support 128 weapons.
  • Removed NPOT texture check which exited the game. (OpenGL 2.0 and higher supports NPOT textures.)
  • Renderer now has a 24-bit Z-buffer and 8-bit stencil buffer.
  • Updated flash light display for players.


  • Changed evaluation order of sentence word files to look for WAV files first.
  • Fixed a noticeable delay (or sometimes temporary freeze) when entering a map caused by the sentence parser.
  • Removed stat() calls for Linux.

Non-playable characters

  • [Apache] Rotor sound effect now follows the entity properly.
  • [Apache] Scale calculation updates.
  • [Barney] Corpse health now uses default skill value.
  • [Heavy Weapons Grunt] A.I. schedule will now fail if a player is holding his minigun.
  • [Heavy Weapons Grunt] The "pickup_minigun" animation is now used. (This will not affect outdated models that lack the animation.) Animation event "12" has been added to signal the A.I. code when to grab the minigun from the ground.
  • [Human Grunt] RPG grunts now use head group option 4.
  • [Male Assassin] Increased sniper rifle range to 8192 from 4096 to match the player range.


  • [Barnacle Grapple] Barnacle will no longer bite brush objects.
  • [Barnacle Grapple] Barnacle's tongue no longer flies out from the centre of the screen.
  • [Barnacle Grapple] Reduced pitch to normal levels for impact sound effect.
  • [Barnacle Grapple] Reduced tongue size.
  • [Barnacle Grapple] Tongues now properly stop moving upon impacting any object.
  • [Item Inventory] All of the trigger targets (on collect, on drop, on return, etc.) are split into self (collector) and everyone else. (This is so you can have different actions for different people.)
  • [Item Inventory] Changed the "on return" triggers to be called at the start of the return process instead of when the item materializes again.
  • [Item Inventory] Fixed "trigger on use" not actually doing anything at all.
  • [Item Inventory] Fixed a crash if a trigger wants an item to be both dropped, returned, and/or destroyed. (Because you no longer had the item.)
  • [Item Inventory] Fixed an item not being destroyed by a trigger if you also set it to be dropped. (Priority is now destroy, return, then drop.)
  • [Item Inventory] Fixed incorrect default model.
  • [Item Inventory] New trigger "on destroy". This happens when the item is destroyed for any reason. (This cannot be split into self/team/others.)
  • [Item Inventory] New trigger "on materialize". This happens when the item materialises after a drop/return. (This cannot be split into self/others.)
  • [Item Inventory] New trigger "on wearing out". This will be accompanied by a numeric "wear out time", and happens when an item is due to be forcibly removed from someone. (Hold time running out.)
  • [Minigun] Now uses slot 7 position 2.
  • [MP5] Reverting weapon smoke regression.
  • [Satchel] Added a delay between idle sounds.
  • [Satchel] Avoids making idle noises when an enemy is visible.
  • [Satchel] Increased sound radius of idle sounds.
  • [Shock Rifle] Now uses slot 7 position 1.


Half-Life campaign

  • [All] Maps no longer use the "halflifemerged.wad" texture file. This WAD was also removed so that mappers don't use it by mistake.
  • [HL T00] Hazard Course: Deleted triggers that close doors after a player leaves each area so that people don't get trapped in previous training rooms.
  • [HL T00]Added four spawnpoints that turn on as players move through the map.
  • [HL C05 A2] Blast Pit: Elevator cables on the elevator that falls into nuclear waste are now longer.
  • [HL C05 A3] Blast Pit: A useless checkpoint at the end of the map was removed.
  • [HL C07 A2] On A Rail: The rocket launch control room door will now crush blocking players.
  • [HL C09] Residue Processing: Broken terrain geometry / items falling through a shelf were fixed.
  • [HL C11 A1] Surface Tension: Players should no longer get stuck on the storm drain hatch valve.
  • [HL C11 A5] Surface Tension: The garage door outside the mechanic's garage is no longer instantly breakable by crowbar and has more than 1 health.
  • [HL C16 A1] Interloper: A toggling invisible wall was added to prevent players getting launched off a platform to their deaths at spawn.
  • [HL C16 A3] Interloper: Fixed an alien slave that was stuck in a script in the Xen factory.
  • [HL C18] Endgame: The flying hoops no longer get stuck on players.



  • [Battery] Now glows in the dark.
  • [Classic Mode] All weapons now have our HD hands.
  • [Gluon Gun] Added a glow effect to the screen/buttons/green dot.
  • [Gluon Gun] Added a light blue glow effect at the front when you shoot.
  • [Gluon Gun] Fixed missing smooth groups.
  • [Gluon Gun] Fixed up the UV map, corrected any broken/misaligned or oddly placed mapping.
  • [Gluon Gun] Gave the tube on the right side its own texture that matches the rest of the model.
  • [Gluon Gun] Made some minor edits to the texture to make it look less flat.
  • [Gluon Gun] Re-rigged the left arm and fixed the sleeve part not rotating with the hand on fidget like it should.
  • [Gluon Gun] Removed the right arm since it isn't used.
  • [Gluon Gun] Replaced "fire3" and "fire4" with "fire1" and "fire2", since the gun just loops one animation and doesn't play them randomly when you shoot fire 3 and fire4 look bad when they are used.
  • [Gluon Gun] Restored the original 512x texture by H4wk.
  • [Medkit] Added a fancy strap texture.
  • [Medkit] Added glowing overlays.
  • [Medkit] Updated textures.
  • [RPG] Fixed missing smooth groups.


  • [Alien Grunt] New model with glowing textures and non-chrome metal armor by Der Graue Fuchs.
  • [Alien Slave] New model with glowing textures by Der Graue Fuchs.
  • [Cleansuit Scientist] Model now has the teleport_fidget animation.



  • [Barnacle Grapple] Impact sound effect updated.


  • "null.wav" is now completely silent.



  • Cleaned up some of the casts, now uses modern C++ casting.
  • Fixed chrome texture sizes which caused an engine crash with non power of two textures.

"item_inventory" test map

  • Updated capture the flag flags to make use of self/other triggers.
  • Various items make use of the wearing out trigger. (Like invincibility pentagram and quad damage.)



  • Updated bit size entries for m_iId to support 128 weapons.

Game manual

  • Credits have been updated to reflect recent additions to the artist / testing team, as well as the re-release of They Hunger Episodes 1 and 2.

Version details

Steam build ID numbers: Game 1427770, dedicated server tool 1427771, SDK tool 1427772.

Please use the steam build ID number as a reference when posting an issue or query on our message boards. You can find the build number you currently have within Steam by right clicking our game or tools, selecting Properties, then selecting the Local Files tab.