13 replies to this topic

Posted 24 February 2012 - 06:06 PM

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.

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.

Posted 25 February 2012 - 02:21 AM

One of the approaches you could take is described here

http://www.gamasutra.com/view/feature/2843/applying_risk_analysis_to_.php

http://www.gamasutra.com/view/feature/2843/applying_risk_analysis_to_.php

Posted 25 February 2012 - 03:46 AM

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.

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.

__-_Lore_Hunter__-_

/_()R-

/_()R-

Posted 28 February 2012 - 05:29 AM

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

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

Working on an Emperor focused, no micromanagement, asymmetric, 4X, space empire builder:

Pocket Space Empire (PC game): GDN forum topic - Twitter - Facebook - YouTube

Posted 28 February 2012 - 09:28 AM

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.

Posted 28 February 2012 - 03:32 PM

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.Honestly, if you can balance your game using math then it usually means your game sux.

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.like 10 fast and cheap zerglings vs 1 siege tank that needs to setup - no math formula will tell you which is better

Posted 28 February 2012 - 03:56 PM

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.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.

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.

Tristam MacDonald - Software Engineer @ Amazon - [swiftcoding] [GitHub]

Posted 28 February 2012 - 10:12 PM

It is simpler and that's exactly the reason why everyone does it, however the number of permutations is finite and in fact can be calculated using combinatorics.

Posted 28 February 2012 - 11:43 PM

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.

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.

Tristam MacDonald - Software Engineer @ Amazon - [swiftcoding] [GitHub]

Posted 29 February 2012 - 12:30 AM

...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 aGiven 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...

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.

Posted 29 February 2012 - 10:55 AM

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.

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

Posted 29 February 2012 - 11:39 AM

Well, the state space of StarCraft is clearly much larger than for Chess: Chess has exactly 64 squares, exactly 32 pieces, and an upper bound of 5898 plies in a game.Although I'm not too sure about starcraft being harder than chess.

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.

Tristam MacDonald - Software Engineer @ Amazon - [swiftcoding] [GitHub]

Posted 01 March 2012 - 05:07 AM

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.

Posted 01 March 2012 - 08:54 AM

Unfortunately, as the program simulating all possible strategies for balance, you can't tell in advance *which* moves are counterproductive.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.

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.

Tristam MacDonald - Software Engineer @ Amazon - [swiftcoding] [GitHub]