1
\$\begingroup\$

I am modifying an RTS game (Rise of Nations) and want to make a unit twice as good and expensive as it's previous version so the balance is unaffected.

When I try to do it, I assumed that if I doubled the attack and health it would live twice as long and deal twice as much damage per second giving a total of four times as much damage so instead went for 1.4 times of each.

When I tested this however the modified version could defeat two of the original with little trouble.

I assumed after the first original is killed the damage would be halved. How can I calculate this correctly?

\$\endgroup\$
  • 2
    \$\begingroup\$ In order to write a good answer we would need to know more about the game mechanics. You can't expect everyone here to be familiar with that particular game, so it might be a good idea to write a bit more about it. Are the mechanics of "attack" and "health" as trivial as they sound, or is there more to it which matters (like some kind of defense or resistance)? Do the combatants attack simultaneously or do they take turns (and who gets to attack first)? Does the unit fight both enemies at once or one after the other? \$\endgroup\$ – Philipp Oct 9 '17 at 15:00
  • \$\begingroup\$ Or, as an amusing way to try and fix the group fighting issue: double unit health, and double attack when above half health. The unit would also need to take double AoE damage (and there may be other complications unbalancing it further, like not being able to split up or block paths as effectively) \$\endgroup\$ – phflack Dec 23 '17 at 22:07
6
\$\begingroup\$

Any unit against a certain type of unit with a particular DPS will have a specific TTK, or Time To Kill. You should balance your unit around that TTK, which is calculated as T = H / D, where T is the defending unit's TTK, H is the defending unit's health, and D is your attacker's DPS.

If you want this new unit to die at the same time as the other two, you must keep in mind that your new unit is "fighting itself", but split in two, which means that one of the attackers will die before the twice as good defender dies (because it has more health), and the attacker's DPS will drop in half after this point. This means that, assuming they deal the same DPS, the defender must receive two thirds of its HP in damage before one of the attacker dies, since then the other unit will be able to leash out the remaining third in the the attacker's TTK. This means the defender's TTK must be three times as good as its opponents', or assuming equal attacks, it must have three times as much HP.

But you want this unit's attack to be better than the original unit's attack as well, so we can't assume three clear, equivalent segments. Instead, we have two segments of different sizes. In the time it takes the new unit to kill one of the originals, the remaining attacker and the damaged defender must have the same TTK, or (HX - Z) / D = H / DY, where you may consider the constraint that X == Y, and Z is how much damage he needs to receive during the first segment in which it received damage from both attackers. You now know you need to balance your TTK around this. You also know your attacker's TTK should be equal to the "TTK" (more like Time To Weaken) of the first segment of the life of your defender. The TTK is the same now, but the attacker's DPS is doubled, so Z / 2D = H / DY. So, for X == Y, the equation is Z / 2D = (HX - Z) / D = H / DX. Since there are only two unknown values, namely Z and X, this equation can be easily solved. If we consider X != Y, then we would have to solve it on lambda, which means there would be more than one possible solution to thep roblem at hand, which means you could technically make the game faster or slower by increasing the DPS and decreasing its HP or the opposite, respectively.

| improve this answer | |
\$\endgroup\$
3
\$\begingroup\$

I am modifying an RTS game (Rise of Nations) and want to make a unit twice as good and expensive as it's previous version so the balance is unaffected.

Without context, this goal is meaningless.

In RTS games, typically you do not have units fight each other one-on-one; instead they fight in groups, and group dynamics tend to dominate.

For example; suppose you have two identical units fighting each other. On average, the outcome is a draw; they either kill each other off simultaneously, or one barely survives because they happened to get the first shot off.

A vs. B -> draw

What if we double one side, so that it's 1 vs. 2? Do we expect that the two sides lose one unit each, leaving the side with 2 units remaining with 1 unit?

A vs. 2B -> B?

No! Because while the single "A" unit is attacking a "B" unit, those two "B" units are simultaneously attacking the "A" unit. The "A" unit loses health at twice the rate, and so we're left with one "B" unit at half health, and the other at full health.

A vs. 2B -> 1.5B

That is, by doubling the number of units, we've made one side 4 times as powerful.

The key here is that all the units are fighting simultaneously, which is common when you have ranged units. For melee units it's different, as you often have large groups of units waiting at the back and not engaged. The way this affects relative strengths is described in Lanchester's Laws. You could, given a ratio of engaged units, estimate how an increase in unit strength affects the group outcome, using these formulae.

But RTS games are usually much more complex than this. A lot of factors affect combat, such as range, attack speed, movement speed, area-of-effect attacks, support powers like healing, and buffs/debuffs. Instead, you should focus on testing and simulations.

| improve this answer | |
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.