Monster infighting in Doom may sound simple on paper, but you'd be surprised by the amount of hidden and obscure mechanics. Music: Plug Ugly by Bucket Infimum by Ribbiks Patreon: / decino
Yeah I always thought it was because they are evil demons who hate each other just as much as they hate you, so they will look for any excuse to start shit.
When I played it always happened between different species of demons so I thought they were more like tribes fighting together instead of a cohesive unit.
Or they're trying to compete with each other to see who will ultimately get Doomguy's head. So instead of working together for that goal, they eliminate their competition first!
About self-infighting: you didn't say everything. If monster without melee attack is targeted to themselves, they will shoot in the air in eastern direction, which is the zero angle
@@zillyhoolio9249 Mob is short for Mobile. It was coined by Richard Bartle, who used it to refer to moving objects, usually NPCs, in MUD1, which was one of the very first virtual text-based dungeon crawlers ever made.
@@SurprisePie That origin for "mob" makes more sense. I had previously heard it was short for Movable Object Block, but that seems like kind of a lame backronym. "Mob" short for "Mobile" works better. Then maybe changing it to "Mobile OBject" right after. Personally, I preferred to call them Sprites.
IIRC most of the gameplay beyond the engine was coded by Romero. He programmed nearly all the linedef effects at least, after maybe the first dozen or so by Carmack (simple doors and lifts, a crusher and stair builder, etc).
@@Fuchsia_tude I could be wrong, but I always thought that Carmack was the base coding guy to make the game run while Romaro was more of the level designer and sound coder. Both great for different reasons.
even if they aren't fighting each other, it doesn't even mean they're friendly in the slightest, they're only tolerating each other. when other's attack them by accident, they will not show mercy
The cacodemons and Barons of hell were said to have a rivalry, which is why i ask why don't cacos and barons fight each other more, Maybe it was hell knights but i forget , you'd think they'd fight each other to get to doom guy first or something.
It's stunning that a game made over 20 years ago, that seems so simple on the surface, has so many complicated systema, like this or the randomness in animations. I also like that Archie has no threshold. It balances him out a bit.
I think the Archvile has no threshold because it can just resurrect the demon that attacked it and go: "Don't think about doing it again, I'll wreck you I swear to Satan!"
@@purplefloyd1513 Not entirely accurate. It has emergent complexity. The code and its functions are fairly simple. But the ways those functions play off each other - especially with a human player involved - _generate_ complexity.
AI “infighting” is always my favorite part of games. Bonus points if there are special interactions the AI have with each other that isn’t ever done against the player.
This once happened in a game called eve online. The NPC spaceships in it had an entire war amongst each other just for mining an asteroid belt until a certain NPC ship came which wiped out the entire battlefield and despawned
Honestly my favorite parts. So many people try and explain gameplay mechanics without proving them. Luckily Doom is open source and can be easily proved
I thought something was funny about those rules and just only now realized they ARE like game logic programming, as if that whole universe was a game and those were its scripts! Brick joke finally hit me. Nice. What I mean is that physical/biological/natural laws does not distinguish entities such as "human" and "life", let alone "name" (except the immune system that exists specifically to do that - but it identifies proteins irregardless of their actual real origin). That instead is how game physics and logic works - it gives each entity a unique ID and uses it whenever calculations occur. Such as, a projectile fired by an entity typically carries ID of the one who fired it to determine friendly fire or incur infighting. In real world a bullet fired by a person is indistinguishable from one fired by anyone else - criminalistics exists to determine who could have done that but it is not an exact science. For the same reason time-of-death or length-of-life are not really things that can be exactly calculated. Death is a process where flesh siezes to function, necrotizes and then rots. Anything dying can be theoretically brought back to life - only some or all of their organs fail and do not work properly anymore, this includes brain. This is what coma often is - brain does not function correctly but has a chance to regain at least some of the functionality.
Kinda ironic considering in Hell's lore in Doom 2016 they were smart enough to take over heck tons of dimensions and corrupt it into their own like a cancer plague yet they can't stop themselves from infighting each other.
The demons don't really lack for numbers, so any losses due to infighting among themselves are acceptable losses. Also, there's no monster infighting in Doom 2016 other than scripted instances... so those demons are really "smarter" in some senses. Or at least their higher-ups can maintain better discipline.
@@Schwarzvogel1 We could, alternatively, think of their higher smartness as being so intimidated by their superiors that if they start 1 more infight they're executed on the spot, no court marshaling, so they'll rather fight a literal suicide mission against Doomguy than face whatever horrors their superiors cook up since there's nothing else to look forward to conquer. Maybe they already knew from seeing it all, and had a tough choice to make: die a brutal but pretty quick one from Doomguy, or pure agony from their superiors. I definitely see which is an easier choice, but whichever you take you're still fucked.
4:44 If you really want to see something wild, try firing a single pistol shot at a Lost Soul while it's in the middle of a charge. (I'm serious, go try it!) It freezes, hovering in mid-air, continuing its charge animation forever, completely helpless, letting you walk up and punch it to death, unless you hit it with something that knocks it back into a wall or another enemy. (In which case it will only damage things that are in the direction it's currently moving, regardless of what direction it's facing) I haven't looked at the source code, but I think the reason for the way Lost Souls behave (from what I've observed of the original game) is that when it charges, it becomes its own projectile. Every time it finishes a charge, it essentially becomes a new enemy, which is why it doesn't remember who it was in-fighting with after a single charge, and also probably why it doesn't make any sound when you get its attention. (Otherwise, it would be making that noise after every time it charges!) This makes me think that a video explaining the Lost Soul behaviour could be interesting.
Basically, yes that's what happens-- when the Soul attacks, it's in a special attack-mode animation, and it's supposed to change after the attack completes. But if it loses all forward momentum, it can get stuck for quite a while. But it does have that damage threshold thing. If you shoot it enough, but don't kill it, it may become "unstuck".
When I made Monster Mash, I gave the Lost Soul's attack to the Cacodemon. And I had to put a time limit on how long it would stay in attack mode. The Cacos, being more massive, could frequently get stuck in attack mode just drifting through the air.
@@CantoniaCustoms theres a mod called Idle Doom, where demons spawn in the center of a room and you press switches to buy gunners to kill them. It works like an idle game but in Doom.
Monster Infighting is such a delightfully fun feature. After all these years, making monsters start a big brawl where they just angrily tear each other apart, still makes me giggle like a fool.
Some extra notes: 1. The reason why making a sound previously in a room will prevent monsters from idling is because sound propagation is _permanent._ As soon as you press the fire button ( which, for most guns, means before they even _fire_ ), the "sound" spreads as far as it can given physical barriers and sound blocking lines, then marks all sectors that are touched with the firing player's id as their soundtarget. Then, whenever a monster calls A_Look ( the codepointer that, well, looks for a new target, called in every Spawn state ), it checks its current sector's soundtarget, and if there is one, it wakes up and starts chasing them. Notably, since soundtarget is only checked in A_Look, a monster that kills its current target with look around, see no players in vision range, go back to idle, check for a soundtarget, then immediately wake back up again. You can tell this from the fact that it makes its alert sound again. 2. Those hardcoded exceptions with the hell nobles and archviles are inherited by any actor that replaces them via Dehacked. Any actor that is internally a baron of hell will never be hurt by a projectile sourced to an actor that is internally a hell knight, and vice-versa, and the archvile's targeting idiosyncrasies will be adopted by anything that is internally an archvile. This doesn't go for hitscanners or lost souls being able to infight themselves, however, as those are caused by the effects of the hitscan and lost soul charge codepointers themselves. 3. Minor correction, but all vanilla Doom monsters call A_Chase twice per step ( one at the start of the animation frame, and one in the middle ). This means that it takes a minimum of 50 ( visual ) steps for a monster to be able to change targets, though it easily can be more if a monster starts an attack with its first A_Chase call per step. Except with the caco, though that's because it literally doesn't have a moving animation.
When I was a kid, I remember always waiting on Icon of Sin to spawn lots of enemies, and then run across the map with god mode and noclip, to then watch the carnage. Sadly I remember making so many monsters die in this way (over 12k monsters), every time I tried to load the savefile, the game would crash in less than 5 seconds
I once borrowed dad's x486 laptop with a passive LCD black-and-white screen to play Doom II. IDCLEVed to map 30 and started running around and spending ammo on endless waves of monsters. After some time the game started glitching, the LCD matrix was not redrawing quickly enough, and I could barely see what was happening anymore, behind mountains of corpses. After maybe 40 minutes the game crashed.
There's something oddly satisfying about hiding around a corner and listening to a group of hitscanners going at each other. The sound effects of them shooting and hollering makes me giggle :b
The first time I read about monster in-fighting, for original Doom, was mainly focused on Barons vs Cacodemons, as the two monsters were meant to hate each other and took pleasure in offing their opponents before turning their attention back to the player. I think that and the feud between the Cyberdemon and Spider Mastermind are probably my favorite examples.
One of the funniest glitches in an old version of doom was a pinki demon taking damage from a barrel. It would just stand there and do the bite animation forever lol.
The code designed for Baron and HK still works, even if one of them uses the different projectile, such as cacodemon fireball. Because of this, HK and Antaresia (Baron replacement) in Struggle don't infight each other. On the other hand, if one of them uses a hitscan attack, the one that hit by a bullet will start trying to infight against the hitscanner. Even if the projectile doesn't do much, they'll have a nice boxing match in close range sooner or later. And that's why Annihilator (another Baron replacement) in Eviternity uses hitscan attack, rather than Former Captain or Arachnotron's high-caliber bullet projectile, to provoke infighting.
After all these years of playing Doom, I finally got an answer as to why some enemies stay focused on me even when getting hit by other enemies. You really know this game inside and out, and I applaud you for sharing the knowledge
Huh, amazing. I was just thinking about the next topic, and infighting was the one to cone to my head as the possible one. And I had a comment like "I am too jealous to allow monsters kill each other. They are all mine. Except Gotcha of course. Thanks for the video.
"What about you and me, on my couch, with pop corn, a huge tv, and beautiful afternoon watching all decino's yellow screen videos teaching us everything about Doom with his delightful voice?" And that is how I met your mother kids.
I remember watching my Dad play this on his PC when I was a little kid in the early 90's and he was blown away that the enemies turned on each other. I remember him saying he doesn't know how games could possibly get better.
This explanation reminds about how there was a college presentation about how the AI works in games like F.E.A.R. and other games inspired by it. Just shows that some AI for games like Doom can still hold up because of how much thought was put into it.
Infighting was always one of my favorite mechanics in DOOM, allowing me to save a bunch of ammo while I can just sit back and watch Hell’s forces tear each other apart. Needless to say, it saved me in a lot of areas, especially in DOOM II.
There are wads that often intentionally use doom's infighting as a level mechanic I think theres also alot of times were Infighting is also often necessary to beat certain wads UV Max or to beat certain slaughter wads Infighting is a really cool feature that I think is pretty pretty uncommon in video games, the only other games off the top of my head that i can think of that have some kind of infighting are half life 2, sometimes in the borderlands games, and minecraft theres probably others but I either don't remember or haven't played
Some other games with AI infighting are Gamebryo engine games(Fallout and Elder Scrolls), Warcraft(some computer only teams will fight amongst each other), and Turok. I remember playing Turok Evolution and kiting saber-tooth cats out of that one cave system to have them demolish the enemy soldiers waiting outside. Fun times.
While this comment goes beyond vanilla Doom, I think it's somewhat relevant: In at least complevel 11 (MBF), infighting seems to trigger differently. I have not looked at the code but it feels subjectively a little worse than vanilla in that the threshold isn't hit as easily so they keep fighting the player a little longer... Maybe? I really should look at the code. Sadly I realized this difference only after Eviternity was already long since settled on this complevel.
I noticed that too. It's as if the threshold is set to a high number when a demon spots you. Often I want an undamaged Cyberdemon that just spotted me to infight stuff, but he simply doesn't retaliate. Worth investigating!
@@decino I'm looking at p_enemy.c for MBF 2.0.4 and it looks like Lee Killough rewrote a lot of this code. I assume it was mostly for cleanup so maybe the change is unintentional. But it could also be a side effect of MBF's friendly helper monster (item 888, by default a dog, replaced in Eviternity with the rather unfriendly Nightmare Demon). I don't know C but look at line 852: What does the value of 60 here mean?
Not at my computer right now. Quick glimpse: the monster that finds you has its threshold set to 60, so pretty much what I predicted. The threshold decrements each time a monster takes a step. When the threshold reaches zero or less, it can switch targets when damaged.
I haven't looked deeply into Doom code, but if I understand correctly, monsters are given the exact number for threshold, when their search for player is successful. Why exact number and not adding? Well, I don't know. But it was intended do do that way. You can choose between classic infight and modified. Local .txt says that infighting would be harder, not completly removed
This is indeed the case. See my Valiant MAP19 demo for an example of how much work some fight setups require you to do to initiate an appropriate infight in MBF. Out of curiosity, is the threshold set to 60 every time a monster kills its current adversary and switches back to you, or does this happen only the very first time it spots/hears you?
I love how much personality DOOM's enemies get just from the AI mechanics. The Arch-Vile having absolutely NO chill compared to other enemies gives it a far more aggressive feeling than the others, and I think that's super incredible.
Wow, even after playing Doom for all these years, I never realised how much logic was behind infighting. One question; doesn't RNG factor in to any aspect of the infight logic? It feels like it would have been a better "index" than the step counter you mention. As always, great video!
Only indirectly. Idle monsters will only retaliate if they get damaged when on their first idle frame (they have 2), so the timing of the other monster's attack is pure RNG.
I think an underrated benefit of infighting, aside from saving ammo, is that it distracts the monsters and frees you up to either A) Take on another group of monsters in the area or B) Allow you to work on a puzzle/getting out of a room, it's especially helpful on Nightmare to get some infighting to happen which frees you up to make a beeline out of the area.
I remember Tatsurd-Cacocaco running Sunlust a while back and he ended up getting a completely random Baron on Baron infight because of a barrel. No setup, it just happened.
I was really happy to see monsters infighting in Doom Eternal, but sad when I realized they were all just pretending to fight and not actually hurting each other.
When I was a kid I use to call Cyberdemon Servant (Sluga), because of the Plutonia level where he fights everyone and helps me. I actually didn’t know his true name until I got interested in Doom again after long brake, and learned English better. I cannot remember how I use to call them all, but I know Zombie man was Veterinarian, Pinky was Bakarača (I have no idea how to translate that one), Mancubus was Babura ( Fat Granny), Revenant was Zarezač (Pencil Sharpener, his shoulder launchers reminded of that), Arachnids Spidey (Paućak), Cacodemon was called Dom (Since I didn’t know English and for “oo” sound we read it as “o”, and Cacodemon was on exe icon), Pain Elemental was called Sheep (really have no idea why) and Icon of Sin was called Emboo Kai since that is what I first understood when he would start speaking. I wish I could I could remember others.
I love that the Archie has no threshold, it really fits him that he doesn't fuck around like that, the second he takes damage he turns around like "YOU!".
They fact they thought of in fighting and programmed it into the game is genius. The first time I saw it happen, and then started making it happen, I felt like a tactical mastermind.
I like that stragedic part in doom. Makes this game unique and some good map makers build areas or even whole maps around that technic where without using it its hard or impossible to finish the level. Thanks for showing decino.👍👊🤘❤
One of my favorite (fixed) bugs is arch-vile resurrection loop. When archy kills some monster, resurrects them, kill again and so on. This was in some earlier version of ZDoom, and in Doom 2 beta
I think the lost souls are an interesting case of infighting They were made to be projectiles against anything that wasnt a demon, aka Doomguy, so if they get involved with infighting, they quickly forget their secondary target due to being incredibly simple minded weapons
That was good, and I learned a few things. I wanted to mention: the rockets fired by the Cyberdemon have two kinds of damage. They have regular missile weapon damage, but also splash damage. Any kind* monster could get damaged by the splash, and then go after the originator I think? * any: except that Cyberdemons are also immune to rocket splash damage. So they still don't go after each other. IIRC, I think I discovered this behavior when playing around with DeHackEd and giving the rocket attack to other monsters. The Cyberdemon immunity to rocket splash damage is based on thing slot.
Friend and I were talking about this a while back, always though it was damaged based. We also talked about how the AI pathfinding was kind of like a marble in those wooden labyrinth mazes. Eventually based on the angles of the player/enemy facing and map wall angles, it would ambush you or catch you around a corner. Smart design based off of what they had w/ memory and such.
If you love infighting, like me, enter "infighting 1" in the GZDoom console (~) to have every monster always infight, if hit. Even by their own species/projectiles.
my life changed when i discovered monster infighting in Doom back in 1994. First time i figured it out, I thought it was a glitch. Every since then anytime i play a game, i always see if monster infighting is possible. Crazy its not that common
Finally someone who explains how the threshold value works. I keep seeing new doom players confused why monsters don't instantly retaliate to others. Great vid as always, Pro Plutonia 2 when decino? wait, wrong channel
It makes sense in Doom for them to infight also. Being demons, I would assume that they are constantly battling for supremacy amongst themselves, and since pain and suffering is commonplace for demons it doesn't seem silly or weird for them to do this.
Blood actually does have infighting! It's been a long while since I played but I vividly remember getting axe zombies to gang up on a fat zombie in that one episode that starts you off in a castle. (the axe zombies eventually win)
I know I've seen Steamworks mods that allow you to do this in Serious Sam games, but of course since they weren't designed for infighting, it only results in making the games easier, and you already get an absurd abundance of ammo, anyway.
The first two levels of In Thy Flesh Consumed on Ultra Violence come to mind. Most difficult levels in the whole game only a few ammo and health pickups.
I remember that as a child, internal struggles were one of my favorite strategies, today I prefer to kill the demons without help. I also remember that before for some reason I only used the pistol to pass the levels, as long as I did not run out of ammunition for the pistol. I wonder if there will be a challenge to finish the DOOM only using the pistol. Speaking of the pistol, she seems to be very unique, especially the sound of her shots. The first time I saw her, I didn't know what it was exactly. It looks very strong and gothic, it does not seem that it was a weapon manufactured in series. Rather it looks like a weapon forged by a legendary blacksmith and imbued with the power to kill demons. It would be possible for you to make a video talking about where the ID boys got the look and sound the weapons of the DOOM.
The Doomguy's pistol is modelled after a Beretta 92f--the standard-issue pistol of the US armed forces at the time when Doom was first released. There's really nothing special about it and it is truly the archetypal FPS starting weapon--somewhat weak, but reasonably accurate and good until you get something a bit better (i.e. the shotgun).
This is a game from 1993. People say that it was complex for it's time. I think this game should be still considered complex even in 2019. Monster infighting is just one thing, there are so many other things in the game, that I think this game still holds up really well. Just the way you can interact with the world around you, the power-ups, the weapons. Every enemy matters, and they are so distinct from each other, not just from a visual perspective, but the way they behave. To give you another example: When you shoot the cacodemon with a chaingun, it rarely fires back, because he is in constant pain. These ideas, these thoughts make this game one of the best, if not the best game of all time.