DRL > Requests For Features

Monster Infighting

<< < (3/3)

Creaphis:
I actually came to this site originally because of a news post on Doomworld.com. I am a rabid Doom fanatic and can easily list off every monster's infighting behaviour from memory.

- All monsters that deal bullet damage (former humans, sergeants, commandos, SS nazis, spider masterminds) will attack any monster that damages them, even if the monster is of their own kind.
- Imps, cacodemons, hell knights, barons, revenants, mancubi, arachnotrons and cyberdemons will attack monsters that damage them, but will never attack their own type, as they are all immune to the projectiles fired by their own kind and thus can't damage and provoke each other. Hell knights and barons fire the same projectile in Doom and thus can't infight.
- The exception to the above is that when one monster accidentally hits a barrel that explodes and damages another monster of the same type, the damaged monster will begin attacking the monster that set off the barrel. These monsters will still be immune to each others' projectiles so they won't actually damage each other until they get into melee range.
- The exception to the above exception is that cyberdemons and masterminds are immune to splash damage, and can't be provoked by having a barrel explode near them. Thus, cyberdemons will absolutely never infight, even when there are barrels on the battlefield (and they couldn't damage each other anyway, as they have no melee attack).
- Demons and spectres will attack other monsters if damaged. While they could theoretically infight amongst themselves, there's no possible way (except in earlier versions of Doom) to get them to damage and thus provoke each other.
- Lost souls, when damaged, will attack the monster that attacked them exactly once. The way that the lost soul is coded is that after a charge it returns to its dormant (spawning) state, which resets its target to the player.
- Pain elementals will attack other monsters if damaged, but, as it is impossible for them to deal damage directly (they have no melee attack), they will never be chosen as a target by another monster. Any monster hit by one of its' lost souls will just attack the lost soul.
- Archviles will attack other monsters if provoked, but they're hard coded to be untargetable. Basically, there's a routine in every monster's attack code that says: if (target == archvile) then chooseNewTarget();. Doom wasn't written in Java but you get the idea.



If infighting was implemented in DoomRL it would open up some strategic possibilities (you could use some monsters as "cover" from other monsters and get them to fight each other) but some things would have to be tweaked to keep the game from getting too easy. Right now, it's not uncommon for monsters to spawn in mixed groups, eg. a hell knight in the middle of a bunch of imps. If the hell knight hit one of the imps they'd all get caught in the splash and collectively maul the hell knight. You would probably need to restrict which monsters are capable of damaging each other, which would then actually take away a form of infighting that exists now in DoomRL - every monster can damage every other monster, even its own kind.

Pricklyman:
Or maybe instead of guaranteed infighting, like a...5-10% if damage is dealt. (Per enemy.)

This would ensure that entire groups would not maul one enemy since you used them as cover deliberately! Of course every now and then something like it would happen, but that chances of a roll of the "dice" being >9 out of 10 twice in a row is low...very low...

Creepy:
Infighting would be problematic, not because of the coding, but because the levels are somewhat less open than areas in Doom and thusly monsters are a LOT more likely to be shooting through each other. We already have a lot of instances of monsters killing each other in corridors because an Imp doesn't care that a Demon is in the firing line, and the way shotguns work here means that a former sergeant will draw fire like crazy.

DoomRL 2 would probably be better able to handle it simply because it can have the firing behavior and map layout designed with the idea of infighting from the beginning, when it starts being a thing that is happening and not just a thing we see discussed sometimes.

Navigation

[0] Message Index

[*] Previous page

Go to full version