When I first played through Doom 2 fully as a teenager, the Arch-Vile terrified me, inducing total panic whenever one appeared. I would often immediately charge it with the rocket launcher, forgetting that its own movement speed was so fast that between the two of us running towards each other I would probably end up blowing myself up and having to reload a save. Usually that save was from just a few seconds ago, because the sound of an Arch-Vile waking up was enough for me to immediately save my game.
Now, two decades later, as a so-called Professional Game Developer, I’ve spent some time thinking about the Arch-Vile and have come to the conclusion that it is one of the most brilliant and fascinating non-boss enemies in any game, and I’d like to explain why.
All Demons Great And Small
First, let’s rewind a year to before Doom 2, to Doom. Doom has a pretty classic lineup of enemies that spreads pretty evenly into this table:
Weak | Strong | |
Hitscan | Zombie Guy | Shotgun Guy |
Projectile | Imp | Cacodemon (also flies) |
Melee | Lost Soul (also flies) | Pinkie Demon (& Spectre) |
And then there’s the Baron of Hell, who plays the “boss who becomes a normal enemy later” role and is both a massive tank and a heavy hitter.
Pretty simple, right? Plus, the two flying enemies are cleverly split between melee and projectile, and there are a lot of other clever concessions to tweak the difficulty, like the shotgun guy’s attack being much more deadly up close and the huge delay between the Pinkie Demon’s attack animation starting and it actually doing damage.
So in all, a pretty well-balanced roster of enemies with a fairly even distribution of traits.
So Doom 2 comes out, and it has seven new common enemy types. How do they fit in?
Weak | Strong | Even Stronger | |
Hitscan | Zombie Guy | Shotgun Guy | Chaingunner |
Projectile | Imp | Cacodemon (also flies) Hell Knight | Baron of Hell Mancubus (slow, staggered attack) Arachnotron( medium speed, rapid-fire attack) Revenant (moves quickly but slow homing attack) |
Melee | Lost Soul (also flies) | Pinkie Demon (& Spectre) | None… sort of |
Plus the Pain Elemental, which flies and spits out Lost Souls, and the Arch-Vile, who we will get to soon.
“Wait a minute,” you might be thinking, “the new additions completely break the chart,” and you would be correct.
A More Interesting Challenge
The new enemies in Doom 2 represent a huge step forward in how to think about FPS enemies by considering their differences in more dimensions.
For example, every projectile-throwing enemy in Doom uses essentially the same behavior: Walk (or fly) around for a few seconds, throw one projectile, repeat.
In Doom 2, the new projectile enemies have completely different behaviors: The Mancubus fires a volley of six projectiles, two at a time, in an alternating offset pattern; The Arachnotron waits until it has a clear shot, then continuously shoots rapid-fire until the target moves out of its line of sight; The Revenant alternates firing homing rockets and non-homing rockets.
But that’s not all, because id Software thought about how players would try to react to the Revenant (taking cover to wait out a volley of homing rockets) and made the decision to discourage doing too much of that by making the Revenants move very quickly AND giving them an extremely powerful melee attack. So if your reaction to the Revenant is to go hide in a corner to avoid the rockets, you might just get punched to death instead.
Meanwhile, the Chaingun Guy and the Arachnotron both discourage the player from hanging out in big open spaces by punishing them with non-stop attacks after a brief delay. And that chaingun doesn’t have the same huge distance falloff that the shotgun guy’s shotgun has.
Between all of these new enemies, the player has to think a lot more about prioritizing threats than in Doom. In Doom, a large room full of several of each enemy could be managed by constant movement and dispatching the hitscanners first. In Doom 2, between the Arachnotron, the Revenant, and the Chaingunner, running around in an open area taking potshots at the hitscanners will probably go poorly.
Enter… The Arch-Vile
But let’s say you’ve got all of that managed. You can dodge the Mancubus rockets, weave around the Revenant’s rockets, take out the Chaingunners before they can open fire, and kite the Arachnotron. There’s still one more left to deal with: The Arch-Vile.
Here’s the thing: Out of all the dimensions to measure enemies on, the Arch-Vile more or less breaks the table. It moves faster than anything else, does more damage than anything else, does hitscan damage, and to top it off, can actually resurrect dead monsters.
So wait… isn’t that completely broken and unfair? How is anyone supposed to manage that? Normally, a hitscanner who can kill the player in one or two hits if they don’t have full health and armor would be completely unfair.
But the Arch-Vile isn’t completely unfair, because id Software made every effort to telegraph everything about the Arch-Vile as much as they could.
First, though, let’s talk about sound effects. Doom and Doom 2 have some fantastic sound design, and they made the very clever decision to give monsters two important sounds: A wake sound and an idle sound. The wake sound plays the first time a monster sees you. This is great because if a monster sees you before you see it, you know it. The idle sounds are also good because they let you know that there are monsters nearby, so you know to look out.
Unfortunately, though, one of the problems with Doom’s monster sounds is that several monsters actually have the same idle sound, so you can’t really be sure what’s around the corner.
Doom 2 fixes this problem, though. Every new monster has a unique idle sound (except the Hell Knight, since it’s a smaller version of the Baron of Hell with similar sounds). They also have unique wake sounds, and (this is important!) a few even have sounds to announce when they’re about to attack! Specifically, the Mancubus and – you guessed it – the Arch-Vile!
So, thanks to great sound design, players know when an Arch-Vile first sees them, they can hear it roaming around, and they hear when it’s about to attack.
But that’s not all, because the Arch-Vile’s extremely powerful hitscan attack does something totally unique to warn the player: It spawns a fire sprite directly in front of the player’s view! Thanks to this, players always know when the Arch-Vile is about to attack, and after a few bad hits, they’ll remember exactly how long they have to get to cover.
And there’s the nice thing about the hitscan attack that telegraphs in advance: You know when to run to cover. Fortunately, even the tiniest sliver of cover blocking the Arch-Vile’s line of sight will block its attack, and the Arch-Vile doesn’t move while attacking (since it has to play a cool attack animation), so it’s reasonably easy to grab some cover for the split second the attack actually connects.
This deadly hitscan forces the player to weave in and out of cover until they can get a good shot at the Arch-Vile. If the Arch-Vile only had that deadly hitscan attack, though, players might be tempted to just avoid it entirely. But the Arch-Vile can also resurrect dead monsters, which makes leaving it alone a completely different problem. Its quick movement speed means that if it can’t find a player to attack, it can close distance on the nearest dead monster very quickly and bring it back to life, making leaving it alone for even ten or twenty seconds a potential disaster.
What’s fascinating about this design is that by making the Arch-Vile simultaneously extremely dangerous AND able to resurrect enemies, the player is incentivized to do two mutually exclusive things: Run for cover and wait until the right moment to attack, or try to kill the Arch-Vile as quickly as possible so it can’t resurrect a room full of other monsters.
Then again, every time an Arch-Vile decides to resurrect a monster instead of attacking the player, they’re stuck in a resurrection animation for a few frames and thus vulnerable to attack, so there’s yet another tradeoff.
This is what I love about the Arch-Vile: It breaks all the rules of the game while simultaneously using the conventions of the game to give the player an opportunity to learn how to overcome it anyway. It’s an insanely tough enemy, but it telegraphs its actions so clearly – more clearly than any other monster in the game – that the player can’t help but learn to understand it. It looks great, it sounds great, it’ll kick your butt, but that makes it all the more satisfying when you blow it back to hell.