Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

For example, in a game like Diablo, how did they decide how much damage each skill does? Is it the amount of clicks that the player needs to do? Or maybe the expected lifetime of a player? Maybe calculate the probability that the player will die?

share|improve this question
up vote 6 down vote accepted

There are a few things to point out, balance isn't done exclusively by the programmer, and in most cases shouldn't actually rely (entirely) on the programmer, but the designer instead. Which leads me to the important notice, that it doesn't usually depend on the algorithm itself (unless it needs a big change) but the variables OF the algorithm. For example, the Starcraft II team had something in the editor that could exclusively edit balance through the various inputs and testing the actual design inputs by hand (through play testing combine with common sense and decidind (as previously posted) what is "fun")

In other words, it's up to you how the actual algorithm works entirely. Some people will base it on damage per second, meaning the designer only has to alter how much damage, that the unit will 'do' per second. And the algorithm will say maybe, "once every second, do amount of damage" and it will recieve from the DPS that the designer put into the files via la editor.

share|improve this answer

This is called "experience." Blizzard has made games before and learned from experience. The heuristic to rating and improving that knowledge is "Is it fun?"

In Blizzard's case they are known for iterating when trying to find fun and balance, a lot, and that shows that there is no secret math but just a lot of work.

A better question might be "once I find out what feels fun, how do I create the math and code to match so that all of my game is fun?"

share|improve this answer
From your comment, it sounds like there is a hidden math. Only the path to it is unknown. Kind of like a blind optimization. – Andrey Rubshtein Dec 23 '11 at 9:31
Worse comes to worse you can build tests with hand-picked numbers at various intervals and curve-fit, that would kind of seem like hidden math to someone outside the box. It's a wildly broad question and so only wildly broad generalizations can be discussed. Kind of like asking "in a painting like Van Gogh's, how did he decide how much yellow to use?" – Patrick Hughes Dec 23 '11 at 9:57

With a lot of iteration and playtesting.

I think this is what makes interesting the job of a Game designer. You can imagine balancing the game is a big part of what a game designer does once the coding has started.

I've always found Sirlin's articles very enlightening on the kind of work you have to do. He used to work at Capcom as a game designer. Here are a few you can check and are pretty good:

Balancing Multiplayer Games

Super Balance Articles II Turbo (How he balanced the remake of Street Fighter II)

Balancing Puzzle Fighter

He is algo very good at picking apart other games and figuring how they work. Check his site.

share|improve this answer

There are countless factors to consider. Question is too broad IMO :)

It's all relative too... dmg is only relative to hp, etc. Damage over time (eg damage per second) is likely a good place to start when evaluating a weapon's power. Divide an enemy's HP by the Damage to get the amount of time it would optimally take to kill it... and so on. I'm just talking flow-of-consciousness... I'll stop.

share|improve this answer

Well the first step is to define what "balanced" is. How long an encounter should be, how much "grinding" there is, how much health should a given NPC take away from the player, that kind of thing.

From there you can pick some equations that get you something close to what you want. From there's it's a matter of testing and iteration. Some things don't have a complete corollary to your predefined values (i.e., how long a stun is worth X amount of damage, that kind of thing) and you have to do testing to figure out what the ratio of things are.

Someone linked to a article in a similar question here that goes into this process a bit more:

share|improve this answer

This is answered but I thought I would comment on Diablo 3 balance, specifically, and how it was described by Jay Wilson and other designers. D3 works off of one large "monster spreadsheet." The rows are monsters and the columns are monster attributes weighted in %. So 100% would be considered average. Paraphrased/very simple view:

Monster   | Health  | Damage  |   Exp
Monster_A   100%       100%      100%
Monster_B   80%        50%       65%
Boss_A      200%       120%      300%

This way, they can tune different monsters along the same relative scale. Smaller monsters that appear in packs have lower individual health and damage, but other monsters that appear alone may have higher health and damage (relatively speaking). As others stated, there is tons and tons of play-testing an iteration involved to get both the weighted and base values in a good place against what the players are capable of doing.

Diablo games, in general, use a lot of different tables/weightings to make everything easily scalable.

share|improve this answer

It sounds odd but Rock, Paper, Scissors is a condensed version of what you’re talking about. I don’t need to explain the rules, but there is a clear balance between the different elements.

Similarly, as most games progress, there are elements of levelling-up as the player increases in skill. RPGs are most notable for this: you have a level which then applies a multiplier on your attack, defence, health etc.

You could try to design the interactions between the numbers beforehand, but it’s easier to adapt them by hand to suit the gameplay you want to achieve. If you want some kind of “method” then you could start by picking a realistic number and then, if that’s not right, halve or double it. If that number isn’t right either, choose a number halfway between and repeat. Eventually, you’ll reach a satisfactory point.

share|improve this answer

Your Answer


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.