Jump to content
  • Advertisement
Sign in to follow this  
rexem

Some questions about balancing games

This topic is 2482 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

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
Advertisement

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.

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

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

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.

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

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
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...
...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 single 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
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!