RTS simulation or how did Blizzard build Starcraft 1 & 2?

Not sure if this question is related to software development, but I hope someone can at least point me in the right direction (no, not in that direction ..) I am very curious how Blizzard achieves such a balance of strategic / tactical forces in their games? If you look at Starcraft 1 or now 2, each race has unique features similar to other unique features of other races, and all together create a pretty beautiful (at least my mind) balance.

Is there any area of ​​mathematics that could help model these things? How do they do this mostly?

+4
source share
4 answers

I do not have a complete answer, but here is what I know. Initially, when the game is technically ready, the balance is not perfect. When they started the public beta, there were holes in the balance that they fixed very quickly. They allow players (testers) to play as is and to record the statistics of% winnings for races and adjust the parameters in accordance with it. When beta was at the end, the ratio was almost perfect: 33% / 33% / 33%.

+7
source

I have no idea exactly how Blizzard did this - it may have been just because of a lot of user testing.

However, the entire CS field and statistics devoted to these types of problems are simulation . Typically, the idea is to build a model of your system and then generate input according to some statistical distribution in order to try to understand the behavior of this model. If you find a game balance, you would like to show that most sequences of game events have led to some balance. This is probably due to some kind of stochastic modeling.

+3
source

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.

+1
source

If you tried SCII, you noticed that Blizzard is recording the appropriate data for each game played on B.Net. They did the same in WC3, and supposedly in SC1. With a sufficient number of games, you can get accurate statistical analysis results. For example, Protoss must win a third of all matches with similarly skilled opponents. If this is not the case, Blizzard can analyze the games in which Protoss won against the games where they lost, and see which units made the difference. They can then reinforce these blocks (with a few internal tests) and make changes to the next patch. Balancing is a difficult problem - a change that fixes problems in top-level games can break the balance in mid-level games.

Proper testing in a closed beta is not possible - you simply cannot accumulate enough data. That's why Blizzard is opening beta. However, the real test is the release of the game.

+1
source

All Articles