Cold Takes/13 - Pro-Simplicity, Anti-Nuke

From Zero-K
Revision as of 18:47, 15 September 2024 by RandomX (talk | contribs) (Init. transfer)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Cold Take #13 - Pro-Simplicity, Anti-Nuke


Zero-K has nukes. This should come as no surprise, since otherwise the genre police would revoke our sci-fi license. Even a few fantasy games have nukes, but wherever they are found, they all work basically the same way:

Total Annihilation, a game not known for keeping things simple, spiced things up with anti-nuke missiles that shoot down incoming nukes. This means a well-prepared enemy might not lose their base. The same system can be found in every single descendant of TA, with many of them building on it and making it more complex. As you might expect by now, Zero-K went the other way, paring anti-nukes down to their simplest form. We still have recognisably TA-style nukes and anti-nukes, but they are no more complicated than is required to produce great stategic nuke gameplay.

Strategically, anti-nukes have one purpose: to be a weak point that the enemy can hit for massive damage. At least, this is what we decided back in Complete Annihilation, when we were looking for ways to encourage surgical strikes into the enemy base. Anti-nukes are the ultimate weak point, indeed, bases tend to blow up shortly after their anti-nuke is destroyed. The closest contender is the violently explosive Singularity Reactor, but it can often be built to the side to minimise friendly fire, and there is relatively little profit in destroying one once reclaim is taken into account. Anti-nukes are also particularly vulnerable to Widows and tactical EMP missiles, since a temporarily stunned anti-nuke can be just as bad as a dead one. Without nukes and anti-nukes, armies would have to slog through bases to destroy them, which would drag out won games, and give underdogs little opportunity to make a comeback.

File:5aa90f6a8cc07321aa1bceeffe52d4646803bdef.png

Strategy aside, anti-nukes are also great for the Rule of Cool. Ironically, giving nukes a hardcounter lets them be much more powerful, and more common. This is great, since players seem to love nukes, but not so much when they bring games to an abrupt end. Zero-K might even have the largest nuke, since it has only grown since TA, but it is hard to compare across games with different scales. Our nukes are certainly large enough to destroy a whole base or front, and drastically alter the course of a battle.

An unblockable and highly devastating nuke would essentially be a Wonder from Age of Empires; something that puts the game on a strict time limit, then declares a winner. This is fine, and the fireworks display is a nice addition, but it becomes unsatisfying if too many games end like this. Wonders and other unblockable superweapons are insufficiently interactive, so it feels unfair to lose to one, whereas nukes with a clear counter give the defender more agency. Many games with unblockable nukes, such as Starcraft and C&C, avoid the issue by making their nukes relatively unimpressive.

Zero-K even provides a direct comparison of blockable and unblockable nukes, since its three "true" superweapons cannot be blocked. The cheapest of them costs 4× more than a nuclear silo, so they are reasonably rare, and can only ever appear late in the game. Still, the true superweapons are more controversial in the community and have been harder to balance, even though nukes appear much more frequently. The fairness inherent in being able to block nukes seems to be important.

File:35d8787c5a1059db637842fd1242223de48b4294.png

As previously mentioned, Zero-K anti-nukes are just about as simple as possible. This is no great feat, since anti-nukes are fundamentally just a missile that shoots at another missile. The complexity of anti-nukes in other games tends to come from:

  • Multiple types of nukes and anti-nuke, possibly varying slightly between factions.
  • Mobile anti-nukes, commonly found on capital ships or as vulnerable utility vehicles.
  • Stockpileable anti-nuke missiles that must be produced before the anti-nuke can fire.

Zero-K has none of these paraphernalia. We used to have all of it, but it was steadily removed for acting counter to the design goals, or just for adding complexity for little benefit. Mobile anti-nukes are near-impossible to disable, when properly defended, so had to be removed. Stockpiling anti-nuke missiles prevents boosting, which is a valid purpose (see Artemis), but it has severe downsides. There is nothing worse than thinking you have an anti-nuke, only to discover that you forgot to stock enough missiles. Getting nuked is already not the best experience, so the least we can do is make it feel as fair as possible.

Zero-K has a single anti-nuke, and it takes the form of a dedicated structure. It is extremely atomic, and relatively expensive, tipping the balance in favour of offense over defense. A nuclear silo costs 8000, each missile costs 3240, and an anti-nuke costs 3000. Two anti-nukes only provide bare minimum coverage on large maps, so reliable coverage can cost more than the nuke it is meant to block. This is intentional, since offense should grow in power as the game progresses, and nukes need to be common to give bases weak points. At least anti-nukes block missiles flying through their coverage, because otherwise using circles to cover the backs of a rectangular map would cost far too much.

File:A0098717a162b98379fc5c0d7689550044c1d347.png

The simplicity of anti-nukes extends to their physics, which is on the gamey end of the spectrum. Anti-nuke missiles pierce absolutely everything; allies, enemies, terrain, because the stakes are so high. A system has to be reasonably predictable to feel fair, and the importance of fairness increases with the cost of failure. So if terrain blocked anti-nukes, then the game would have to make it absolutely clear when this can happen. But such a UI sounds hard and pointless, so instead we gave anti-nukes a flight path that will very rarely clip into terrain, and called it a day. But a more unusual aspect of anti-nukes is to do with what they can fire at.

Anti-nukes cover a simple circular area, with the guarantee being that no nuke will land in or pass through this area (provided fewer than three nukes are launched simultaneously). But the "attack range" of an anti-nuke, i.e. how close a nuke needs to be for the anti-nuke to fire, extends beyond this circle, so that it can shoot at nukes before they land. This is weird when you think about it in terms of unit physics, since surely an anti-nuke could technically offer protection to targets on its flanks. Indeed, a more physicy anti-nuke could fire at all reachable nukes, but this would give it a weird effective coverage area that depend on the direction and pitch of incoming missiles, and even on the shape of nearby terrain. Communicating such coverage would be a UI nightmare, and inevitably be misunderstood, making interception feel like a roll of the dice.

File:67f712b6aca4c0427a24b92a14a917db782fa245.png

If you want to get really pedantic, then, technically, blocking nukes in Zero-K is far from simple. This is because every unit can do it, and I have even seen the following used to intercept nukes:

  • Dirtbag
  • Jack
  • Raven
  • Athena
  • Funnelweb
  • Odin (just after this article went live)

Nukes collide with bodies, so anything with a body can block them. However, they do not collide with allies, since blowing up your own base due to an errant bomber is infuriating, while blowing up the enemy base with a jumping Dirtbag is hilarious. Most units intercept nukes by jumping or flying over the silo right as it launches a missile. Funnelweb is a notable exception, since its shield has enough charge to block a nuke. At least, if by "block" you mean "blow up at a slightly different location". Shields only halt projectiles, they still explode, so area of effect damage is unaffected. This means that a Funnelweb can only ever block one nuke. Still, it is a desperate technique that can mitigate some damage, especially if the Funnelweb is high up or flung into the air.

File:D02980a6d77add6d503d40c527072cea4dc8c09c.png

But enough about anti-nukes, what about the nuke itself? There is much less to say here since they follow the basic nuke formula, and refinements were mostly implemented via the anti-nuke. Check out the Core nuke in BAR, it has the same damage and area of effect, so the common ancestor dates back to at least 2007. There have been a few changes though.

The nuclear silo opening animation was changed in the mid 2010s to nerf Athena nuke interception. Previously, nuclear silos would open only when told to fire, which let a watchful enemy fly a cloaked Athena over the top to intercept it. This decloaked the Athena, so timing was important. Players countered this by manually priming their silos with the Wait command. So silos were changed to open as soon as they have a missile stockpiled, making them ready to fire immediately, which is just a case of removing a way for unit AI to be stupid.

The flashing "Nuke Launched" indicator is another somewhat recent addition. This was more of an accessibility thing than anything else, because we had always balanced nukes around a globally audible launch sound. But not all sounds are heard, and it became a source of unfairness. The alternative was to remove the global aspect of the sound, but this would have removed my favourite part of nukes; the mind games. Nukes take a while to land, so armies can just about dodge them if they guess the impact site correctly. This creates a whole guessing game of large scale army movements, which can even be exploited or corralled by the team that launched the nuke.

But why would people even launch nukes at armies? Because anti-nuke coverage is easier to pierce around the edges of enemy territory, so sometimes an army is the only available target. All the mechanics support each other.

File:D7c99c4709970dbf9ef11c38d4b71dedcfd5c9c1.png

By far the funniest, and possibly oldest, nuke change happened back in CA. Have you ever wondered why nukes look like a rocket, but launch at full speed with no acceleration? This is thanks to a developer called det, the namesake of the Detriment, who launched a nuke at his neighbour in a free-for-all on Azure Rampart. His neighbour had an anti-nuke which was, unfortunately, within attack range of det's nuke. This caused the anti-nuke to fire immediately, so it promptly flew over and blew up the nuke right on top of det's base. Nuke gained more launch speed as a result, although these days the "new" anti-nuke opening animation might have made the increased speed redundant.

More units and mechanics were changed as a result of things that happened to det on Azure Rampart, but they will have to wait for future articles.