The second big part of this story is mechs balance. And to some degree, it's a more complicated topic. Mech is a complex entity. Guns had only one thing - damage. But mechs have few orthogonal parameters - HP, speed, firepower, and ability. Abilities can be drastically different in their effects. But in fact, all of this is perfectly solvable by math and common balance understanding.
So, our mechs have 4 components - HP, firepower, speed, and ability. In fact, we can reduce that to 3. Any ability can be converted to a basic stat. Like 60% haste with a duration of 5 seconds and cooldown of 15 seconds can be converted to speed as
haste%*duration/(duration+cooldown))So 60% haste as above equals 15% of permanent move speed boost. This works by the assumption that the player uses this optimally, but generally, it's always true.
One way or another all possible ability effects can be converted to HP, damage, or speed. Being untargetable mathematically equal to having some additional HP. The ability to fly means that your linear speed is higher as you can cut corners and reach parts of the map faster and so on.
I won't describe this topic fully as it's a common thing about transitive mechanics. There's a solid article about this in the
Ian Schreiber lectures.
So, now we have HP, firepower, and speed. All adjusted by mech ability. And we need to establish some relations between those. Fist is to select a common metric for all mechs. And that metric is win rate. Generally, we want all mechs to have 50% win rate, with some leeway. So mechs that already have 50% win rate I considered balanced. Those became anchor mechs to compare balance state between mechs.
Fortunately, at the time we had like 30-40 different mechs in the game. And some of them were quite similar to each other in their parameters. Like there are two mechs and the difference between them is that one has 20k HP more while another has 5 kmph speed more. But conveniently they had similar winrate. This way I was able to establish that 5 kmph speed was equal to 20k HP. Comparing different mech to each other this way I was able to establish all relations between mech parameters. This comparison analysis technique is described in the same Schreiber lecture I linked above.
In addition the same way I found the "cost" of those parameters. There were pairs of mechs where one of them was just strictly better than the other. Like all stats are identical except one has 20k HP more. So resulting relationships were
1 light weapon slot = 20k HP = 5kmph = 1% winrate.
For each parameter there were average anchor values. Like average mech is 100k HP, 40 kmph and 4 points of firepower. Build like this resulted in 100% win rate. Increasing HP by 20k or giving it an ability equivalent of 20k HP resulted in increasing win rate to 51%. In this model mech works as the sum of the 3 parameters.
And yet again having a solid math that was proven by retrospective live data allowed to create Excel balance calc for mechs. Any GD could enter HP, speed, firepower, ability type, ability value, and its duration\CD and the calc would return the result, showing if the mech is in balance and how close it is to the intended power budget. Like 90% power or 132$ of power.