Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

This question is not focussed on video games but games in general. I went to a boardgame trade fair yesterday and asked myself if there is a way to calculate the fairness of a game. Sure, some of them require a good portion of luck, but it might be possible to calculate if some character is overpowered. Especially in role-playing games and trading card games. How, for example, can the creators of "Magic: The Gathering" make sure that there isn't the "one card that beats them all", given the impressive number of available cards?

share|improve this question
2  
As a side note, there are games where playing strictly to win is making the game less fun for everyone. Once Upon a Time is one such particularly notable example, but in general the whole "social" category of games is full of them. –  Martin Sojka Oct 21 '11 at 13:54
3  
MtG creators make lots of playtests, and when even that doesn't help (sometimes there are combos allowing you to win in first turn), they ban cards from tournaments (warning, TVTropes). –  liori Oct 21 '11 at 17:07
1  
Well, run a bunch of simulations/gather data. That is how they do balancing in StarCraft 2... They measure which units are used most, and which race wins the most. Data collection is the key for complex games, and statistics is just as good as mathematics. Even better I'd say, since you'll capture psychological effects as well. That is why there are not nearly as many mathematicians playing poker than you'll expect. –  Paxinum Jan 2 '12 at 13:36
    
Some of the best German board games are developed by mathematicians (e.g. Reiner Knizia) who specialise in game theory, and it shows. Knizia’s games in particular are extremely well balanced. –  Konrad Rudolph Apr 25 '12 at 15:37
    
So far, the MTG creators failed frequently at this and released cards which turned out to be far overpowered (often because of interactions with other cards they didn't consider), so they had to be banned in official tournament play. –  Philipp May 9 '13 at 17:18
add comment

9 Answers

up vote 30 down vote accepted

Yes, it's theoretically possible - that's a good part of the game theory which deals with this subject.

However, it's only rarely practical, and even then mostly just for games which don't involve a randomiser (Chess, Reversi, Go and so on). Combinatorial explosion ensures that the theoretical time needed for such proofs for more complex games like Magic the Gathering can easily be several orders of magnitude longer than the current age of the universe.

In the end, for any non-trivial game you'll likely have to abandon the notion of proving balance or fairness of a game and instead go with a combination of common sense, designer instincts, game system reuse and throughout testing.

share|improve this answer
10  
Add to this that a game that is proven to be fair is not necessarily perceived to be fair by its players. And it's perception that really matters most of the time. –  Nevermind Oct 21 '11 at 16:17
4  
Also neither Chess nor Go has been "proven" to be fair. In Chess, it is not known whether or not the white player has an advantage. In Go, different countries have different komi, so Go cannot be fair in, at most, all but one of them. –  BlueRaja - Danny Pflughoeft Oct 21 '11 at 17:41
4  
@BlueRaja: Game theory absolutely gives us tools for analyzing fairness in games, e.g. the Nash equilibrium. If the payoffs are equal, then the game is fair. If the payoffs are unequal, the game is not fair. The catch is that not all games have a unique Nash equilibrium, and most interesting games don't have a computationally tractable one even if they have one (and that's probably by definition of "interesting"). But game theory absolutely covers this domain. –  user744 Oct 21 '11 at 19:04
4  
Actually, even if the game is total random, it can be proven to be fair. For example, flip a coin: heads I win, tails you win. The mathematical definition of fairness is E(ProfitOrLoss)=0 over the long run. Joe Wreschnig above has the most accurate comment here. –  kfmfe04 Oct 22 '11 at 23:51
1  
@BlueRaja-DannyPflughoeft: re different Komi in Go: Remember that the scoring is slightly different also, so a comparison is only meaningful when considering both effects. –  Pieter Geerkens May 9 '13 at 21:59
show 4 more comments

From a theory of computation perspective, it sounds like answering this is not possible in general. It's asking a question about a property of a program and Rice's Theorem may apply. My assumption is that game refers to a program written in a Turing Complete language like c++. I'm also assuming that to calculate or prove whether a game is fair means there exists a c++ program that reads a c++ program (the game program) and terminates in a finite amount of time for all possible inputs, with only two outputs, fair or unfair.

A quick search shows it is possible to have a deterministic yet undecidable game, see slide 7 here and from the International Journal of Game Theory: Some undecidable determined games:

"Computing machines using algorithms play games and even learn to play games. However, the inherent finiteness properties of algorithms impose limitations on the game playing abilities of machines. M. Rabin illustrated this limitation in 1957 by constructing a two-person win-lose game with decidable rules but no computable winning strategies."

The human brain is apparently more "powerful" than computers because we can gain and apply past knowledge and sometimes appear to contradict results like the Halting problem by finding infinite loops in programs. But how we do this is not well known and can't be written precisely and unambiguously in an algorithm.

share|improve this answer
add comment

Short answer: Any game with a finite, even if undefined, number of available moves thus has a finite number of possible games. Any game with a finite "game tree complexity" can theoretically have all possible games analyzed to determine if the number of games in which each player would win is equal.

Simply put: if Player 1 wins exactly half of all possible plays of a game, the game is balanced. If this is not true, the game is biased towards one player or the other.

However, this simple rule can be quite infeasible to put in practice. Go, for instance, has a game-tree-complexity on the order of 10^170 possible games, more than the number of atoms thought to exist in the known universe. It is thought to be impossible to compile an exhaustive game tree. However, the library of games played and recorded is in the millions, and suggest that the game has a "first-move advantage" (which is typically mitigated with 1.5 points of "komi" given to White).

Contrasting that, even given large overall game-tree-complexities, all M,N,K games (a grid board of M width, N height, in which the object is for a player to create a row of K pieces by placing and never moving/removing them) are solved, because there is a shortcut; entire "branches" of the game tree can be identified as always causing one player or the other to lose. The remaining branches follow a pattern that can be identified. Tic-Tac-Toe is the obvious example; in addition to having only 300,000-ish possible games, there are only 16 in which one player or the other doesn't make a move that will obviously let the other player win on the next move. So, the game-tree starts small and gets smaller when you consider the games the players are actually likely to make.

In games with an element of luck, the game-tree complexity is inflated beyond the number of decisions available to each player. Because the game is no longer played with "perfect information", as it is in chess, checkers, Go, Othello, etc, it is possible for a player who has played perfectly given the known information at the time to still lose to the game's random element. These games have no "solution"; however, there is usually still a finite game tree and so theoretically games could still be analyzed exhaustively. This is still usually not feasible; instead games involving probability are analyzed probabilistically to identify the "best-bet" strategies, and if these strategies are shown to favor the player that uses them, regardless of the strategy used by any other player (including the same strategy), the game can be shown to have bias.

In general, the following rule applies: if the design of the game inherently leads to inequality in one or more of the following, the game has a bias:

  • Number of total moves for each player
  • Number of moves available at any given time that will allow at least one more move for that player
  • Starting strength of players' forces
  • Access to finite resources or areas of identified strategic significance

Now, the game's design may introduce one inequality but attempt to compensate with another. Or, the game's design may allow for randomness in areas that may produce bias, meaning one game might be biased while another is fairer (games with random starting boards can exhibit this). In these cases only empirical analysis of games between players of roughly equal strength over the long-term can demonstrate any bias.

For more discussion of bias in board games, try the forums of http://www.geekdo.com; there have been several discussions of demonstrated bias in games, and how to avoid said bias in game development in general.

share|improve this answer
add comment

A lot of good answers about getting a mathematically correct answer, but I'll try a different angle: if your code allows for it, you could simulate a very large number of games and then check if there is a strategy (or strategies) that win too often.

You might be familiar with Monte-Carlo simulations or genetic algorithms. The idea here related. You need an AI to play the game and some key measurement. You let the AI go at each other in a large tournament, often enough, with different starting variables and you measure the results.

I've always wanted to try an approach like that to balances classes/weapons, it would be a ton of fun.

share|improve this answer
add comment

I guess there is no pre-made mathematical formula to evaluate how fair a game is because of how every game is so different and complex.

You can't really compare different game parameters and make up some sort of power score of how good a character is (unless your game is very simple) because they all affect your gameplay differently and depend on how they are implemented (e.g. how can you evaluate how strength relates to vitality? How do you give a numerical value to a character's special attack?).

You have to test your game. A lot. Play your game by yourself and make others play it and store the battle/game results in a file in order to make statistics and evaluate how often certain characters win, under what circumstances, etc. Then, make sure you implement some way to check replays or analyse gameplay in order to see why such a character is overpowered and apply the changes accordingly.

Really, you have no other option than testing. That's one of the reasons why betas exist (e.g. Starcraft2 as a beta gave Blizzard the opportunity to balance the 3 races based on the game results).

To sum up, play your game, and make others play it (starting a beta is an option). See why the game is unbalanced through replays or automated analysis and change what needs to be changed accordingly. That's the only way you'll approach fairness.

share|improve this answer
1  
+1 for test your game. Beta testing is important in video games and board games, the more people testing your game, the more likely that someone will find that broken card or spell that ruins everything. –  thedaian Oct 21 '11 at 13:41
1  
To whoever downvoted, why so? –  Jesse Emond Oct 21 '11 at 15:47
1  
Testing is spot on. Introduce a new card? Run it through a large scale simulation of randomized decks to see how often it was part of the winning deck. If a majority of the winning plays were related to the new card, then you should tone it down and try again. –  waterwizard11 Oct 21 '11 at 17:15
add comment

I really wanted to comment on Martin Sojka's answer, but I don't have the reputation. He is correct that Game Theory includes calculating the fairness of a game (for example, it's an open question if in a chess game where both white and black played perfectly whether it would be a tie).

For MtG it could very well be that it's completely infeasible to calculate whether it's fair, but no one has proven mathematically that the computation would be infeasible.

It might be trivially possible to prove it's fair - if it's random who goes first and everyone plays by the same rules then it's fair. It might be that whoever goes first always wins, but if who goes first is decided fairly then the game is fair.

share|improve this answer
    
Remove 109 characters and I will convert this to a comment for you. –  Noctrine Oct 21 '11 at 18:00
add comment

What is meant by "fair" is vague, let me explain :

Consider the game Rock-paper-cissors (http://en.wikipedia.org/wiki/Rock-paper-scissors) : according to you it is fair, I suppose (according to me as well).

Now, let's consider the game : Rock-paper-cissors-well where the well beats the rock and the paper and the well loses against the paper. Unbalanced, right ? The well seems pretty overpowered : it beats two weapons and loses against one.

But one could say that it is not overpowered at all : because if you know that your opponent is more likely to use the well because it beats two weapons, you can just act by picking the paper more often.

So there is an answer to the potential overpowered well : just choose more often the paper. But then you know that your opponent may know that and may use the paper quite often, so you think you should use the cissors more often. Etc. Not really overpowered, just a different game with different rules.

I would recommend reading about game theory and especially games with imperfect information (http://en.wikipedia.org/wiki/Game_theory).

share|improve this answer
5  
No matter what combination of items are involved, any Rock-Paper-Scissors variant is obviously fair because both players are equal. In most board games, one player moves first. –  Random832 Oct 21 '11 at 17:16
    
-1. Whether it's fair or not can be known or unknown (and if unknown, feasible to know or infeasible to know), but game theory gives us plenty of tools to define "fair" without vagueness. –  user744 Oct 21 '11 at 18:59
    
How, for example, can the creators of "The Gathering" make sure that there isn't the "one card that beats them all" -> I was trying to highlight this sentence and show to the author that his conception of "fairness" is not right. Otherwise, for instance, in a game like Magic, people don't usually have the same cards as their opponent so even though people start at the same time (I don't know actually), it may not be fair. And the game Rock-paper-cissors analogy may not be the best to consider but it explains my point. –  JohnCastle Oct 22 '11 at 13:25
    
@JohnCastle This is not the place to discuss OP's evaluation of fair, since that would be a discussion and this is not a discussion board (use chat for that). The exception would be if your post answers the question and discusses the OP's conception of fairness as part of that. –  Jonathan Hobbs Oct 22 '11 at 23:49
    
@JonathanHobbs, How can you prove fairness if it is not correctly defined ? It is true that my post is not really an answer - I should have posted just under the main post, I didn't realize - but I think it is important to define fairness before answering the question. –  JohnCastle Oct 23 '11 at 8:46
show 2 more comments

To be able to prove a game was balanced or fair, you'd have to define what balanced or fair means first. These are rather vague terms that can encompass a range of things, for example game 'balance' is often taken to mean:

  • each of several different sides has the same chance to win
  • progression through the game gets consistently more challenging
  • decisions made within the game offer identical cost/payoff ratios in some/most/all cases

And so on.

In general I am a fan of mathematically proving things like this, but to prove anything through logic or testing you first need to define it clearly. Some aspects of balance are easy to test through mathematics if you're able to understand your game rules properly. Others are much harder to judge without simply conducting empirical tests. The main problem is that most game designers don't truly understand the mechanics of their game, since they usually end up merging game rules into a surrounding simulation, and the latter is very hard to model accurately.

share|improve this answer
add comment

Theoreticaly it is possible, but for most games it is extremely difficult so it can be considered impossible.

One approach: Convert game into normal form. Game in normal form is Set of strategies for each player and function that says how good result is when for given combination of choices. Random factor can be modeled as another player.

Then we can look for dominant/dominated strategies (things to ALWAYS do and things to NEVER do). Game is at lest somehow interesting, if it does not contain dominant strategies.

Then we can look at what each player can guarantee for himself. for each of "MY" choice, look at worst possible outcome and take choice that have this best.

If it differs a lot between players, there is somthing rotten in game.

There are other things to look at (dominant mixed strategy (choosing each choice with some probublity), nash equilibriums (combinations that once all players know others will do, are localy best for everyone)).

But the first step is so extremely complicated for most games, so it's usualy not so usefull. But it can be used if you can absract complicated details away/ replace strategies with recognizable sets of strategies (eg. initial build orders) and result with some statistical aproximation from actualy played games and it can tell you something about problems in game. I guess that something like this blizard does with SC.

Another form of game is game where players takes turns and know everything others do (chess). There you can try to search for dominat strategy by searching state tree of game (and it usualy is HUGE, so again, too complicated to use). And lot of games are without total knowladge and it complicates things a lot.

Another approach, look at things in game and try to compare them.

Another approach: For team combat (esp. with large ammounts participants) you can try to use force on force simulation (I never used it, and it requires high math (diferential equations) and hard work to convert game into aproprite model).

So my conclusion, lot of things can be done to balance subsystems of game, and when game is out (and during betatest), lot can be done by analyzing results, but unless you make everything same, its almost imposible to prove game is balanced.

PS: You can mask sameness by replacing one attribute by multiple that together can be used to compute initial attribute, and by making everything much more random, so players don't see that sameness (

Beware its easy to make mistake in doing so (eg fast small attacks vs big slow attacks), beacuse 18 throws by d6 -18 gives results 0-90, 10 throws by d10-10 gives results 0-90 1 throw by d91-1 gives results 0-90 but all of them have different distributions.

PS2: One wise man said, that actual balance is not important, Percieved balance is.

share|improve this answer
    
The dominant strategy concept is very important. The existence of a dominant strategy in any situation implies an inherent unfairness, although usually that just brings about redundancy in the design rather than a balance problem as such. But a designer needs to be able to avoid dominant strategies in order to give every element a chance of having a clear purpose. –  Kylotan Oct 21 '11 at 15:21
    
One thing I forgot: Existance of dominant strategy does not have to be problem, as long as its realy hard to execute it, even if player KNOW it. Simplistic example, headshoting is dominant strategy in FPS, but lot of players go for center of mass because its easier to hit, but optimal bot would go for headshot always. –  user470365 Oct 22 '11 at 23:15
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.