Character ability power balance

I'm making a game where the player controls a character. This character starts off bland & weak. But over the course of playing the game, picks up abilities which the character uses as attacks/magic/damage dealers during battles. There are many different types of abilities/powers. I want to allow the player to level up these abilities through whatever means I come up with (haven't done that yet).

How do I balance ability ATTACK power (damage dealt) for instance? I'm sure there's some kind of abstract way of approaching this but it's eluding me. I want to make sure that if I make a super overpowered ability that there is another ability out there that can at least counter act it.

So the question: how do I approach ability power upgrade balancing when designing my game? Is it an algorithm? Can it be done linearly? So that there is always an awesome new strong ability waiting around the corner for the player character?

In any game where you have character leveling, you need to decide on a power curve.

This is a mathematical function which maps game progress to character strength. This curve can be linear, polynomial or even exponential. The flatter the curve, the less progress your player will feel, but the easier it is to balance because early-game content still stays relevant until the late-game.

Design your content in a way that while the player progresses through your game, you hand out powerups in a way that their characters power stays on that curve. Simultaneously you increase the power level of any opponents and other challenges the player faces to be around that power curve. At the beginning of the game, where the player is still learning your game mechanics, you want the opponents to be below the curve. But in the end, when the player has mastered your mechanics, you want the opponents to be above the curve to provide a challenge. How far below or above the curve depends on how hard it is to learn your game mechanics and how much power potential they have when mastered.

That means there can be an awesome powerup around the next corner, but only when you make sure that all future enemy encounters are even stronger to compensate for the increased power of the player-character.

Example:

Let's say your game has 10 levels, and you decided on a polynomial power curve which is 10 * (level ^ 1.2). This means you would hand out powerups in each level so that the player ends up with approximately this amount of attack on each level:

1   10
2   23
3   37
4   53
5   69
6   86
7   103
8   121
9   140
10  158


A spreadsheet application like Excel is very useful for calculating such tables.

This table also tells you how many hit points the enemies on each level should have, which would be a multiple of these values (the value of that multiplier depends on how many hits on average you want an enemy to take before they go down). Again, stay slightly below that curve on earlier levels and slightly above on later levels when you design enemy encounters.

"But what if I want my game to be a fluent experience not separated into levels?" - then still separate it into levels, just don't tell the player where one level ends and another level begins.

"But what if my game is an open world game and I want to let the player explore it in any order they like?" - then either have the player progress very little, have them progress horizontally (give them new abilities which open up alternative strategies but aren't actually more powerful), or make sure that when the player gets stronger, the whole world adapts and becomes more challenging.

• That does make sense & the chart really helps bring it all into perspective. Thank you very much! – Krekin Mar 21 '16 at 14:01
• As a side note you might want to allow for the players to feel powerful for a moment after achieving a new level, so dont have the level of power of the enemies increase whenever the power of the player increases. Let the player feel like they have actually gained something for a little while before increasing the difficulty on the enemies. theangrygm.com/megadungeon-intro has a good example on it if you can read past the tabletop-game part, especially the chapter "The Treadmill and The Ratchet" – Niels Mar 21 '16 at 15:51

@Philipp gave a great answer. Another concept to take into consideration is the idea of average threat level. It is perfectly acceptable for certain foes to have stats dramatically greater than what your curve predicts – so long as their other stats are lowered in proportion to the increase. For instance take pixies armed with envenomed needles. They are extremely fast and small, represented by a high dexterity stat (or speed if that is what you wish to call it) and a corresponding raise in evasion. However, this means players will likely miss them more often, so you should lower their hit-points in proportion to the change. So if the player is only supposed to be required to attack a foe x times to kill it, and the pixy has a 50% miss chance, you can give it approximately half the health of your average foe. Likewise giving the pixy an attack that grants a status effect can make up for it having a low attack power.

This allows you to make your enemies more unique and will make the game less boring. Rather than the goblin, the golem, and the giant all being the same except for the number of wounds they can take, you can push certain features of theirs in one direction and reduce the others accordingly to keep it within your target challenge level.

Also, while it is usually preferable to keep the ATR relatively even (bosses should always have something neat that surprises even the best prepared players), it never hurts to shake things up a bit. Take Diablo 3’s treasure goblins for example. Weak in every way, yet drops amazing loot. It only contributes to the dungeon’s difficulty by convincing otherwise intelligent players that it’s a good idea to go running headfirst into unknown territory because “otherwise the little bugger is going to get away with the loot!” Yet no one complains about them, because it is an unexpected and refreshing challenge that brings its own reward.

Another example I love is the earth dragon from “Golden Sun: The Lost Age.” Its stats are pretty high, it regenerates an insane amount every turn and it can’t actually be killed in a fair fight (I tried for kicks once). This is dealt with when the player figures out that there is an entire area inside that mountain dedicated to weakening the dragon and stripping it of its regeneration. Sometimes it is great idea to make foes absurdly overpowered (by the numbers) and then introduce other variables like volatile terrain or legendary, boss-specific weapons. The key thing I have learned about this is to keep it fun.