Monster infighting



In the Doom games, Heretic and Hexen, many of the enemy monsters can be tricked into fighting each other; a phenomenon which is generally called monster infighting. This can usually be accomplished by moving so that the player and two monsters are colinear. Since a monster does not have the intelligence to cease fire in the event that a fellow monster blocks his line of sight, said fellow monster will be subject to friendly fire. The damaged monster may then take the offender as its target, where combat between the two monsters will soon follow and continue until one participant either dies or is distracted by a third party's attacks. In the Doom games monsters will also retaliate when damaged indirectly by exploding barrels.

Monster infighting has become a novel aspect of Doom and its progeny. Indeed, most games do not give the enemies the ability to hurt each other, much less the ability to retaliate. Additionally, in more recent first-person shooters enemies are either intelligent enough not to fire if a fellow enemy is in the way, or to avoid the line of fire of other enemies.

Monsters capable of causing infighting


Monsters that fire inaccurate, continuous firing or blast-damage weapons (zombiemen, shotgun guys, heavy weapon dudes, Wolfenstein SS officers, mancubi, arachnotrons, spiderdemons and cyberdemons) are particularly susceptible to making friendly fire on other monsters and therefore being attacked.

Any monster that fires projectiles (the previous plus imps, cacodemons, revenants, hell knights and barons of hell) can be maneuvered into doing this. Lost souls, being projectiles themselves, can damage other monsters found on their attacking path, likewise causing these to retaliate.

Monsters unable to cause infighting
Arch-vile attacks will never make monsters return fire, nor will monsters hurt by the associated blast damage retaliate, because there is an exception in the source code that makes arch-viles never become targets of other monsters. This does not stop arch-viles themselves from targeting and damaging other monsters, however, although they are easy to distract, as unlike other monsters their lack of a targeting threshold makes them always switch targets when hit.

Pain elementals, whose attack is carried by proxy monsters, cannot initially provoke other monsters, but can still be hurt, if they get in the way of monsters trying to hit a third party, and thus cause infighting by spewing lost souls at any monsters they target.

Barons of hell and hell knights have an immunity to each others projectiles coded onto their mobj IDs. (This was not kept in Doom 64.)

Hanged Commander Keens do not have an attack mode of any sort, so they can neither provoke other monsters nor retaliate when they are damaged by projectiles.

Also, in Heretic and HeXen, no monster will retaliate against "boss" opponents who accidentally strike them outside of the mass infighting detailed below. Code-wise, this is handled by a flag attached to the boss mobjs.

Melee monsters and infighting
Monsters that are melee attackers only cannot initiate monster infighting by mistake. This concerns enemies such as Doom's demons and spectres; Heretic's gargoyles, golems and sabreclaws; Hexen's ettins, centaurs and stalkers; and so on. The source code reveals that melee attacks are impossible to misdirect; the damage is directly inflicted on the target if it is within range, aiming is not involved and therefore hitting another target cannot happen.

However, Hank Leukart's Official Doom FAQ states that misdirected melee attacks do happen and can trigger infighting. The simplest way to resolve this contradiction is to presume this line was merely an unfounded assumption in the FAQ. The alternative is that there was a code change (before version 1.2 upon which Heretic and Hexen are based), and that in earlier versions melee attacks were perhaps treated as short-range hitscan attacks, as they still are for the player.

Tactics
Monster infighting is an important tactic in levels where ammunition are very scarce, such as those of Alien Vendetta, or when recording speedruns, especially in a restrictive category such as UV Tyson. Causing many monsters to destroy or seriously damage one another greatly reduces the burden on the player's resources. The easiest way to do this with a large group of mixed monsters is to run in a circle a couple of times around the group, which will almost certainly start an infighting due to stray projectiles. This is allowed by the unusually high player versus monsters speed ratio in Doom engine games that grants the player the ability to maneuver around groups of monsters with more ease than in other first person shooter games.

Arguably one of the most prominent examples of this strategy can occur in Doom II MAP20: Gotcha!. This level happens to feature two of the most powerful enemies in the game (a spiderdemon and a cyberdemon) in the same room. Each is easily capable of dispatching the player, but with quick maneuvering the player can actually cause one to accidentally hit the other, starting a lengthy and entertaining infight that inevitably results in one killing the other but not before being severely injured, making it much easier for the player to finish the job.

Difficulties


The strategy of provoking monster infighting is complicated by a few factors.

Primarily, monsters of any species are immune to their kind's projectile attack, unless a barrel is hit and damages another of their kind. Hell knights and barons of hell are of a single species in this sense, and cannot hurt one another with their green fireballs (except indirectly by destroying a barrel which hurts the other of their kind, whereupon they commence attacking). Although a given species of monster is immune to its own type of attack, they still employ it with its customary frequency while targeting one another. The immunity also means that those individuals from the same species cannot actually inflict damage no matter how many times they attack each other except by destroying additional barrels or if they get close enough to each other to use a non-projectile attack, like claws or a bite. Arch-viles are subject to peripheral blast damage from the attacks of other arch-viles on nearby monsters, but do not retaliate because they cannot be targeted by any monster.

Additional factors that lessen monster infighting have to do with some characteristics of the Doom engine's monster AI. Monsters resurrected by arch-viles or spawned by the final boss immediately target the player, not their creator's target. In addition, lost souls damaged by other monsters forget their targets after a single counterattack (whether successful or not) and then turn back to the player, although the monster that the lost soul had damaged does not forget the flaming skull's offense. Certain source ports include various AI options, and allow the user to decide how monsters should behave in respect to monster infighting.

Monster infighting in Doom 3
Monster infighting can occur in Doom 3 as well. It does not happen very often though, because of the significantly smaller monster numbers and due to the lack of room where the player could lure the monsters into each other's line of fire. Infighting in Doom 3 is further complicated by the monsters following a certain hierarchy. For example, an imp will not attack a hell knight because of the hell knight's higher "rank". Similarly, a zombie will not attack a Z-Sec.

Mass infighting in Heretic and Hexen
Raven Software added a feature to Heretic and Hexen which causes all monsters within sight of the player to begin attacking randomly chosen targets when the player dies in a single-player game. Monsters will fight with any living thing within their sight when this happens, including members of their own species and normally ignored creatures such as bosses (i.e anything shootable, including Voodoo doll's, in which case the player' screen will, despite being dead, still flash red each time the doll is struck). However, monsters remain unable to hurt other monsters of their own type with their projectiles even in this case, as can be viewed in p_map.c line 331, where there is no check as to whether or not the player is dead or alive when rejecting same-species projectile hits.