Announcements

Over Labor Day Weekend, our repository server gained sentience and walked away.

It's back and said it just went for a walkabout and didn't mean to cause any distress. What is interesting though, is it will neither confirm nor deny the existence of these "motorheads" we've heard about.

Thank you all for your concern, and batteries.

The motherboard manufacturer sent a replacement part and we have put the repository server back together. We are back up and running and will now continue our regularly scheduled programming. (please pardon the pun)

So, any discussion about the mathematics of powers?

4 posts / 0 new
Last post
Itanthias
Itanthias's picture
Offline
Last seen: 3 years 10 months ago
kickstarter
Joined: 10/08/2013 - 11:21
So, any discussion about the mathematics of powers?

Hey Everyone!

How much thought has gone into the actual mathematics of power design, or combat design in general?

When working on my own game (pen and paper RPG), I wanted to make a system where a player can assign points to make a character and its abilities and powers, and any distribution of points creates an equally effective character. Therefore, power design would be trivial and minimal testing would be required. I realized that my investigations could apply to COT.

In COT boost slotting is essentially equal to point assignment. Lets say a character has, for example 5 boost slots (5 points) to assign. Let me demonstrate the first discovery I made, which is linear boosts are not balanced in a game where powers have a chance to miss, but boosts based on an exponential function are balanced.

Assume the character has 1 power, and this power does 100 damage at 25% accuracy and can be used every second. So this power does 25 DPS.
And assume the character puts all boost slots into this power.
The goal is to make any choice of boost (Damage, Accuracy, Recharge, etc) equally effective.
Therefore, if a damage boost increases power damage by 20%, so multiplies it by 1.2, then damage of the power is now 120. DPS is now 30 DPS.
So a recharge boost needs to decrease recharge by 20%, so recharge time is divided by 1.2. Recharge is now 0.833 seconds. DPS is now 30 DPS.
So an accuracy boost needs to increase accuracy by 20%, so accuracy is multiplied by 1.2. Accuracy would then be 30%. DPS is now 30 DPS.
If we assume linearity, then 2 damage boosts multiply damage by 1.4, 2 recharge boosts divide recharge by 1.4, and 2 accuracy boosts multiply accuracy by 1.4. This all leads to 35 DPS. Everything seems fine.

But now assume the power has 1 damage boost and 1 recharge boost. The power now does 120 damage at 30% accuracy and can be used every second. It now does 36 DPS, which is greater than 35 DPS. This only gets worse as the boost percentages increase.
12 damage boosts = 85 DPS.
6 damage boosts + 6 accuracy boosts = 121 DPS.
4 damage + 4 accuracy + 4 recharge = 145.8 DPS.
This system of linear boosts is inherently unbalanced. Mixing boost types is inherently better than specializing in 1 type. Therefore, designing content and determining the difficulty level to use is impossible because you do not know if a player specialized or mixed. And teaming is a nightmare where mixed players obviously perform better than specialized characters. When players learn that mixing is better, that is what they will do, which decreases the diversity and fun of the game.

Mathematically:
(100+20*d)*(.25+.05*a)*(1+0.2*r) = DPS
25+5*a+5*d+5*r+1*d*a+1*d*r+1*a*r+0.2*d*a*r = DPS
Those last, non-linear terms, emerge from a linear boost system, and they cause the imbalance.

There are a few solutions to the problem.
One solution is to keep the boost sizes small. However, when players can only make a small change to their powers they could be bored or disappointed.

My solution is to use a exponential function boost system. Where each boost adds a multiplier to the power.
So for example (boosted damage) = (base damage)*(1.2)^n where n is the number of damage boosts.

So for 12 damage boosts, 100*1.2^12 = 891.6 damage. This does 891.6*0.25 = 222.9 DPS
6 damage boosts + 6 accuracy boosts = 298 damage at 0.746 accuracy = 222.9 DPS
4 damage + 4 accuracy + 4 recharge = 207.4 damage at .518 accuracy every .482 seconds = 222.9 DPS

So mathematically, using the same numbers from above:
(100*1.2^d)*(.25*1.2^a)*(1*1.2^r) = DPS
25*1.2^(d+a+r) = DPS
So for a constant sum of boosts, DPS remains constant.
This system is balanced and designing content and powers becomes easier.
Now designing for a character with multiple powers, where a boost only affects 1 power, is a nightmare I'm still trying to figure out, but at least the exponential functions do not break under the 1 power case.

"Anger is a great force. If you control it, it can be transmuted into a power which can move the whole world" -- William Shenstone

Felix
Felix's picture
Offline
Last seen: 8 months 2 weeks ago
Developerkickstarter11th Anniversary Badge
Joined: 11/04/2013 - 20:45
I promise we are considering

I promise we are considering the mathematics behind power creation and improvement.

I have a background in complex mathematical systems with nonlinear effects.

Know thy users, for they are not you.
"Preliminary optimization is the root of all evil." -Knuth
Coding Lead
a.k.a. Mr Sigma, Mr. Stochastic, Balancing Act, The Oncoming Storm

Redlynne
Redlynne's picture
Offline
Last seen: 7 hours 21 min ago
kickstarter11th Anniversary Badge
Joined: 10/28/2013 - 21:15
I just kibitz from the

I just kibitz from the sidelines, occasionally.


Verbogeny is one of many pleasurettes afforded a creatific thinkerizer.
cybermitheral
cybermitheral's picture
Offline
Last seen: 1 hour 58 min ago
kickstarter11th Anniversary Badge
Joined: 08/21/2013 - 20:54
1+1 = WINDOW Can I help?

1+1 = WINDOW

Can I help?

The Phoenix Rising Initiative Rules Lawyer