Full notes
Full Zero-K update
Read the full published notes in a cleaner layout. The original post stays linked below.
What changed
- Gameplay
- Maps
- UI and audio
- Balance
Zero-K changes
This is a guest post by Aquanim, who led the 2016 sea rework.
Over two thirds of our own planet is covered by oceans. Therefore, strategy games which are played on planetary landscapes have some reason to consider how to handle bodies of water. The simplest approach is to treat water bodies as an impassable barrier to land units and leave it at that. In games where units can interact with water, often this is reserved for a special class of ship-type units, but beyond this distinction “water” is just another terrain type.
The physics-driven mechanics of Zero-K require us to give some deeper thought to how units ought to behave on and around water. This goes all the way down to fundamentals like “where is the water”, “where can units go”, “when can units see each other”, and “how do units fight each other”. We can dispose of the first point quickly: the sea level is defined by the engine to be altitude zero, so unfortunately we can’t have fancy waterfalls or scenic mountain lakes.
On land, all units (which are not flying, jumping or thrown) are standing on the ground. That ground might be flat, precipitous or anything in between. In water, on the other hand, there are four places a unit might plausibly be:
Hovering above the water surface
On the water surface
Floating beneath the surface
On the seafloor
This is already getting rather complicated, so Zero-K immediately cuts down on this list by drawing no distinction between the first two states. The main consequence of this choice is that Hovercraft are vulnerable to torpedoes and similar weapons. Hovercrafts, surface ships, and surfaced amphbots behave similarly to units on land - with the significant difference that all water bodies are flat. This limits the potential range of unit interactions and map design, and gives an edge to direct-fire units like Lance since there is no terrain to hide behind.
In principle, a submarine-type unit which floats underwater could move in three dimensions, ascending to the surface or descending to its depth limit. Again, that sounds rather complicated, and we do not want the player to be fighting a two-dimensional interface to unambiguously order three-dimensional movement. Therefore, we assume that submarines travel at a fixed depth beneath the surface, unless forced to surface in shallow water. At the time of writing this is the rarest mode of movement in Zero-K, shared only by the Seawolf and Scylla.
A wider range of units (broadly termed amphibious) can walk on the seabed: Commanders, all of the Amphbots, a few utility units, and a couple of Striders. Depending on the size of the unit and the water depth, an amphibious unit may be partially above water. In fact, some amph units are capable of floating to the surface on their own. This enables their surface-only weapons to be used, but prevents further (voluntary) horizontal movement until they return to the sea floor. We tolerate this complication since a large variety of underwater-combat-only units would pose greater design problems, which we'll discuss a little later. In general these units want to float if and only if they are attacking, so the interface-battling is not too bad.
All amphibious units are bots, not vehicles or spiders, so they can climb moderate slopes but not cliffs. Managing where units are allowed to travel underwater sounds rather annoying, so again we simplify the situation by avoiding the vehicle movement type and playing on maps without underwater cliffs. This is still the most troublesome of our three water-based movement types since water depth can have a significant effect on combat - in particular, it determines the time which an amphibious unit requires to float to the surface and start shooting back.
Verisimilitude demands that units under the water are more difficult to see than those on the surface. However, just like the ordinary fog-of-war mechanics deviate from `realistic’ line-of-sight for the purposes of gameplay, we simplify seeing underwater to a single mechanic, sonar. An enemy underwater unit is visible to us if and only if it is within the sonar radius of a friendly unit. To make things even simpler, in modern Zero-K all ‘sea units’ have sonar radius equal to their vision radius, while most other units do not (notably the Owl scout plane has limited sonar capability).
Underwater units are still stealthier than surface units, since they don’t show up on long-range radar and cannot be detected by non-combat buildings like metal extractors. They are not as hidden as cloaked units, which seems reasonable since cloaked units are less common and normally pay a cost in terms of energy or immobility. As previously mentioned, units underwater cannot be cloaked, since the decloak radius mechanic would not play nicely with variable water depths.
Besides the gameplay mechanics associated with vision, sea maps also pose a visual clarity problem to the player. Between the tint of the sea, surface ripples and reflections, units operating at several different depths, and typically less informative terrain textures, it is often more difficult to tell exactly what is going on underwater. This is part of the reason why underwater combat in Zero-K has few weapon types, and those that exist do not strongly reward quick reactions and micromanagement.
A second constraint on the weapons which are usable by and against underwater units is that the game mechanics must remain reasonable for a fairly wide range of water depths. Imagine, for example, a surface unit with an unguided torpedo with similar mechanics to the Ronin’s missile, firing at a group of Ducks on the sea floor. In shallow water the path of the torpedo traces a straight line lengthways through the Ducks, and is likely to hit one. In deep water the torpedo will instead have only a brief window where it is at an appropriate depth to hit the Ducks before it impacts the ground. This all sounds rather messy, so we have given all underwater-capable weapons tracking or other projectile properties which avoid this discrepancy.
From the perspective of balance rather than design, there is yet another constraint on underwater-capable weapons: if the longest-range conventional underwater-targeting weapon is itself attached to an underwater unit, then there is a lot of danger that these units will become dominant in the sea meta, since if they can be protected against swarms there is little else which can outscale them. Addressing this by expanding the surface-vs-underwater game with a wide range of units and capabilities is a superficially interesting idea, but has two big drawbacks. First, as we have already discussed, the potential variety in sensible underwater-capable weapons is rather limited. Second, while surface units can directly interact with land units and vice versa in interesting ways, it seems much more difficult to have land units and underwater units interact well.
Therefore, in Zero-K we have gone in the direction of reducing underwater interactions to the minimum feasible set - of the units below strider class, only the light submarine and a few Amphbots can fight underwater, and all of their weapons have short ranges. The old Serpent long-range sniper submarine is one of the very few units to have been outright removed from Zero-K in the last decade (we’ll get to the second one later), and Scallop’s skirmisher-range torpedoes were reduced to riot range (though this was by no means the end of Scallop’s career as a game-warping balance headache…)
Since very few land-based assets can interact with submerged units, it would be quite unfair for underwater units to engage land units freely without fear of retaliation. Therefore, the only unit with a weapon designed for underwater-to-land combat is the Scylla tactical missile submarine, which pays a metal cost for each missile and hence does not engage ‘freely’.
We conclude with a lightning round covering other interesting aspects of Zero-K’s sea design.
Economy: The core principles of Zero-K’s economy remain the same on water maps, but there are some differences which alter the typical play patterns (adding some desirable variety). Arguably the most important is an indirect consequence of where units can move. The wrecks of destroyed units fall to the seafloor, where they are much less prone to being trampled or reduced by stray weapon fire. Therefore, metal reclaim is often a major factor in prolonged sea battles. Since wind generators perform poorly at sea level they are replaced with tidal generators, which combine the efficiency of wind generators with the reliability and robustness of solar collectors. Singularity Reactors cannot be built underwater, though one can terraform a land platform on which to place them. This is motivated by similar reasons as the decision to prevent cloaking of structures in general, and gives Fusion Reactors a point of difference.
Factory balance: Across the land-based factories there is a (tenuous) principle that each factory should be similarly powerful and competitive with each other in a 1v1 on a suitable map. We don’t hold to the same rule in sea battles for two reasons. First, it would be boring to do the same thing twice. Second, since they are unable to travel on land, Ships have less freedom of movement than the hybrid Hover and Amph factories, which makes a difference even on maps which only have small islands. Therefore, our (tenuous) goal is for the Ship units to be a bit overtuned, but the Hover, Amphbot and air factories should still provide useful tools.
Landships: Okay, I lied. Ships can go on land… sort of. Lobsters, air transports, or terraforming can put a ship on land, and while the ship can’t move around without assistance it can still fight. The Envoy and Shogun artillery ships make the best use of this, since their long range mitigates mobility problems and their ballistic weapons benefit from higher elevation.
Transports: Unlike almost every other game with a dedicated class of “ship” units, Zero-K does not have a conventional transport for land units across bodies of water. The Surfboard used to fill this role, but it did not have much purpose when compared with the Djinn teleporter and Charon air transport, and was eventually consigned to the ship graveyard alongside the Serpent.
Spicy water: Some maps replace water with acid, lava, or void. On these maps Zero-K behaves much more like the “water is an impassable barrier” games we mentioned at the start, although some acid is weak enough that units can survive in it for a while. These maps are not affected by most of the issues described in this post, but they do offer some novel tactical opportunities of their own…
Come back in a few weeks for Cold Take #35, in which we will stop building a navy.
Source
Changelog.gg summarizes and formats this update. How we read updates.
