Linear algebra, perhaps a little calculus and a lot of testing.
There is no real secret, but people often just donβt think about it in the strict terms necessary to get a balanced enough system.
Basically, developers know how quickly you can collect resources (both the best case and the average case), and they know how long it takes to assemble a unit, and they know how powerful the unit is (for example, by using the approximation link such as damage per second ). Thanks to this, you can ensure the cost of resources in resources. And from this we can compare the collection of resources with unit cost to simulate the strength of a force that grows over time. Similarly, you can measure the strength of a force for damage over time and compare them. If there is a big difference, then they can set up one or more variables to reduce it. Obviously, there are many permutations of units, but the interesting thing is that you really need to understand the most powerful permutations - if a player chooses a bad combination, then it is normal if they lose. You do not want each approach to be equally good, as this would mean a boring game in which your decisions are meaningless.
This, of course, is a simplification, but it helps to get everything in the right place and to ensure that there are no units that are useless. Testing can then clog rough edges and find most exploits that remain.
source share