Announcements

Join the ongoing conversation on Discord: https://discord.gg/w6Tpkp2

Please read the current update for instructions on downloading the latest update. Players with Mac versions of the game will not be affected, but you will have a slightly longer wait for your version of the new maps. Please make a copy of your character folder before running the new update, just to make sure you don't lose any of your custom work.

It looks like we can give everyone a list of minimum specs for running City of Titans. Please keep in mind that this is 'for now' until we are able to add more graphics and other system refinements. Currently you will need :
Windows 10 or later required; no Intel integrated graphics like UHD, must have AMD or NVIDIA card or discrete chipset with 4Gb or more of VRAM
At least 16GB of main DRAM.
These stats may change as we continue to test.

To purchase your copy of the City of Titans Launcher, visit our store at https://store.missingworldsmedia.com/ A purchase of $50 or more will give you a link to download the Launcher for Windows or Mac based machines.

So, any discussion about the mathematics of powers?

4 posts / 0 new
Last post
Itanthias
Itanthias's picture
Offline
Last seen: 9 years 4 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: 5 years 4 months 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: 1 day 7 hours 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: 8 months 5 days 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