Every year, when the festive season comes upon us once more, I play UT2004. Every year, it makes me think. This year, I was padding out my campaign playthrough with a bit of Instant Action. I always like to slip in a bit of Onslaught and the bonus Assault missions, but this time I decided to have shot at the Invasion game mode, which I had only played once or twice before.
I quickly remembered why I had only played it once or twice before. However, it set off a train of thought that I want to explore: I think that with a few adjustments, Invasion mode could blossom into something special.
(I should change my middle name from “Danger” to “Distracted”.)
UT2004‘s Invasion game mode is a wave-based survival game. You and two others (bots) are pitted against wave after wave of creatures — that is, the creature roster of the original Unreal, unceremoniously and without upsampling plonked right into the modern world. Death sits you out of a single wave, but as long as one member of the team survives, the others get respawned at the beginnig of the next round. Pretty straightforward.
The thing is, the waves are long, and there are 16 of them (by default; reducing the number of waves doesn’t make it escalate faster, it just cuts off the later waves entirely). That’s not necessarily a problem — you know I love settling into a long haul campaign — but an Invasion match takes place entirely on a single DeathMatch map. That means a successful Invasion is you running around the same, potentially pretty small, set of corridors for thirty or forty minutes! That’s insane!
At least Assault and Onslaught maps are large and varied enough to sustain longer play times, but cute little DeathMatch arenas? UT relies on its huge roster of varied environments to achieve greatness, constantly dazzling your eyes with new feats of architecture and keeping your brain active with new layouts to learn. No matter how beautiful or fun the map you’ve picked is, though, you’ll want a change of scenery long before an Invasion is done.
So Invasion — interesting, but clearly thrown together. That’s not how we do things here! Let’s get overthinking!
Because I’ve always been kinda fascinated by this… recycling of maps, but for different game modes. Invasion works on any DeathMatch map; it spawns enemies on pathing nodes and the rest is letting the creatures’ standard behaviour take over. Even in Warcraft III, I dreamt of making an “automatic RPG” that could seamlessly fit into any melee map — WC3 is less systemically moddable so it could never happen, but it’s another interesting thought experiment. But UT? UT is fundamentally built for extensibility via game modes and mutators, so you can recombine to your heart’s content.
My first thought was: why not make each wave take place on a different map? This would reduce the repetition and keep each stage manageable — you’d only be in each map for a “normal” amount of time, beause each wave in isolation takes about as long as a snappy DeathMatch. Okay, yes, your downside is that you now have to store progression across a succession of maps, but… I mean… surely that’s possible?
My second thought was that each wave is a mess of creatures without any unifying theme. Wild animals like gasbags, mantas and mosquitos rub shoulders with organised foes like Krall, Brutes and their Skaarj masters. Sure, this is ultimately an arena FPS, and this mix of opponents provides varied tactical challenges, but it throws any sense of consistency out the window. One of the main reasons I love Unreal Tournament is because there’s still a framework of fiction around it; you are a person competing to win this Tournament, and you are fighting opponents who have lives, and you are doing battle in places that Liandri has built, bought or stolen. Yes, Invasion is just a bonus game mode, but also… put a little effort in?
So yes, my first act would be to separate the enemies into groups. There’s the wild animals, there’s the Krall goons, there’s the Brute guards, there’s Skaarj battle-group, and so on. Even with that one step, it immediately suggests quests to me: fighting wild animals is a different prospect from fighting Skaarj, even if it’s mechanically identical. “Clear this facility of wild animals so we can move in” versus “defend our base from the invading Skaarj”. It also multiplies the number of combinations we can have, as the same map might play very differently against a group of Krall than versus a Stone Titan. (… there may have to be some size/space constraints, I don’t think all maps would even fit a Stone Titan.)
So let’s say each map is a single mission. You spawn into any DeathMatch map, alone or with bot backup depending on its size (adaptability is important). In this map, you find a group of enemies, pre-populated rather than refreshed during play. Your task is to wipe them all out. Once you clear the map, you win and get to move on to the next. (We’ll work out how to indicate when there’s one guy left you that you just can’t find later.)
This creates a natural time limit as there is a fixed number of enemies to tackle. Honestly, Unreal itself isn’t a game of huge floods of enemies bearing down on you the way Invasion is structured; it’s a game of coming upon and facing small numbers of fairly powerful, highly mobile enemies. Which makes this structure feel… actually really natural. The same way you can trace the evolution of the original singleplayer journey into the arena format in the first place. It’s the circle of life!
I think there are some more interesting possibilities when you consider maps designed for other game modes. DeathMatch arenas are fairly generic; it’s conceptually trivial to spawn creatures rather than traditional combatants into those spaces because they’re already designed to be explored non-linearly.
Domination gets a little more interesting, because DOM points are specifically designed as focal points in a level — suddenly we have places for bosses, or special objectives of some other sort. Retrieve the artefacts? Assassinate the three enemy heroes and escape, making the rest of the monsters optional?
Capture the Flag is similar, allowing you to make really safe assumptions about map structure which you can then exploit. Since each map is in halves, you can partition it; one half of the map is Safe and the other is where all the enemies lie. And again, the flags are guaranteed architectural focal points, including hints for the bots about where they should have defensive emplacements — absolutely perfect for bosses if nothing else. How about a rescue mission — take one flag point as your escape pod and another as a prisoner you need to spirit away? (You can still proceed with the “campaign” even if your prisoner dies, but you lose money or something.)
And Assault, oh Assault could be utterly bonkers. Would it be possible to maintain the objectives and the functional progression through each map that already exists, but replace the respawning teams with fixed sets of creature defenders? Literally turn them into traditional singleplayer FPS levels? Woah.
Persistence is obviously something that needs to be considered — what does happen if you win a level? While this could surely work as isolated matches, wouldn’t it be nice if we could introduce some escalation, so that you start off facing wild animals and end up battling a Stone Titan or the Skaarj Queen herself? Even on a more basic level, wouldn’t it be nice to carry your weapons and ammo between maps, slowly accumulating your arsenal as you go just like the original Unreal?
Wrap each mission in little briefing and debriefing dialogue boxes and you have yourself an adaptable, seamless campaign — how many missions can you last before you die and have to start again?
But it’s reusing the tried-and-true FPS formula of Unreal Tournament, and it’s built entirely from pre-existing materials! UT already includes all the creatures, and misfiring random bits of level is the bread and butter of custom game modes and mutators! It’s starting to sound awfully roguelike, but it seems to me like it could be a compelling balance between the pulse-pounding arena format of Unreal Tournament and the atmospheric journey of Unreal.
It also — dare I say it — sounds like it’d be dangerously easy to make. I’d do it in the original UT rather than UT2004 of course, but the creatures are also available there and the rest feels like it’s just twiddling the knobs of stuff that’s all been done before.
Mind you, much as I love UT, I’ve never actually modded it to any real degree… and in the past few years that I’ve been tempted, I’ve struggled to find tutorials because, yep, searching for anything with the word “Unreal” in it gets you results for the eponymous Engine that dominates so much of the gaming industry these days rather than material about, you know, the actual game that spawned it.
Ah well, I’m good at figuring out undocumented legacy systems. At least it’d be better than accidentally making another Warcraft III map.