Feineigle.com - Game Balance

Home · Book Reports · 2024 · Game Balance

Published: January 27, 2024 (8 days ago.)
Tags:  Games · Math



The book in...
One sentence:
A great exploration of game balance and how one might go about actually implementing it both mathematically and with a sense of 'feel'.

Five sentences:
A long, detailed, and in depth look at every (?) facet of game balance; a one-stop-shop for all your game balance needs! The first half of the book talks about different ways a game can be/feel balance/unbalanced and how each different genre has its own balance requirements. The second half of the book offers up concrete advice on how to actually test and implement balance from a mostly mathematical perspective. At the end of the book there is a good overview of some of the more powerful spreadsheet capabilities that can assist in balancing your game. Overall, this is a great read for anyone wanting to know more about game balance (surprising I know) in general (the first half) and how to crank the numbers to make it happen (the second half).

designates my notes. / designates important. / designates very important.


Thoughts

Some of the information here seems so basic to me. Not that it shouldn’t be in the book. The authors state up front that they want the book to be deep and definitive. Still, it is interesting to me that someone who plays games (assuming you play games before designing games) wouldn’t understand things like resource economies.

Maybe it is only me, but these days (and for decades really) I see the cogs of board and video games almost right off the bat. To me, a great game uses some other (story) elements to distract me from seeing the gears turning in the background.

They define inflation, per Merriam-Webster, as “a continual increase in the price of goods or services”. Then they go on to talk about gold farmers and players killing monster and gaining loot/gold faster than they spend it. I find it amusing and sad how far the destruction of language has come. Inflation is an increase in the monetary supply. With more units of currency, prices rise to reflect the new levels of (less) scarcity and thus require more units of currency for the same goods/services.

A few pages later he correctly identifies inflation as more gold entering the economy than leaving it, thus pushing prices up. I still don’t think they express clearly that prices going up is an effect of increasing the monetary (gold) supply.

Anchor around one number to balance from.


Table of Contents


Part 1 - Game Balance

· Chapter 01 - The Foundations of Game Balance

page 005:
  1. Mathematical Balance
  2. Balanced Difficulty
    • The progression of difficulty over time is referred to as a difficulty curve.
  3. Balanced Progression
    • Progression is defined as the rate at which the player passes through the power, difficulty, narrative, or gameplay ramp of the game.
    • Narrative Progression - writers often follow the three-act structure or the 12-act hero’s journey from Joseph Campbell’s Hero of a Thousand Faces.
  4. Balanced Initial Conditions
  5. Balance between Multiple Strategies
  6. Balance between Game Objects
  7. Balance as Fairness
page 009:
page 010:

· Chapter 02 - Critical Vocabulary

page 029:
page 030:
page 036:

· Chapter 03 - Where to Start - Systems

page 051:

· Chapter 04 - The Components of Progression - Curves

page 066:
  1. Character progression: the character in the game grows in some way through player action.

  2. Player’s skill progression: the player’s skills in the game grow through repeated practice.

  3. Narrative progression: the in-game story progresses through character action or time.

  4. Mechanical progression: the more the player plays, the more mechanics get added, making the game deeper, more complex, and more challenging.

page 067:
page 073:
page 074:
page 076:
page 078:

· Chapter 05 - Finding an Anchor

page 085:
page 086:

· Chapter 06 - Economic Systems

page 111:
page 123:

· Chapter 07 - Trading Systems

· Chapter 08 - Transitivity and Cost Curves

page 160:
page 161:
page 163:

· Chapter 09 - Characters and Character Builds

page 201:
  1. Optimal (or “min-maxed”): these characters contain the best performance that one can mathematically squeeze out of the game’s systems. A player who has created an optimal character has probably spent a fair amount of time reverse-engineering the game’s systems, comparing numbers, finding ways to stack bonuses or identify broken skill combos… or they’ve found an online guide from someone else who has.

  2. Viable: these characters may not be mathematically perfect, but they provide a playable experience throughout the game. A typical player should be able to beat the game at the default difficulty level without major problems, if they’re playing a viable character.

  3. Marginally viable: these characters are suboptimal, but can still potentially be used to conquer the game’s content in the hands of a skilled player. Such a build would be nonviable for most players, but expert players might create such a build on purpose as a personal challenge.

  4. Nonviable: a nonviable character is completely hopeless and could not be salvaged, even in the hands of an expert.

page 203:
page 204:
page 207:

· Chapter 10 - Combat

page 213:
page 215:
page 220:
page 224:
page 226:
page 227:
page 230:
page 238:

· Chapter 11 - Progression in PvE Games

page 252:
  1. Does the difficulty increase over time at a good rate, or does it get harder too quickly or too slowly, leading to frustration or boredom (the difficulty curve)?

  2. Does the player’s power in the game increase at a good rate relative to the increase in enemy power—or, does the player gain power too quickly, making the rest of the game trivial after finding some all-powerful weapon… or does the player gain power too slowly, requiring a lot of tedious grinding to compensate (the power curve)?

  3. Is the overall difficulty level appropriate for the audience (is the game too hard or too easy)

page 253:
page 254:
page 255:
  1. Note that while some friction can be in the form of time investment (requiring the player to “grind,” using known and mastered skills repetitively in order to progress), this does not increase perceived difficulty. A tedious task is not difficult, merely time-consuming. For that reason, there is not a one-to-one mapping between friction and difficulty.
page 256:
page 257:
page 258
page 259:
page 262:
page 264:

• Agency: control over one’s environment and one’s own fate. Motivates player to seek improved character stats or abilities, which give increased virtual skill as the reward.

• Mastery: greater understanding over how to manipulate a system. Motivates player to increase the difficulty or complexity of the game, which results in increased player skill at the game as a natural reward.

• Curiosity: finding out what happens next. Motivates player to enter a discovery arc, which when completed grants additional knowledge of the game to the player.

• Closure: finishing what one started. Motivates player to enter an accomplishment arc, which ultimately satisfies the player’s completionist desires when the arc finishes.

• Expression: a show of one’s individuality and uniqueness. Motivates player to collect cosmetic content or make character-defining choices in the game, which allows the player to use the game as a form of self-expression. Depending on the context, the player might be putting themselves in the game or else creating a fictional character of their own devising.

• Connection: relatedness to and fellowship with other humans. Motivates a player to enter guilds, which provide the player with a feeling of social inclusion.

• Superiority: showing domination of one’s peers. Motivates a player to climb leaderboards and other ranking systems, which rewards the player with the thrill and recognition of competing and winning.

• Community: showing value to one’s fellow players, be they opponents, allies, or guildmates. Motivates a player to enter an influence loop, performing behaviors that win friends and provide recognition of the player’s value.

page 274:
page 277:

• The active progression loops are constantly open and ongoing. Any loop that a player is currently advancing is not yet complete, but as soon as it is completed, it immediately opens up the next iteration of that same loop. In this way, each of the progression systems in the game (technology, exploration, military, economic, and so on) remains open indefinitely.

• The progression loops overlap. Because the game has so many distinct progression loops active at once, and they are staggered, the player is never more than a turn or two away from completing one or more goals.

page 281:
page 284:
page 286:
page 292:

· Chapter 12 - Progression in PvP Games

page 305:
page 306:
page 308:
page 309:

· Chapter 13 - Analytics

page 331:
page 332:

· Chapter 14 - Metagame Systems

· Chapter 15 - Production and Playtesting

page 400:
page 403:
page 407:
page 410:

Try degenerate strategies. This is where the player latches onto one overpowered thing and just does that thing over and over whenever they have the option. If this is a TCG and there are no deck construction limits, take one overpowered card and put 100 copies of it in your deck. If it’s a fighting game, spam one move over and over. If it’s a tower defense game, build one kind of tower and ignore the others. Playing this way tends to be boring for the player and (if the strategy works) intensely frustrating for their opponents, so this is the kind of situation you want to avoid, where players are optimizing the fun out of the game.

Be a total jerk. Stab other players in the back. Make moves that are totally unfair. Refuse to collaborate with anyone, unless doing so gives you a sufficient material advantage. Do everything you can short of cheating to gain even a small advantage, no matter how much fun it sucks out of the room. Ignore all normal rules of decency, and see if you can use this to your advantage. If a player can be rewarded in the game for being mean, they will, so you want to test for this to make sure that players are not incentivized to treat others poorly.

• If you’d like additional strategies on how to play ruthlessly, there’s a wonderful book by designer David Sirlin on the subject that you can read online for free, called Playing to Win (see the “Additional Resources” section). It is, essentially, a retelling of Sun Tzu’s Art of War in the context of competitive games/esports, and shows in depth the competitive mindset.

Additional Resources • Jaime Griesemer, Changing the Time Between Shots for the Sniper Rifle from 0.5 to 0.7 Seconds for Halo 3, GDC 2010, viewable at https://www.youtube.com/watch?v=8YJ53skc-k4.

• Anthony Giovannetti, Slay the Spire: Metrics Driven Design and Balance, GDC 2019, viewable at https://www.gdcvault.com/browse/gdc-19/play/1025731.

• David Sirlin, Playing to Win, available at http://www.sirlin.net/ptw.

· Chapter 16 - Beyond Balance

page 416:

Part 2 - The Mathematics of Balance

· Chapter 17 - Independent Randomness

page 443:
page 445:

· Chapter 18 - Dependent Randomness

page 459:

$${n\choose k} = \frac{n!}{k!(n-k)!}$$

$$ \frac{52!}{5!(52-5)!} = \frac{52 * 51 * 50 *\dots * 3 * 2 * 1}{(5 * 4 * 3 * 2 * 1)(47 * 46 * \dots * 2 * 1)} = \frac{52 * 51 * 50 * 49 * 48}{5 * 4 * 3 * 2 * 1} $$

$$ = 2,598,960 $$

$$ P(n,k) = \frac{n!}{(n-k)!} $$

$$ \frac{8!}{(8-3)!} = \frac{8 * 7 * 6 * 5 * 4 * 3 * 2 * 1}{5 * 4 * 3 * 2 * 1} = 8 * 7 * 6 = 336 $$

page 460:

$$ 13 * 12 * {4\choose3}*{4\choose2} = 13 * 12 * 4 * 6 = 3744 $$

· Chapter 19 - Managing Luck and Skill

· Chapter 20 - Probability and Human Intuition

page 491:
page 502:

· Chapter 21 - Pseudorandom Numbers

· Chapter 22 - Infinite Probability

page 529:
page 530:

$$\begin{bmatrix} 0 & \frac{1}{2} & \frac{1}{3} \ 1 & 0 & \frac{1}{3} \ 0 & \frac{1}{2} & \frac{1}{3} \end{bmatrix}$$

page 531:

$$ \begin{bmatrix} 0 & \frac{1}{2} & \frac{1}{3} \\ 1 & 0 & \frac{1}{3} \\ 0 & \frac{1}{2} & \frac{1}{3} \end{bmatrix} \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} $$

$$ \begin{bmatrix} 0 & \frac{1}{2} & \frac{1}{3} \\ 1 & 0 & \frac{1}{3} \\ 0 & \frac{1}{2} & \frac{1}{3} \end{bmatrix} \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix} = \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix} $$

$$ \begin{bmatrix} 0 & \frac{1}{2} & \frac{1}{3} \\ 1 & 0 & \frac{1}{3} \\ 0 & \frac{1}{2} & \frac{1}{3} \end{bmatrix} \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix} = \begin{bmatrix} \frac{1}{2} \\ 0 \\ \frac{1}{2} \end{bmatrix} $$

page 532:

$$ \begin{bmatrix} 0 & \frac{1}{2} & \frac{1}{3} \\ 1 & 0 & \frac{1}{3} \\ 0 & \frac{1}{2} & \frac{1}{3} \end{bmatrix} \begin{bmatrix} \frac{1}{2} \\ 0 \\ \frac{1}{2} \end{bmatrix} = \begin{bmatrix} \frac{1}{6} \\ \frac{4}{6} \\ \frac{1}{6} \end{bmatrix} $$

$$ \begin{bmatrix} 0 & \frac{1}{2} & \frac{1}{3} \\ 1 & 0 & \frac{1}{3} \\ 0 & \frac{1}{2} & \frac{1}{3} \end{bmatrix} \begin{bmatrix} \frac{3}{20} \\ \frac{4}{20} \\ \frac{3}{20} \end{bmatrix} = \begin{bmatrix} \frac{3}{20} \\ \frac{4}{20} \\ \frac{3}{20} \end{bmatrix} $$

· Chapter 23 - Situational Balance

· Chapter 24 - Statistics

page 593:
page 594:

· Chapter 25 - Intransitive Mechanics and Payoff Matrices

page 632:

• Add one additional equation: if each player must choose exactly one action, then the probabilities of all choices sum to 1. In an asymmetric game, the probabilities of each individual player’s choices sum to 1, so this may be several similar equations in that case.

• Using algebraic substitution, triangular-form matrices, spreadsheets, or any other means you have at your disposal, solve for as many unknowns as you can. If you manage to learn the value of X (the payoff for one player), it tells you the expected gain or loss for that player. Summing all players’ X values tells you if the game is zero sum (if they all add to zero), positive sum (if they add to a number greater than zero), or negative sum (if they add to a number less than zero), and by how much overall… if you didn’t know that information from the start.

• If you can find a unique value for each probability that is between 0 and 1, those are the optimal probabilities with which you should choose each throw. For asymmetric games, the optimal solution may be different for each individual player. This is your solution.

• For games with more than two players, choose one player’s payoffs as the point of reference and treat all other players as a single combined “opponent.” The math gets much harder for each player you add over two: a three-player game gives you a system of quadratic equations, a four-player game provides a set of cubic equations, a five-player game gives quartic equations, and so on.

Part 3 - Spreadsheets

· Chapter 26 - Making Lists

· Chapter 27 - Basic Formatting

· Chapter 28 - Formulas, References, and Graphs

· Chapter 29 - Absolute References

· Chapter 30 - Advanced Formatting

· Chapter 31 - Math Functions

page 681:
page 682:

What if you want to generate a number within a range that isn’t 0 to 1? RAND() can be multiplied and/or added to in order to get any range. For example, if you want a number between 150 and 250, that would be =RAND()*200+150. Multiplying 200 by a number between 0 and 1 gives a number between 0*200 and 1*200, so the range is now 0 to 200. Adding 150 to that number increases the range from 0+150 to 200+150, or between 150 and 250.

page 686:

· Chapter 32 - Deck Shuffling

page 693:

When order does matter, that is called a permutation, and the corresponding spreadsheet function is called PERMUT(). If you want the number of ways to select the top ten players out of a thousand (where the ordering within the top ten matters), you would use =PERMUT(2000,20). These are handy functions when you don’t want to take the time to remember the mathematical formulas.

-Aside from that, there are a few functions which are useful in simulating a random shuffle. We’ve already encountered RAND() which produces a pseudorandom number from 0 to 1. Additionally, there is a function called RANK() which takes two parameters: first, a value; and second, a range of cells. RANK() looks up the value within the range and tells you what position it is in, numerically: 1 if it is the highest number in the list, 2 if it’s the second highest, 3 if it’s the third highest, and so on.

page 694:
page 695:
page 697:
page 698:
=INDIRECT("A"&RANDBETWEEN(1,6))&INDIRECT("B"&RANDBETWEEN(1,6)) &INDIRECT("C"&RANDBETWEEN(1,6))
page 699:

· Chapter 33 - Organizational Formatting

page 720:
page 706:
page 708:

· Chapter 34 - Times and Dates

· Chapter 35 - Iterative Calculations

page 718:
  1. If you set maximum iterations at 1, it only increments by 1, which is generally what you’ll want if you enable this option.

under cooldown (and a priority of zero if it is under cooldown, meaning it can’t be selected in that case). Then, in a separate column, each cell would check to see if its own priority was equal to the MAX() of all priorities, and if so, it would trigger (and enter cooldown). You could also keep a global timer that just increments itself by 1 each iteration and then a move history where it would keep track of whichever move was chosen on the current time:

· Chapter 36 - Fancier Graphing

page 723:
page 724:

· Chapter 37 - Matrix Functions

· Appendix - Game Genres