Suppose a player can construct a robot built from various parts and each part costs money. How would you balance the cost of a weapon against its capabilities? What about balancing weapons against other parts?

The base case seems pretty easy: imagine the player can only buy weapons and everything else on the robot is the same. A machine gun that fires 1 bullet per second costs \$100. A super machine gun that fires twice as fast could cost twice as much. But what about an ultra machine gun that has four times the range?

Now imagine the player can add other capabilities to the robot like better speed or armor. How do you relate the cost of a machine gun against the ability to move very quickly, or to be stealthed against radar?

I understand that there's a later stage of experimentation where costs and capabilities are adjusted, but where do you start from?

Here's a rough strategy I've used to balance similar systems in the past:

Decide on a base metric of balance value. A good first pass if you don't have a better idea is "damage done to others". So a power that only does 10 points of damage is worth 10 "balance points". Now, you need to compare armor to damage in usefuless, so see if you can come up with a good metric to convert it. For instance, let's say that the average robot does 10 damage per second and has a total of 100 hit points. So each robot can last an average of 10 seconds under direct fire. An ability that increases your survivability from 10 to 12 seconds is then worth 2 seconds of damage, or 20 "balance points". You then modify these balance points based on the cost it takes to execute, so for instance an ability that does 10 damage with a 5 second recharge can be worth 1/5 as much as an ability that does 10 damage with a 1 second recharge. You can create similar conversions for abilities such as movement (which increases damage given and reduces damage taken) and stealth (that can reduce damage taken) and make up some initial factors.

An important thing to remember is that all of these initial conversions WILL be thrown away eventually. It's very unlikely that 2 seconds of survivability is ACTUALLY worth 2 seconds worth of average damage, and your testing will show which of your base assumptions are incorrect. But, this gives you a system for creating initial values and one for evaluating the results that fall outside your expected balance.

• second paragraph is VERY important. Good answer, but maybe you could write some more about the iterations and what to look out for?
– K.L.
Dec 15, 2014 at 12:07

I'd set up a few automated test.

1. Two robots, exactly the same. The win/lose ration should be exactly 50/50. Then give the new item to one of them and see how much the ratio changes.
2. Two robots, one slightly better than the other to guarantee that it always wins, generally taking X seconds to win. Give the item to the better robot and see how much faster (if any) the average kill takes.
3. Same as 2, but giving the item to the weaker robot, see how much longer it lives and/or if it starts winning now.

You now know how much of an improvement an item is in various conditions (even matched opponent, better matched opponent, weaker opponent) and can price the item accordingly based on your intuition. These tests should be run many times (possibly overnight) and the results averaged together for best results.

• This is actually quite brilliant, cheers. +1 albeit the first line could be a comment on the accepted answer. Feb 24, 2012 at 0:55
• Sorry to say this, but this is not feasible for any meaningful amounts of gear. Balance is not only raw power of a single item. Some items may be combined to get superior results. An example: take a powerup boosts attack speed by 10%. On its own it may be as good as a +5 dmg item. But if you stack up 5 +dmg items and one +10% a.s. item, you will defeat 6 +5dmg item builds. Also balance is not only about raw power, but how the item can be played with or against. If you give one robot a +500% dmg item and another one +50% range and +50% speed and put them against each other(comment continues)
– K.L.
Dec 15, 2014 at 11:45
• in a "stand in front of eachother and beat over the robot head" scenario, the +500% dmg item wins, but then again in a real match a clever speed/range player could probably kite the enemy and get a flawless victory. Also, the items should be balanced not only for perfect players, but for players of all skill levels. Please refer to the exctra creditz cast: youtube.com/watch?v=EitZRLt2G3w
– K.L.
Dec 15, 2014 at 11:47
• It could be okay to get a fast first sketch of values on which to iterate via playtesting, but its so much work coding and running the tests, that I'd much rather do a "monetary equivalent design" as the first pass as Ben Zeiglers answer suggests.
– K.L.
Dec 15, 2014 at 12:05

Pick arbitrary figures and follow a tight test/iterate loop.

Sure you can do some initial math (like you suggested for pure damage based items), but at the end of the day the best thing you can do is put it in front of people constantly and tweak them after the fact.

• Even with tight test/iterate loop, no value whatsoever should just be pick arbitrarily. That is just bad design IMO
– paan
Jul 22, 2010 at 8:54

For very obscure properties, like sprinting or limited stealth, you may have to try random numbers or rough guesses that you tweak.

I'd highly recommend setting up a way to repeat tests with robots of various configurations under AI control. Run numerous trials with a configuration to find out how powerful it compares to some baseline robot, and then you can improve the baseline along established upgrade paths (higher damage, higher fire rate) until the match becomes more even. That helps you figure out the equivalence of stranger abilities that are harder to quantify.

A similar trial set-up with a human player going up against AI could be helpful, by repeating with increasingly improved AI robots. The performance curve will shed some light on the impact of a given upgrade.