Tangent: Outsider Game Balancing

Back to our regular schedule of content, after many mini-updates! Today, I wanted to take a bit to talk about outsider game balancing. Outsider here means someone who isn’t the game developer doing the balancing, and I wanted to go over two possible approaches to this balancing aspect.

ethics-scale

Not pictured: the third axis that lets you classify a game according to the GNS Theory

Game Developer Balancing

The typical way a game gets balanced is by the developer themselves. Sometimes this incorporates feedback from a few or hundreds/thousands of players, but at the end of the day the person reaching into the guts of the game and tweaking it a little or a lot is the developer themselves. For the most part, this is the most practical method of balancing, and the easiest to initially implement compared to AI and crowd balancing.

The benefits of this approach cover aspects such as the familiarity of the designer with their own system, and the ability to make complex or multifaceted changes to minor or major game mechanisms. Oftentimes, a designer may have a good and fairly objective handle on a game imbalance, compared against the crowd balancing method where players might unintentionally hyperbolize a balance issue based on their own experience or inexperience with the game and with that specific imbalance.

However, the drawbacks are that this is very labor-intensive for a designer, and having the limited viewpoint of just one person means that problems can be missed. Making changes to a game could be as little as adding or removing an ability or point value, or they might involve overhauling entire subsystems or adding brand new ones to an existing game. On top of that, games with very detailed and complex possible sets of interactions between game components (such as seen in collectible card games like Magic or ability-heavy wargames like Warhammer) can often have unintended and unforseen combinations that can cause low enjoyability, stale metas, and “solved” games.

So how can a designer get around some of these issues? I’ll cover some possibilities below, as well as my ideas on how to incorporate and use them for future games.

ai_0

While not as accurate, this image is much more evocative than a picture of a server tower

AI-based balancing

AI-balancing is, simply-put, using a computer and calculations to do most of the heavy lifting of game balance. While something like a point formula or similar might technically fall in this category, I’m focusing more on systems that recursively test and balance a game directly.

One fantastic example of this is my personal favorite thinkpiece game design, Jason Rohrer’s A Game for Someone. Leaving aside the wonderfully intriguing aspects of long-term component durability and the idea of a game no-one will play for several thousand years, one aspect that stood out to me was this line:

To accomplish that, Rohrer first built the game in computer form, designing a set of rules that would be playtested not by a human, but by an artificial intelligence. He said he plugged the game’s rules into a “black box,” letting the AI find imbalances, iterating new rules and repeating. Rohrer showed the video game version of his board game onscreen, but obscured key portions of the board game’s layout, so no one in attendance could reverse engineer its mechanics.

While the nature of this sort of game-testing AI would be necessarily complex, this allowed for Rohrer to effectively replicate hundreds or thousands of games played, iterating imbalances and new rules far faster than could be possible with human players.

“But,” I hear you cry out, “How the hell am I supposed to program that?”

Enter neural networks.

The world of neural networks is exploding, and already we’re seeing applications crop up all over the place, from medicine with the Watson supercomputer to Magic the Gathering card design on a home desktop. The latter example uses a simple script that takes in Magic cards in a raw, uniform format, and then iteratively designs cards. Cards are given a score based on how well they match existing cards, and this is used to refine the network further. If you’re looking to design cards for your own game, this sort of network and card creation can be done in a single weekend with middling computer programming experience.

cyitavywiaadbal

Admittedly, some of the cards make more mechanical sense than others

Applying this to game balancing is slightly more in-depth, as you would need to customize the script to essentially “play” your game. On the most fundamental level, you need to be able to score the network result based on how well or poorly they did, which helps refine the game to have better balance. Depending on the complexity of your game, this could be either straightforward (for a game like Yahtzee or Uno), or very complicated (for a game like Warhammer or Ticket to Ride), but either way it will require some programming know-how.

Another set of drawbacks to keep in mind for AI-based balancing is both the limited scope of the balancing, and how you are defining the game as “perfect” for the purpose of scoring accuracy. The more options and variables you want a game to take into account, the more complex the program, and exponentially moreso if the game will have the ability to tweak game values beyond just simple numbers: the leap between “Determine if this card should have a value of 1, 2, or 3” is a far cry from “Determine if the game should have 1, 2, or 3 player purchasing or discard phases on each turn.”

The other aspect is game scoring. Neural networks need to be able to score their results in order to iterate properly, and so it behooves you as the programmer to add in a method to compute the score of the game. Many games might be easy to determine, such as total points scored or last player standing, but be aware that this might not tell you everything and could trend the game towards undesired results. If you’re testing a wargame, you want to make sure there are multiple army compositions for victory, and if the game only tests one unit type or faction, or tests for only one metric of success (like points killed vs objectives captures vs other scenario win conditions) then you’re hamstringing the effectiveness of that testing.

canstockphoto12241921

Weirdly hard to find a picture for “crowd vote” that wasn’t showing stuff from an American election

Crowd-based Balancing

Another alternative for a game designer is to essentially foist the design off on the players. Now, in the day and age of the internet and Google Forms and countless other poll apps and programs, one can easily ask for feedback on a rule, on a point value, and hear thoughts on proposed or executed rule changes. These are all useful, to be sure, but essentially share the same base effect as the Game Designer Balancing I mentioned above in that the Designer has the final say in how the game changes.

What I want to focus on, though, is crowd-based balancing. There’s not a lot of games that do this; I don’t know of any off of the top of my head apart from an aborted attempt at making a new Warhammer 40K edition, Waffle Edition. The general consensus from other designers I’ve spoken with has been something along the lines of this quote from the late Sir Terry Pratchett:

The intelligence of that creature known as a crowd is the square root of the number of people in it.

However, I’m not about to let common sentiment and possibly common sense stand in the way of experimental game design!

I’ve tried crowd-based balancing once before, and I’ve got plans to both retry that version of it as well as try a second incarnation of the balancing setup that gives me as a designer a smidgen more input for the final result.

cheese-falcon-b

Step One when building a Cheesy Netlist

The first attempt at crowd-based balancing was what I called the 40K points project, or “Balanced 40K.” After initially trying and failing to implement a recursive Google Form/Sheet setup for point costs, I tried using Reddit and the upvote/downvote tallies to modify point costs. Then I found out about “vote fuzzing,” and that basically sunk the project on the subreddit. Further attempts at working with the recursive Google Form/Sheet point setup actually succeeded, but at that point the next overall edition of 40K released and I lost interest in continuing that project.

The way it worked (on the Google Form/Sheet version) was people voted whether the point cost for a unit was too high, too low, or just right. The # of low was divided by # of high and then applied to the original point cost as a multiplier, with “just right” adding +1 vote to both sides and effectively watering down the overall degree of change the point cost would change by. The multiplier was capped at doubling or halving a cost, with changes to decrease a cost

The idea behind it was that players know best what units are overpowered/underpowered. A designer just looking at a dozen armies might not see a unit like a Pyrovore or Vespids as being terrible, while players familiar with metas and lists that optimize an army would know what were the most powerful choices from an army list and up/downvote accordingly. It would also mean point costs were live, and the emergence of game-breaking metas could in theory be countered by voting to increase or decrease unit costs appropriately to include the units newfound usefulness in the emerging meta.

The method has a large vulnerability to vote brigading and spammers, but I believe the underlying idea was and is sound, and I plan to implement it on future wargames I create. I think it allows a game’s balance to be much more nimble and responsive to players than something that’s relying on annual game updates and/or errata releases.

EDIT: I had completely forgotten, but I’d actually outlined my initial idea for the 40K balancing (pre-Reddit) in this post titled 40K Mishmash.

gamebalance

If only game balance were this easy

The second balancing method I wanted to try for a future game actually would form one of the primary attractions of the wargame. Each unit would have a relatively simple statline, but then each unit would have a single very powerful and role-defining ability of some sort (such as forming a shieldwall, ignoring cover when shooting, capturing enemy units or vehicles, etc). As a designer, I would keep an eye on metas and armies as best as I could (heavily encouraging player input on forums and such), and after a set period of time (somewhere between 3-6 months), each army would get a set of new abilities to vote on for adding to specified units.

For example, say we have the ‘XYZ Defenders’ unit with the Shieldwall ability, making them a strong anvil unit for enemy charges and shooting to dissipate against. One of the new upgrades might be Tankbusters, which gives them a powerful melee anti-vehicle attack.

These would be specific to units I’ve chosen based on user feedback and metas (so I could pick if it seemed like the Defenders needed the Tankbusters, or a different ability option, etc), but then players get to vote on them to decide which changes they feel are the most needed/desirable. Part of the army building is that units with more abilities are limited in how many copies you can have in an army, so more powerful and distinct units become fewer in number.

This setup I think would work well, as players get to feel like they chose what changes get made, but at the same time as a designer I don’t have to worry about something going completely off the rails and some unit getting a user-made and unexpectedly-popular ‘Boaty McBoatface’ upgrade.

22xp-boaty-facebookjumbo

I will forever refuse to call it the “HMS Sir David Attenborough”

Closing Thoughts

So those are my thoughts on game design and some novel ways to approach game balancing. What did you think of them, and what experiences have you had with game balancing styles? Let me know in the comments/reblogs below!

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s