SCF Posted December 24, 2021 (edited) Update: Added the Wolfenstein SS We all know enemies in Doom can infight, and that a mancubus is better at killing his fellow demons than an imp. But how much better exactly? How often does a cyberdemon win against a spider mastermind? And is it ever possible for a revenant to kill an arachnotron? I wanted to know the answers to these questions, so I decided to find out. Given that Doom is almost 30 years old, it's possible that someone's done this before, but I haven't found anything like it, and I figured it would be a fun holiday break project. Unfortunately I have no Doom modding experience, and I was worried about putting time into learning scripting only to find out some things were impossible to do. So instead, I just hacked something directly into the dsda-doom source code. This turned out to be a good choice, because the built-in speedup function let me run all the fighting at 50x speed. The Rules Each pair of enemies fights 10,000 one-on-one duels. The duel takes place in a box roughly 1500x1500 units in size. The starting distance between the two enemies was randomly chosen between 512 and 1024 units The starting locations are rotated around the center of the arena by a random angle. This is to smooth out any pathing or other engine quirks*. As soon as one of the enemies dies, the duel is over and the survivor gets the win. If both enemies died on the same game tic, it's a draw. Any projectiles that were still in the air are removed and the next duel starts. * Initially I spawned the enemies right on the X-axis, and if you do that, it turns out a zombieman beats a demon! It will just keep moving backwards and shooting. Funny to watch, but not very representative. To speed things up, I had 30 fights going on at the same, in a huge room separated by invisible walls. It still took roughly 100 hours of in-game time to finish everything. Thankfully that only translated to 2 hours of real time. Here is a screenshot of the test subjects hard at work: Spoiler Exclusions The following enemies were excluded from the experiment: Spectre - identical to Demons Archvile and Pain Elemental - enemies normally can't infight with them Lost Soul - they lose their target after attacking, which makes infighting weird As a side note, even though Hell Knights and Barons normally can't hit each other with their projectiles, I removed that feature here. Otherwise they'd have to get into melee range to damage each other. I doubt it's going to make much of a difference in what is already not a very interesting matchup. Caveats This experiment was intended to simulate infighting in an open area. In real gameplay, cliffs or obstacles may prevent enemies from getting closer, and some demons benefit more from that than others. I also can't be 100% certain that everything worked correctly. Nothing looked off during testing, but some of the results were not what I was expecting. It could be a flaw in the experiment, but it's also very likely that my expectations were just wrong. Results Here are the main results: Here's how to read this table: The value in each cell is the win rate of the enemy on the left, against the enemy on top. So when an imp fought a shotgun guy, it won 77.27% of the time. There's a couple of things that stood out to me The spider demon had an overwhelming 97% win rate against the cyberdemon! I always thought they were more evenly matched, particularly thinking about Gotcha. I assume it's because the spider demon is weaker at range, and the platforms in Gotcha force them to be further apart. As you would expect, chaingunners are glass cannons. They have a fighting chance against several heavier demons, with a close to even matchup against arachnotrons, but sometimes they'll just die to an imp. Most matchups against the boss monsters were completely one-sided. However, the arachnotron managed to single-handedly kill a spider demon 2 out of 10,000 times! Some of the other really unlikely outcomes are a demon killing a chaingunner, and a cacodemon killing a hell knight (both 0.03%) Also, if you're curious, there were a total of 145 draws, where two enemies killed each other on the exact same frame. The most commonly drawn matchup was between an imp and shotgun guy, where it happened 34 times. Draws were excluded from the results above (basically treated as if they didn't happen). As you can see, there are a lot of 0% matchups, which means that the enemy on the left never won. But you could still look at how close they got to winning. That's what's shown in the following table: What you see here is the highest damage inflicted by the enemy on the left side, against the one on top, as a percentage of total hp. For example, a zombieman never killed an imp, but at least once it was able to do 90% of the imp's health in damage. Some observations: A cacodemon once took an arachnotron down to about 1% health. That suggests that the cacodemon can win, it's just very unlikely. A chaingunner did a respectable 1710 damage to a spider demon once before falling. Fast Monsters What happens if we run the same experiment with fast monsters enabled? The biggest losers are the ss, chaingunner, arachnotron and spider demon. Their sustained damage doesn't increase as much as the other enemies' do. The cyberdemon and spiderdemon matchup flips around completely, with the cyberdemon never even losing more than 65% of his hp. That means the fast cyberdemon never lost to anyone, and it wasn't even close. Besides the cyberdemon, the caco and pinky demon saw their win rates increase the most. Still, I was expecting the pinky to do even better. I guess it's because two or more fast pinkies can easily stunlock an enemy, but one of them isn't enough. They were also at a disadvantage having to get in close first. And that's it! I had fun doing this, and I hope this was interesting to some of you. If you have any suggestions for things to try, I might be able to set up another test. Edited December 25, 2021 by SCF 41 Quote Share this post Link to post
slugger Posted December 24, 2021 If I'm reading this right, with 1v1 slow monsters, arachnotrons are the strongest non-boss infighters. Is that correct? It sounds right to me, since they fire so much more quickly and heavily than the other slow monsters. Really neat work and it's awesome to see this visualized. It's cool that Doom feels so fair, yet incorporates so much RNG that you can have wacky longshot outcomes like demons tanking chaingunners. 1 Quote Share this post Link to post
Gez Posted December 24, 2021 2 hours ago, SCF said: If you have any suggestions for things to try, I might be able to set up another test. Equal HP matchups. That means that you could have fights like 5 imps (60 hp each) against two demons (150 hp each). 9 Quote Share this post Link to post
SCF Posted December 24, 2021 2 hours ago, slugger said: If I'm reading this right, with 1v1 slow monsters, arachnotrons are the strongest non-boss infighters. Is that correct? It sounds right to me, since they fire so much more quickly and heavily than the other slow monsters. Really neat work and it's awesome to see this visualized. It's cool that Doom feels so fair, yet incorporates so much RNG that you can have wacky longshot outcomes like demons tanking chaingunners. If you count the baron as a boss monster, then that's right. But the mancubus isn't far behind. Although if the setup was changed to force more distance between monsters (like having a pit in the middle), i imagine the arachnotron would do even better. 1 hour ago, Gez said: Equal HP matchups. That means that you could have fights like 5 imps (60 hp each) against two demons (150 hp each). That's an interesting idea, but it would probably be a hassle to find the right combination for each pair of enemies and set them up correctly so they don't block each other. 0 Quote Share this post Link to post
SiFi270 Posted December 24, 2021 4 hours ago, SCF said: Wolfenstein SS - something was wrong with their targeting (they didn't want to shoot at their enemy) and I didn't care enough to find out why They're not real Doom enemies anyway. When they're firing, they use the same sprites no matter what angle they're facing. Are you sure it's not just that? The sprite fixes add the necessary frames, so you could maybe try it with that loaded. 4 Quote Share this post Link to post
SCF Posted December 25, 2021 (edited) 13 hours ago, SiFi270 said: When they're firing, they use the same sprites no matter what angle they're facing. Are you sure it's not just that? The sprite fixes add the necessary frames, so you could maybe try it with that loaded. Oh, you're absolutely right, I had no idea about that. They were working correctly, it just looked like they were firing in my direction. I thought I saw some smoke puffs on the wall in front of me too, but that must've been from a zombieman behind him missing. I've updated the tables to include them now. Edited December 25, 2021 by SCF 4 Quote Share this post Link to post
idbeholdME Posted December 25, 2021 (edited) Interesting stuff. The results confirm what I've observed from my -fast gameplay. The Cacodemon and Demon benefit the most in their combat effectiveness. In the case of Cacodemon, it's because of their very short attack animation, allowing them to spam projectiles quite quickly and Demon because of the speed increase of course. Also, the only thing a -fast Cyberdemon can struggle with is a knocked back Cacodemon in a huge open area. The Cyber can't hit him as the Caco auto-dodges everything while spraying the Cyber constantly. Anything else gets absolutely annihilated. But yeah, this test is just one of the pretty much unlimited number of possibilities for combat scenarios. Even slight changes in the distance or arena layout can produce vastly different results. Which is why Doom's combat is so great. Edited December 25, 2021 by idbeholdME 7 Quote Share this post Link to post
Quasar Posted December 25, 2021 (edited) I would point out that spectres are not strictly identical to demons because enemies don't aim accurately at them. That ought to give them a narrow edge over normal demons (it obviously becomes irrelevant when they're at melee range). It's exactly the same as when they attack a player that has a blur sphere active. Edited December 25, 2021 by Quasar 9 Quote Share this post Link to post
SCF Posted December 25, 2021 5 hours ago, Quasar said: I would point out that spectres are not strictly identical to demons because enemies don't aim accurately at them. That ought to give them a narrow edge over normal demons (it obviously becomes irrelevant when they're at melee range). It's exactly the same as when they attack a player that has a blur sphere active. Another thing I didn't know! What a strange feature that will almost never be noticeable in normal play. I did another run where I simulated stationary enemies by setting their speed to 0, so they're always about 1024 units apart. This is basically what would happen if turret enemies fight. Only 1000 duels this time, but that's more than enough to see the difference. Pinkies were excluded for obvious reasons. At range the arachnotron really becomes dominant over all other normal enemies. Hitscanners in general do a lot worse because some of their pellets will miss (and the cyberdemon once again beats the spider demon every time). 9 Quote Share this post Link to post
Cruduxy Pegg Posted December 26, 2021 I think there a few things to keep in mind with this although the results won't change much: 1) Enemies with wider attacks/multiple projectiles scale better in group fights than single projectile ones. So mancubi and arachnotrons probably do a lot better in giant group fights, enemies with hitscan being the exception since they'll kill each other most of the time. 2) Elevated cacodemons constantly move backward after getting hit, this is an insane boost to their defenses compared to one without elevation. 3) Pain elementals can get killed by mancubi and cyberdemons if they are close enough and the annoyed monster hits it after killing the lost soul. Arachnotrons probably can do it if the stars align and they push a lost soul directly back at a long range PE with a million projectile behind it a few times. 4) Revenants much weaker at close range as they insist on landing punches until hit instead of using seeker projectiles while dodging a lot of imp-esque projectiles. The As the map length is 1024 this means the revenants 196 melee range insistence is a decent drop in its power especially vs hell knights. I wonder how it will go in a 4k arena with elevated spawns so cacos get their defense boost and close range power houses like arachnotron miss most of their projectiles. But that's even more testing than as is :P, good job. 1 Quote Share this post Link to post
Stupid Bunny Posted December 26, 2021 This has thoroughly tickled my craving for data collection, thank you for this gg @ the one -fast SS man who somehow managed to kill a whole spider mastermind (except he’s an SS man so fuck him) I’m surprised given the sample size and some of the outliers that not once was a zombieman able to slay an imp. I’d also have expected the spider demon to have an edge over the cyber, but not to that overwhelming degree. The reversal in -fast mode is also striking. I guess since rapid-fire enemies don’t change their firing rate on -fast they lose most of their advantage against single-shot or volley enemies who are now much more aggressive and have less dodgeable projectiles. 3 Quote Share this post Link to post
Nine Inch Heels Posted December 26, 2021 (edited) Something to consider that you haven't really accounted for, and I'll use the standard UV SMM vs Cyb percentages as an example for this... The starting distance for monsters which are not only reasonably tanky, but also somewhat quick, matters a lot less than one might expect... as long as the SMM and the cyb can get up close and personal without any obstructions, the SMM will absolutely dominate the Cyb to the point where 10 or even 20 consecutive wins are something you can expect to see regularly.... However, this does not line up with observations made "in practice", by which I mean cases where the distance between the two fighters can never be "zero" (as in: up close and personal). Likewise, keeping monsters at 1024mu is also not necessarily very representative for cases like this, because the SMM will "blow" most of its potential DPS into the nether, while the cyb has an extremely wide target, that is also highly unlikely to evade, to pummel with rockets from afar with a very high degree of accuracy... In other words, and for cases as range-dependent as these, it would be informative to stage fights starting at 128mu distance, and then running several other, similar fights alongside them, which take place at a distance of 128mu + 128mu... and then at increased distances up to 1024 - 128 (because that 1024 data already exists)... Because I suspect there is a "breaking point" from which onward the SMM starts losing incredibly often, but I'm also sure that point is not at 1024mu... Otherwise this was a fun read, but I felt like jumping in on this due to a short discussion on discord regarding the outcomes of SMM vs Cybs in particular, and how the statistics deviate from observation made within the game, which is easily explained by way of distance... Edited December 26, 2021 by Nine Inch Heels 8 Quote Share this post Link to post
Grain of Salt Posted December 26, 2021 I came here to say "the cyb/spider matchup depends mostly on how close they are" but nih seems to have covered this pretty well 4 Quote Share this post Link to post
pcorf Posted December 26, 2021 On 12/25/2021 at 3:38 AM, SCF said: A cacodemon once took an arachnotron down to about 1% health. That suggests that the cacodemon can win, it's just very unlikely. This is quite common. There have been many times I have finished off a mid tier monster with a single (or two) pistol shot(s). 4 Quote Share this post Link to post
Cruduxy Pegg Posted December 26, 2021 (edited) Another thing to keep in mind is that you need to manually trigger infights which adds a whole lot of other problems to this. It is easy to lure an elevated arachnotron into enraging an entire country of monsters into infighting. The moment the arachnotron is the one on the ground level ( preferably with a mound around it ) while the other monsters are elevated it is much riskier to try infighting since the arachnotron projectiles are fast enough to "forbid" you from getting within a specific distance without taking damage. if there are a lot of arachnotrons you'll probably die if you try to run into them. Same with mancubi and to a lesser extent revenants as they are too stupid to shoot but in big enough groups you probably don't want to get too close to a revenant blob. I hate to write it but zombies are going to be even worse in a real scenario than in this test. You might ask why? Remember that most other monsters are going to get a free hit on the zombie to trigger the infight and that's usually enough to kill the zombies. Unless it is a chaingunner stunning a monster you are hiding behind ( bad idea unless you are godly with timing ssg to kill both monsters at the end ) the zombie isn't going to be defeating anything bigger than an imp. That's why a lot of people might notice zombies are "deadlier" than they see in normal gameplay. Luckily these monsters are usually the ones placed on elevated platforms when at ground level they'd be a much bigger nuisance as they deny larger areas than from an elevated position. Good luck if both the elevated and ground level monsters are arachnotrons or even worse mancubi though! You aren't going to be circle strafing those into a fight without extreme matrix skills. Edit: Oh and everyone's favorite.. Nightmare pinkies are probably deadlier than in this test since they normally get to reach the other monsters for free, won't help vs stun resistant monsters but it increases their winrate vs a few mobs. Edited December 26, 2021 by Pegg 1 Quote Share this post Link to post
galileo31dos01 Posted December 26, 2021 It's also possible for a fast SMM to grind a fast cyb to death, provided they're both as close to each other as possible so the SMM isn't missing shots (blockmap considered) and neither can't be pushed back, although these conditions are very specific and highly unlikely ever met in a map without a lot of manipulating stuff, unless maybe it's observable in one of the Eternal Doom maps which has a very intimate SMM vs. cyb (vs. archvile, lol). 0 Quote Share this post Link to post
Nine Inch Heels Posted December 26, 2021 (edited) 1 hour ago, Pegg said: Another thing to keep in mind is that you need to manually trigger infights which adds a whole lot of other problems to this. It is easy to lure an elevated arachnotron into enraging an entire country of monsters into infighting. The moment the arachnotron is the one on the ground level ( preferably with a mound around it ) while the other monsters are elevated it is much riskier to try infighting since the arachnotron projectiles are fast enough to "forbid" you from getting within a specific distance without taking damage. I'm not sure why I'm responding to this since it's not my work that's being scrutinized, but I'll respond regardless and say that it seems you misunderstood the premise of these trials... The difficulty of getting monsters to infight... is just not something that could ever be accurately represented in trials like this, because it's already impossible to account for the variance of skill of the players who instigate these infights. This is about "who wins when A and B shoot each other in a vacuum", concerns about externalities like instigation seem misplaced, and I'll also add that I've managed to punch arachnotrons while they were shooting without getting hit... It's hard to pull off, I can't do it consistently, but getting close enough to a tron to instigate an infight? I fail to see the problem that you describe. 1 hour ago, Pegg said: I hate to write it but zombies are going to be even worse in a real scenario than in this test. You might ask why? Remember that most other monsters are going to get a free hit on the zombie to trigger the infight and that's usually enough to kill the zombies. Whoever said it was mandatory for the zombie to get hit first..? It's perfectly within the bounds of reason to assume that a stray shot from a zombieman can draw "aggro" of an imp, or just about anything else, really, and it's not outlandish that it happens more than once... So this objection makes no sense. Also zombiemen can survive more than one might expect... Of course they will perform worse in a "real scenario" than in those trials, but I've seen them take down imps from time to time... 1 hour ago, Pegg said: Luckily these monsters are usually the ones placed on elevated platforms when at ground level they'd be a much bigger nuisance as they deny larger areas than from an elevated position. Good luck if both the elevated and ground level monsters are arachnotrons or even worse mancubi though! You aren't going to be circle strafing those into a fight without extreme matrix skills. Mancubi are reasonably easy to circle strafe, and the "goldilocks zones" the manc actually has due to his projectile spreads can be easily identified on the fly... To me this seems like you're making up problems where none exist for the most part, and you entirely omit cases where the infights are being instigated without the player even knowing, in which case these statistics might still be interesting enough... Edited December 26, 2021 by Nine Inch Heels 1 Quote Share this post Link to post
volfenstein Posted December 26, 2021 Here's one idea for something feasible to test: allowing teams of the same species, and thus trying to figure out the precise ratio of monsters to get an average 50:50 victory rate. Fun to think about or take bets on. - how many imps vs a baron of hell to get a 50:50 victory rate? - what about pinky demons vs a mancubus? - how many zombiemen to take down a cyberdemon? I'll guess... 5,000 hahaha 2 Quote Share this post Link to post
SCF Posted December 27, 2021 7 hours ago, Nine Inch Heels said: Something to consider that you haven't really accounted for, and I'll use the standard UV SMM vs Cyb percentages as an example for this... The starting distance for monsters which are not only reasonably tanky, but also somewhat quick, matters a lot less than one might expect... as long as the SMM and the cyb can get up close and personal without any obstructions, the SMM will absolutely dominate the Cyb to the point where 10 or even 20 consecutive wins are something you can expect to see regularly.... However, this does not line up with observations made "in practice", by which I mean cases where the distance between the two fighters can never be "zero" (as in: up close and personal). Likewise, keeping monsters at 1024mu is also not necessarily very representative for cases like this, because the SMM will "blow" most of its potential DPS into the nether, while the cyb has an extremely wide target, that is also highly unlikely to evade, to pummel with rockets from afar with a very high degree of accuracy... In other words, and for cases as range-dependent as these, it would be informative to stage fights starting at 128mu distance, and then running several other, similar fights alongside them, which take place at a distance of 128mu + 128mu... and then at increased distances up to 1024 - 128 (because that 1024 data already exists)... Because I suspect there is a "breaking point" from which onward the SMM starts losing incredibly often, but I'm also sure that point is not at 1024mu... Otherwise this was a fun read, but I felt like jumping in on this due to a short discussion on discord regarding the outcomes of SMM vs Cybs in particular, and how the statistics deviate from observation made within the game, which is easily explained by way of distance... Yes unfortunately these statistics will never match exactly to an 'average game situation' because there's just too many variables involved, and every fight will have different map geometry. But it's at least interesting to know the outcomes for the base cases. But I tried your suggestion, having the cyberdemon and spider mastermind fight at different distances. Like before I just set their speed to 0, but I also removed all knockback to keep them at the same distance (which I hadn't done in the previous post, but it shouldn't have made too much of a difference at 1024 units since enemies were already close to the walls). The threshold at which the cyberdemon starts losing turns out to be very small, with the break-even point around 320: The last column is the result when they were free to move. Unfortunately I can't explain why there's a significant difference between that one, and the one for 168 units (which should be the minimum before they get stuck inside each other). Shows that it's hard to control for all variables, and that any restrictions can have unexpected side effects. 52 minutes ago, volfenstein said: Here's one idea for something feasible to test: allowing teams of the same species, and thus trying to figure out the precise ratio of monsters to get an average 50:50 victory rate. Fun to think about or take bets on. - how many imps vs a baron of hell to get a 50:50 victory rate? - what about pinky demons vs a mancubus? - how many zombiemen to take down a cyberdemon? I'll guess... 5,000 hahaha It would be interesting, but very difficult to set up since you have to figure out the optimal placement for each side so that enemies don't get in each other's way. A blob of 5000 zombieman vs a cyberdemon could turn out completely different than if you placed them in a huge circle around him. 3 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.