A big part of the Alien Swarm mod I’m working on is spawning aliens so that they attack in massive waves, rather than in response to triggers set off by the player. Luckily for me, the game’s SDK already includes a lot of this functionality in its incomplete Holdout mode (operated by the “asw_holdout_mode” entity).
This tutorial details setting up a Holdout map, but it notes that instances of “asw_holdout_spawner” need to be named after wave names, which isn’t the case.Â Essentially,Â a Holdout map requires at least one “asw_holdout_mode”, one “asw_spawn_group” and oneÂ “asw_holdout_spawner” entity.
“asw_holdout_mode” activates the mode itself and requires a reference to a Holdout file (as shown below). Examples of these (such as “holdoutwaves_default.txt”) can be found in “C:\Program Files (x86)\Steam\steamapps\common\alien swarm\swarm\resource\holdout\”.
The Holdout files themselves define one or more waves, which break down into one or more entries. Each Entry defines things like: type of alien, number of aliens, delay between spawning, and which SpawnGroup should be used to control spawning.[text] “WAVE”
SpawnGroup refers to an “asw_spawn_group” entity which can be placed in Hammer. A SpawnGroup is an entity that groups up to eight Spawners (“asw_holdout_spawner” entities) together. Any aliens defined in a Wave Entry will then be divided evenly among each specified Spawner.
“asw_holdout_spawner” defines where aliens will actually spawn, unlike “asw_spawn_group”. Judging by its source code it doesn’t do anything different to the regular “asw_spawner”, but I suppose it may well do when Valve come to officially completing and releasing the Holdout mode.
A Wave ends once every spawned alien has been killed at which point a Resupply overlay appears and a timer begins counting down to the next wave (if any). Click here to download the VPK map file shown below and in the video above. It features the necessary entities to make use of “holdoutwaves_default.txt”.