Raid

From Team Fortress Wiki
Revision as of 08:30, 14 March 2021 by WindBOT (talk | contribs) (Auto: EnforceCapitalization(Huntsman), EnforceCapitalization(Pistol) (Review RC#2898635))
Jump to: navigation, search

Raid mode is an experimental gamemode that was being tested for Team Fortress 2. In this gamemode, players would be on a 5 man BLU team and RED enemy bots would attack from any possible location while players attempt to push through hordes of robots, much like in Left 4 Dead. Development for this gamemode started in November 2009 which is also the month Left 4 Dead 2 was released, November 17 2009. The development was being done by Mike Booth, the person behind the AIs in the Left 4 Dead series, TFBots and Mann vs. Machine.

Raid's objective is currently unclear, but there are some code that tells bots to check on uncaptured points and telling bots that a gate door may be actively blocking or not blocked in an area.

Enemies

Players generally face not many enemy types, with some of it from Left 4 Dead, which include:

  • Wanderers
  • Mobs (or Hordes)
  • Defenders
  • Specials
  • Squads
  • Sentry Guns

Interestingly, each of the 9 classes are handled differently for the bot team, most being limited to only certain events.

Wanderers

Wanderers, also featured in Left 4 Dead, generally spawn at areas players have yet to traverse to which are ahead of them and they aren't looking at that area directly. In Raid mode, Scout robots are set to be the primary Wanderers of this gamemode, and only the Wanderers. All Wanderers choose to only use their Melee weapon, while speaking about several lines at random intervals that are seemingly random to the other Wanderers, with some having them harass at other Wanderers. They will only engage in players that are either too close to them, or they killed their allies too close to them. For the latter case, the closer the player is on their nearby ally's death is to them, the faster they will react to attacking the player.

If they spawn while possessing the AGGRESSIVE flag, they will not try to idle and instead immediately rush down from their spot to attack the players. This actually happens in L4D when the horde timer (or Mega Mob) is up, or a horde event has started.

Mobs

Mobs, one of the prominent enemy types in Left 4 Dead, consists of a group of enemies that rush down to wherever players are and attack them, instead of the usual Wanderer's passive-aggressive behavior. By default, Mobs have a spawn time of 60 - 90 seconds, and have a total count of 15. The interval for Mobs to respawn becomes lower and players progress through the campaign. Mobs also respawn faster when players are capturing a point, having only a 20 second respawn time. The same is also done for the Left 4 Dead series's finales, where survivors have to fend themselves to wait for rescue, or to collect gas cans and fill up their objective to escape.

Classes that robots in Mobs spawn as is pre-defined. Only 4 classes are possible for Mobs to spawn as: Scouts, Pyros, Heavies and Spies. However, Squads will join in Mob fights, which consist of different classes to deal with. Squads's spawning are based on several commands, and they seem to imply a random chance of Mob spawning, but all of them are set to 100 which may be for debugging reasons. More about Squads later.

One thing is absent from Left 4 Dead though, which is "Mega Mobs", these are periods where a horde of Infecteds have a much higher spawn count than Mobs, always leading to them lasting for a while and forcing survivors to find a good defendable spot, but can allow for the game session to have intensity peaks. Presumably this wasn't kept because unlike the Infected, robots have ranged weaponry to fight back the players.

Defenders

An enemy type not present in L4D, Defenders are robots with the same weaponry and attributes as the players. Their difference is their behaviour, as they prioritize to hunt down Raiders that are currently capturing points. If they can't find one then they'll hunt down only living Raiders in the map. Defenders can only be 3 classes: Sniper (x2 chance), Demoman (x2 chance) and Pyro. They spawn as the same manner as Wanderers, and up to 18 of them can be active at once.

There is a possibility Defenders are still unfinished enemies, since there is an unusually lacking amount of code about them.

Specials

TODO: Also enemies prefixed as "Defense"

Miscellanous

TODO: Document the bot attribute IS_NPC. Is this for bots that replace the human team?

Trivia

  • Like Left 4 Dead, all human "Raiders" are waited to leave the spawn room before starting countdown of the spawn timer for Mobs and Specials.
    • Mob spawn timers start a random initial countdown between the values (0.5 * 60) and 90, while Special spawn timers are between 0 to 20.

Boss Battle Submode

The gamemode would've also had boss battles.

Leftover Content

Content Creation Related

Hammer Editor

In the default entity list for the Source Engine Mapping software, Hammer, three entities can be seen that point to this gamemode: base_boss, tf_logic_raid and tf_logic_boss_battle. With the latter two not working, as their code is not loaded.

Navigation Meshes

For Navigation Meshes, or nav, which are used by bots to determine where they can go, where players can walk on and whatnot. The command tf_mark has two leftover flags which are meant for Raid mode. Which are RESCUE_CLOSET and NO_SPAWNING.

The first flag is clearly referring to these Rescue Closets in Left 4 Dead, which are areas where a previously dead survivor may spawn in, then shout for someone to get them out of the closet (which revives them). In Raid mode, the game uses this to exclude players from being counted as "alive", or use this to make the Director start certain voicelines.

The second flag is used to manually set what areas should the Director not spawn any robots. In L4D, Flags with a similar function are the flags NO_MOBS, EMPTY (No Wanderers) and NOTHREAT (which the function it does is unclear, but only speculation is to disallow special spawning.)

Population Files

Population files, or pop files, are what MvM reads to create a playable MvM mission. These files have several Raid mode leftovers, two Populators and two Spawners. They can still be used to spawn bots, but are really dated and janky. They do however, point to a time when Population files may have filled a much different role, where they could been instead to exist for an option to modify the director options for a campaign, much like Vscripts.

In Population files, there are two types of keys for managing bot spawning, Spawners and Populators. Spawners are responsible for applying anything on the bot itself like giving them crits or hats, while Populators are to setup the bot before it spawns with things like where to spawn or the total amount of them. The keys are: PeriodicSpawn, RandomPlacement, Mob and SentryGun, the latter two being Spawners while the others are Populators.

PeriodicSpawn only has three keys:

  • When
  • MinInterval
  • MaxInterval

When is used to determine the respawn times, but both MinInterval and MaxInterval are used to specify random respawn times. The last two keys are only used if When is not specified. For unknown reasons, bots that are spawned using this always drops cash and mess up the game's logic regarding cash. This could however been the Bounty mode having code that may have conflicted it unintentionally.

RandomPlacement appears to be lacking with what it wanted to accomplish. It has the keys:

  • Count
  • MinimumSeparation
  • NavAreaFilter
    • Accepts the following:
    • SENTRY_SPOT
    • SNIPER_SPOT

Based on others's experiences with this Populator, it appears that it only works with the SentryGun spawner, unusually. Another thing to note is that SENTRY_SPOT or SNIPER_SPOT isn't actually used by TFBots at all! And only SNIPER_SPOT is actually automatically added to navigation meshes when a Mapper puts a Sniper hint over a navigation mesh, which tells Snipers that its a spot they should consider sniping at.

Bots

bot_npc_archer is a basic nextbot npc leftover in the game. It is a Red team Sniper that carries a Huntsman. This bot has many oddities surrounding it. For starters, the bot does not use a player Nextbot class, instead using the default Nextbot class, meaning that it does not take up a player space on the server. This bot will spawn as a Red Sniper unless specified in its team keyvalue, and, if under the correct circumstances, will only target Blu players, further suggesting that this was a bot that existed specifically for Raid. The dedicated command tf_bot_npc_archer_health is set to 100 by default, although it appears through testing that damage given varies extremely depending on what kind of weapon is used (15 shots with The Short Circuit and 7 shots with the stock Pistol imply 150 HP, but 9 hits with The Wrap Assassin, at 108 damage, has also been recorded.) When spawned in, the archer will set its spawn location as its "home" and will always return to it if not pursuing enemies. On levels that have navigation meshes built, the archer will automatically assign the map origin as its home due to how the ent_create command works. One of the biggest oddities present with this bot is its behavior. Archers will navigate to their home position and proceed to enter a humiliation state until being killed unless one of the following entities exists on the map:

  • base_boss
  • eyeball_boss
  • headless_hatman
  • merasmus
  • tank_boss

If one of these boss enemies are found to be present on the map, the archer will proceed to fire arrows at any Blue team players it encounters, and will continue to do so until it is killed or if the boss is defeated.

Commands

TODO

Raid Mode

TODO

Boss Battle mode

TODO