Total Annihilation meets C&C
There’s much to be said about “Total Annihilation”, or simply TA, a hugely successful real-time strategy (RTS) game from the late nineties. Exactly in the last day of September this year (2017) it’ll complete twenty years. I know of very few games that old which are still actively played — not to mention I don’t know of any game that old which was completely recreated in 3D and is being actively developed in open source form by a group of devoted fans.
Just yesterday I had an amazing 7v7 match with local friends, recently we got sixteen (!) players in the same match and even when massive battles were going on it all went smoothly. Did your computer crash during the match? Fear not, simply reboot and re-enter the ongoing battle room. By your user credentials, the game knows you’re the same guy which left the match a few moments ago. After you click “Play” — which’s always available for spectators — a replay is played up to the point where you crashed. Commonly other players will pause the match when a disconnect happens. At that ‘pause’ point you get control of your units again and resume playing. Almost magical.
How’s that even possible, considering contemporary triple-A real-time strategy games limit you to a max of eight simultaneous online players in the same match and don’t allow any kind of connection to an ongoing match — God forbid actually rejoining a match you left? You’d have to ask the code wizards smacking their keyboards day in, day out to release yet another feature-packed version of the multi-platform “Spring” engine (springrts.com). If you want to read more about how things got to where they are now, click this link:
https://litrpgreads.com/blog/total-annihilation-spring-rts
Now, not all is joy in the Spring engine universe. There are a number of games (“mods”) to play on, but many of them lack a proper installer, posing some trouble for newcomers. Lobbies are quite fragmented too, some games have their own (no big deal, in its core it’s basically an IRC server) and other games rarely if ever have a match available for play. “Balanced Annihilation” aka BA is the most active Spring game at the moment. A derivative from Total Annihilation, it adds tens of new units to the game while keeping the same basic formula. Two infinite resources (power and metal), meaning they don’t drain out after some time of harvesting. Power may be obtained from structures built anywhere. Metal, at least early on, can only effectively be acquired from the battlefield, by building automatic harvesting structures on top of “metal patches”. Many of the added units and some interface enhancements in BA were inspired from Supreme Commander, another game from Chris Taylor and a Total Annihilation derivative on its own.
In its attempt to bring the elusive “balance” word to Total Annihilation gameplay, BA did some pretty drastic changes, like preventing anti-air defenses (Defense Tower or DT) from shooting on ground units. Back during TA early days, I clearly remember one of its main problems being the “Defense Tower forest”, basically a bunch of DTs clumped relatively close together. Damage from the DT missiles weren’t great, but once you got 20+ of them their accumulated damage stacking created one of the first death fields I’ve seen in my Balance Designer career. Since the DT outranged most ground units, even very heavy tanks had trouble getting close enough to deal any damage before being blown to bits.
Back then I hadn’t much of a clue about balance, but I could already notice that as a problem. And why did it happen to start with? The thing is that DTs were the main early game counter to air units, which could hit-and-run really fast and be produced en masse. Massing is to be expected in an infinite-resources game with no real intention to provide a unit cap (there was one, but only for technical constraints). So those towers had to shoot from a distance or else they wouldn’t be able to stop air from being too dominant. Intended to help vs early game tank assaults (usually called “rushes”) they could also hit ground units, at a similarly large range.
I seriously doubt in the pre-release tests within Cavedog anyone thought about creating a DT forest to halt an army without taking any damage. It’s not just hard to anticipate what dedicated players will make out of your game once it’s released and played by thousands of different players — it’s downright impossible.
Soooo, if you were patient enough to read up to here, what does this have to do with Command and Conquer (C&C for those in the know)?
C&C, like many other RTS games, uses a countering system called RPS, acronym for Rock-Paper-Scissors. In RPS, you’ll get a rifle soldier taking little damage from a rocket while dealing massive damage to rocket soldiers. Completely unrealistic (hah, as if “realism” fits for a genre where units continuously spawn from nowhere), but it works amazing for balance purposes. Applying it, you can have a rock (eg. rifle soldier) which counters a scissors (eg. rocket soldier) which counters a paper (eg. tank), which on its turn counters the rock. Properly implemented — there are many nuances which to address would require an article on its own — the RPS system assures no amount of units of a certain type can not be countered by a much smaller (and cheaper) amount of units of a certain other type.
On the other hand, Total Annihilation was the first game that I’m aware of to use a physics-based countering system. In practice all units deal the same “damage type” independent of their class — tank, robot, artillery, etc. Projectiles ballistics were simulated using simplified newtonian physics, so artillery projectiles would actually collide with mountains and never hit their target, just as slower plasma shells could be dodged by faster units, instead of magically chasing and always hitting the original target as in pretty much all other RTSes during that time — including Starcraft, released only six months after TA.
That new countering system was a highly innovative way to try and make countering more intuitive and clear for the player, while creating plenty of opportunities for positional micromanagement of the units, raising the skill ceiling of the game without added complexity. Nevertheless, even TA applies some of the RPS system between combat layers, so that, for instance, anti-air weaponry gets a damage bonus against plane-type armor.
TA’s RPS implementation was quite simplistic and only applied to some restricted cases. BA follows the same principle. Last time I checked it had more than 70% of its units assigned to armor “else” (anything, really). Trying to achieve balance with tens of units fighting at once with no serious usage of the RPS system is already daunting enough, in a massive-scale-battles game like TA is borderline insane. Even after years of balancing efforts by a number of leads, Balanced Annihilation continuously buffs and nerfs units and entire combat layers, usually only working well on a couple maps like Delta Siege Dry and Comet Catcher Redux.
I love mods. They actually started my career, when my “Boss Generals” mod got such a positive feedback from the top player community that it became the game mode of choice in ClanWars, replacing the official C&C Generals Zero Hour mode. Being a huge fan of Total Annihilation and having worked as a balance designer contractor on a couple EA LA games, including C&C3, I felt the urge to re-spark my modding flame and release my first new mod in years. I call it “TA Prime”, and one of its main focus is properly implementing an RPS system in a TA-based game running in the Spring Engine. Development is going well, I already got the countering system working in-game and a number of high level balancing tools helping me carry the heavy weight of balancing more than 300 units and a total number of parameters in the range of tens of thousands. More about its development in the coming weeks/months.
PS.: As a last note about TA balance issues, there was also the MMM+fusion combo which completely ruined the need to keep map control at late game. Unsurprisingly, that problem is still in BA, aggravated by something called “Advanced Fusion” or AFUS as it has been fondly nicknamed. But that’s for another post.