Hello everyone! This week, I want to spend a bit of time talking about balance! As with many things in game development, it’s very easy to make a post about ‘balancing is hard, hur dur’ and move on. Instead, I want to talk about what tools I have and how I approach that very hard problem of ‘game balance’.

The definition of Balance

First, let’s define what balance is and isn’t, as it’s a very large and vague term that is used in a lot of different contexts. In this post, I will be talking about a ‘macro level’ balance, or balance at the meta level, not micro level balance. While you do have to transition between the levels quite a bit when doing balance, I am not so concerned with 50 armor being balanced against the additional weight it carries on parts. Marco level balance is more focused on what parts get used, how the get used, and how effective they are at their designed roles.

Another rule I live by is that there is no perfect balance. Even Chess shows a higher win percentage to the player that goes first, so achieving a pure balance utopia is not the goal. The goal is to create a sandbox for players to experiment and find the fun that fits them the most. A well balanced game is one that any player can see the benefits to most items, but there is still some mystery that allows them to find unique variations and combos that fit how they want to play. Games like Magic the Gathering do a great job at allowing unexpected cards to see play, though a single unbalanced card can still dominate the games meta.

The Tools

So, how do we balance a game? Lets look at our tool set!

-Excel/Google Sheets/ Spreadsheet editor of your choice : This is a staple tool of any game designer. It allows you to look at a LOT of data, in an organized and condensed format.

-Play test data: I am not talking about you playing the game and writing down notes. I am talking about recorded gameplay of players of all different ability levels, along with Q&A about certain topics.

-Raw game data: This would be your analytics tracking, or recorded game sessions. Normally just provides the game ‘by the numbers’ for data mining.

-Test arena: A place you can finely control the settings so you can test fine tuned tweaks. This can be as simple as a shooting range or a specially crafted test level that has deterministic behavior.

-Lots of player feedback!

Getting Started

My first order of business is to look at the players and what they are saying. Many times you will find, balance and game design are driven much more by ‘feeling’ than actual hard numbers.

Sometimes, players will come at you with incredibly detailed notes and a stats analysis right from the get go!

By starting with the ‘feeling’ of the balance, you can start digging into what is actually off about the balance. Many times, it’s not as easy as just a number being off. Here is a recent example:

Many players were saying that the time to kill was getting very short now that the heavy weapons had been added into the game. Stats wise, these parts were fairly balanced, so they should not have had much impact to the time to kill at all. With this ‘feeling’ I started doing a lot of digging. While I didn’t have stats to compare against from before the heavy weapons update, I could use my previously mentioned tools to generate a set of control data. By creating a test level that would pit AI against each other, I could test the time to kill in a controlled setting and compare that to ‘live’ data and also use it for a control group when making balance changes. Right away I could see that the control group did indeed have a much longer time to kill! This allowed me start digging at the reason. Some of it was due to the fact that I was comparing AI against human players, but the margin of difference was large enough that it was still significant. So, my next step was to look at weapon usage. I discovered that the weapon preferences of the AI and the human players were actually quite different! The AI were favoring ‘traditional’ weapons, like cannons and assault rifles and were using the heavy weapons less than 10% of the time. I expected this to be flipped with the human players.

What I actually found was the human players were only using the heavy weapons slightly more than the AI. There was 1 weapon type that dominated the human players kills though, The Howitzer. Digging even more though, I could see that splash type weapons accounted for over 60% of all kills in MAV. Considering that only 25 weapons of the 134 weapons in MAV deal splash damage, it was apparent that something was a bit off. So, I started doing a bit of testing and made an interesting find.

By getting a direct hit with a splash weapon, you get double the damage it would do to a single part. This means that a simple Z-HWZ could do 115 + 115 = 230 damage in a single hit. When fired as a pair, that is 460 damage, not even counting the additional damage done to the surrounding parts! Even if the target part had 100 armor, that would still be a high damage amount on part with cannons. While this gameplay quirk was not likely to be known by most players, by naturally experimenting with parts they all tended to gravitate to the same well. In fact, it’s very easy to map a players transition from cannons to howitzers to their current player level. From levels 1-10, players heavily favor the Z-CON cannon, as it is part of the default build they are provided. As additional parts unlock, they start to migrate, but the majority have transitioned to the howitzers or other splash weapons by rank 20. In fact, the time to kill curve mirrors this as well, with the lowest times to kill being around rank 15. The time to kill does slowly increase as rank goes up though, as the access to higher armored parts increases with rank.

So what do we do?

The Fix

Well, there are many ways we can approach this problem. The most direct would be to just nerf the damage of the splash weapons significantly, but that has issues. First being the perception problem. Nobody likes to login to the game, only to find their favorite weapon has just had it’s damage cut by 75%, no matter how you pitch it to them. The second issue, is that it reduces the splash weapons ability to damage buildings, on of the primary roles they were designed to fill. And lastly, they are supposed to be a fear weapon that provide area of denial support. Nerfing the damage greatly reduces their ability to fill this role.

By looking at the data, we can see that the time to kills slowly start to creep upwards as the access to more parts with high armor values increases. Armor is a straight splash damage counter, meaning a part with 100 armor is 100% immune to splash damage. If we increased the availability of high armor value parts to the lower levels, we can provide a hard counter sooner. This will prevent a portion of the growing player base from migrating to only splash based weapons as they hit that magical level 10. By cutting off the flow of new adopters, we can slowly influence the overall meta game.

But what about the high level players? They players have already adapted to the splash meta and already have the high armor parts to counter it. Here, we can make a small tweak that will also reinforce our previous change. By removing the dealing of ‘direct’ damage along with splash damage, we can buff the armor stat even more. Now, a part with 100 armor is TOTALLY immune to splashed based weapons, versus before when they would have still taking the full damage value of the impact. We can then tune armor values to account for this new change.

But, now we are back to buildings! By removing the direct damage value, we have cut the damage done to buildings in half! We can ‘fix’ this by giving buildings a negative armor value, allowing the splash weapons to not just maintain their role as building destroyers, but actually give it a slight buff since a direct hit is no longer required for the extra damage. This has a side effect of increasing the utility of walls around a building as well!

And now we have one final issue. The issue of ‘power feeling’. What happens when I have a high power howitzer and I land a direct hit on a full armor MAV and it doesn’t react at all. Luckily, this can be addressed through some small changes to the ‘force’ stat in MAV, which affects the physical reaction MAV’s have when impacted. This allows a player to still feel a sense of power behind the weapon, while also maintaining some utility, even when facing a hard counter to their weapon.

So, what are the results?

Though my focused play testing, player feedback, and simulated AI battles, I have achieved my 2 primary goals. Time to kill has increased by about 30% overall, along with total strips [when a MAV is removed of every part other than the legs and cockpit] have been reduced by 70%. There is also a much greater build diversity as well, as the requirement to carry a non-splash based weapon is much higher now.

And that is how I balanced the Z-HWZ! Now there are only 389 more parts to go through! 🙂