Sign in to follow this  
rexem

Some questions about balancing games

Recommended Posts

Hello,

Even though I'm working on a project that has nothing to do with games, I figured this is still a good place to ask an advice about one game design issue I'm having.

I'm just wodering what approach you guys (especially experienced "big" games programmers) use when balancing a game with hundreds of variables. For example, games like Civilization, Heroes, Starcraft, etc, etc, have different units with different stats, and the question is, how are all these variables calculated to make them "balanced". Do you guys "handwrite" all the math formulas and such how those variables interact with each other and mathematically solve the values? Or is it an intensive testing for different options? Are there any software to help you with that?

I'm making a software that has tons of variables that interact with each other and figured I would ask about your experiences before I simple add semi-random values to them and start playing around trying to find the best match.

Thanks.

Share this post


Link to post
Share on other sites
One of the approaches you could take is described here
[url="http://www.gamasutra.com/view/feature/2843/applying_risk_analysis_to_.php"]http://www.gamasutra.com/view/feature/2843/applying_risk_analysis_to_.php[/url]

Share this post


Link to post
Share on other sites
[quote name='qis' timestamp='1330128377' post='4916387']
Hello,

Even though I'm working on a project that has nothing to do with games, I figured this is still a good place to ask an advice about one game design issue I'm having.

I'm just wodering what approach you guys (especially experienced "big" games programmers) use when balancing a game with hundreds of variables. For example, games like Civilization, Heroes, Starcraft, etc, etc, have different units with different stats, and the question is, how are all these variables calculated to make them "balanced". Do you guys "handwrite" all the math formulas and such how those variables interact with each other and mathematically solve the values? Or is it an intensive testing for different options? Are there any software to help you with that?

I'm making a software that has tons of variables that interact with each other and figured I would ask about your experiences before I simple add semi-random values to them and start playing around trying to find the best match.

Thanks.
[/quote]

its almost impossible to perfectly balance the game. for example in RTS yu need to give every race units with great attack, units with great HP etc. yu need to make ever race "wanted" to be played. In SC for example, zergs are the ones that use their numbers. prottoses, however, use their powerful shields.

Share this post


Link to post
Share on other sites
There is this myth that everything should be perfectly balanced. What for?

Civilization does not have balanced units, actually it should not have. If you reach a certain tech level you get access to uber powerful units that let you toast your opponent. It's completely unbalanced and very fun :)

Even Stacraft has no balanced units (althrough this is the kind of game that focuses on balance greatly), it has races balanced instead. Let's say that for example ghost in a poor unti. The nuke usually fails and everyone has detectrors and it is expensive. This unit is not balanced, you would never want to make a bulk of your army of it. But... if you place it staretegically, in a specific place and time or with a specific combination of units and use skillfully it might do incredible things no other unit can do. It is the knowledge how to use underdog units to spectacular results that make these games fun. If these units were all balanced... where the fun would be?

Heroes of M&M. I would be very surprised if they cared about balance upon design. They just tossed together cool sounding units and made sure dragon is much more powerful than goblin. Maybe they add the balance later, but still not as a top priority.



How to balance games.
Honestly, if you can balance your game using math then it usually means your game sux. The point of an interesting strategy is to make things hard to compare via math (like 10 fast and cheap zerglings vs 1 siege tank that needs to setup - no math formula will tell you which is better and comparing stats is of low use here because of other factors like terrain, presence of other units that are critical). It has some use for simple cases (like RPG weapons balance), but usually it is not that useful.
As for multiplayer games I have an extremely simple method of balancing. I compare how many players played which race and how many times they won. Then I boost the races that did poorly :) If you have 3 races it means you have to compare just 3 numbers, you don't need any spreadsheet for this :)

Share this post


Link to post
Share on other sites
Balancing games is not about balancing numbers, but balancing choices. You need to identify the level at which the player makes choices during gameplay. For Starcraft, it's at the macro level. Units are balanced to allow macro strategic choices like rush, tech or expand. A game becomes unbalanced when there's a choice that overpowers all other choices. For example, tic-tac-toe. If the first player picks a corner, he will win or draw. That's an unbalanced game.

Share this post


Link to post
Share on other sites
[quote]Honestly, if you can balance your game using math then it usually means your game sux.[/quote]
On the contrary, it means you actually understand what kind of gameplay you're offering. If you can't prove that your game is balanced, then your game is most likely not balanced.

[quote]like 10 fast and cheap zerglings vs 1 siege tank that needs to setup - no math formula will tell you which is better[/quote]
The formula that takes into account all the possible choices that can be made by a player will. And there's a finite number of those choices in any game. If there are more choices you can make that will lead you to win with a siege tank against 10 zerglings rather than the other way around, then the probability of your win is higher when you pit a siege tank against 10 zerglings. Simple as that. The only problem is how much computing you need to do to actually compute all the possible choices and find out the probability of a win when playing a certain race on a certain map.

Share this post


Link to post
Share on other sites
[quote name='eugene2k' timestamp='1330464724' post='4917511']
The only problem is how much computing you need to do to actually compute all the possible choices and find out the probability of a win when playing a certain race on a certain map.[/quote]
And that is infinite, in the general case. I somewhat doubt its feasible even to compute every possible permutation of the simpler '10 zerglings vs siege tank' - you have a massive number of terrain/elevation/building-placement/formation permutations to account for.

rather than compute all those (mostly useless) permutations, the much simpler choice is to let your players actually play the game (i.e. tournaments), and tweak the balance when you notice a bias in results - in other words, the way Blizzard does it.

Share this post


Link to post
Share on other sites
Given a siege tank has range 7 (8 on high ground), plus we need room to manoeuvre the zerglings, we are going to need to simulate a 32x32 grid, each cell of which can occur in one of 3 elevations and one of 16 obstruction directions. Add to that the initial position of the tank and the 10 zerglings, and then simulate all of their possible actions...

I'm pretty sure this (tiny) subproblem is on a complexity level close to that of Chess - a full game of StarCraft is far beyond any current ability to brute force.

Share this post


Link to post
Share on other sites
[quote name='swiftcoder' timestamp='1330494225' post='4917633']Given a siege tank has range 7 (8 on high ground), plus we need room to manoeuvre the zerglings, we are going to need to simulate a 32x32 grid, each cell of which can occur in one of 3 elevations and one of 16 obstruction directions. Add to that the initial position of the tank and the 10 zerglings, and then simulate all of their possible actions...[/quote]...Plus the initial density of the zerglings, the number of groups they're split into, frequency and placement differences between group moves, the upgrades both unit types have, which units are targeted by the tank, whether adding a [i]single [/i]supplementary unit has a noticeable effect, what the effects of different unit combinations are on the effectiveness of each individual unit type, for each possible visibility/spotting situation, each choke-point possibility and building-layout choice, with and without different levels of unit micromanagement to minimise splash damage, whether a dropship is present, accounting for the expected amount of 'micro time' the player should have available based on their macro-duties at different points in a match... and then the actions that led up to this situation - what's the effectiveness of the billion other situations that both players could've been in at this point in the match instead of a 10-zergling-vs-1-tank battle?
The number of combinations are practically infinite.

Now I know where you're coming from, because I've worked at a place where game designers were hired primarily for their mathematical/statistical skills, where games were perfectly balanced to the desired 'difficulty' down to a brilliantly tiny error margin. However, that doesn't work for all types of games.

With a game like Starcraft, you can make some rough guesses by analysing the numbers, but a true measurement must include statistically analysing it in the field.

Share this post


Link to post
Share on other sites
I'm only saying that you _can_ balance games with mathematics, and ideally that's exactly how it should be done. I'm well aware of the computational complexity of trying to balance out something like starcraft especially using nothing but brute force (as a designer you probably know where the differences between races you created should lie, so you'll be simulating a smaller subset of the situations).

Although I'm not too sure about starcraft being harder than chess.

Share this post


Link to post
Share on other sites
[quote name='eugene2k' timestamp='1330534523' post='4917820']
Although I'm not too sure about starcraft being harder than chess.[/quote]
Well, the state space of StarCraft is clearly much larger than for Chess: Chess has exactly 64 squares, exactly 32 pieces, and an [url="http://blog.chess.com/kurtgodden/the-longest-possible-chess-game"]upper bound of 5898 plies in a game[/url].

And I'm fairly certain the branching factor is also much higher: Chess has an upper bound of 28 possible moves per piece, for a upper bound of 896 possible moves per ply.

Share this post


Link to post
Share on other sites
But the number of moves that obviously make no sense is also much higher in starcraft. The hardness of a game cannot be simply determined by combinatorial complexity, so comparing the two just by how many possible plays there are is not enough. Because what matters is not how many possible moves your opponent can make given a certain state of the game, but rather how many winning moves she can make. With starcraft, you're not as limited in movement and attacks as you are in chess, but most of the moves you can make would be obviously counterproductive.

Share this post


Link to post
Share on other sites
[quote name='eugene2k' timestamp='1330600077' post='4918130']
Because what matters is not how many possible moves your opponent can make given a certain state of the game, but rather how many winning moves she can make. With starcraft, you're not as limited in movement and attacks as you are in chess, but most of the moves you can make would be obviously counterproductive.[/quote]
Unfortunately, as the program simulating all possible strategies for balance, you can't tell in advance *which* moves are counterproductive.

Take the Planetary Fortress rush as an example. It requires stopping mining minerals after a couple of minutes (entirely counter-intuitive by normal StarCraft standards), and then flying a defenceless command centre into you opponent's base (also counter-intuitive).

This is less of a problem in chess, because a significant piece advantage usually indicates the outcome of the game - thus allowing you to prune the search tree whenever such a advantage is encountered. StarCraft doesn't really adhere to this principle, in part because it requires very little force to execute an unexpected coup de grace (i.e. snipe the command centre, the mineral line, or a vital part of the tech tree), drastically altering the outcome of the game.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this