Loading...
  OR  Zero-K Name:    Password:   

How to guage a units strength

29 posts, 2007 views
Post comment
Filter:    Player:  
Page of 2 (29 records)
sort
10 years ago
I often like to use numbers to asses what units i will use (or not)

here are some equations i made up :P
(these are not the word of godde so they are wrong, they are not models, they just help you understand a unit)

HP/cost = units "healthiness"
HP/sqrt(cost) = units survivability (ie how likely is it to not die on you)

cost vs sqrt(cost): sqrt(cost) is more predictive of the combat potential of units, 5hp/m on a 50m unit is only 250hp, while on a 500m unit it is 2500(giving it much higher survivability) the sqrt(cost) takes this into account, the same is true for most other stats.

dps*range = damage area (how good it is in a straight up battle)
damage*range = skirm potentia (how good is it at shooting at a target once and then running away)
sqrt(damage)*dps*range = alpha strike adjusted damage area (sqrt(damage) allows increased ratings for high alpha units while negating the bonus because such units will also tend to overkill anything they hit by a large value)

(speed/acceleration)*sqrt(turn rate)

approximate maneuverability (sqrt(turn rate) because even a 2 turn rate unit can maneuver, but massive values of turn rate don't have real effects on maneuverability) (deceleration is ignored, it is mostly meaningless in combat currently) (speed/acceleration

time to reach max speed, more relevant than speed*acceleration)

(HP*sqrt(damage)*dps*range)/sqrt(cost) = combat effectiveness for your money
(approximates what unit will do well in battle)

disclaimer : This gives a very rough guide to what is better than what, it is not the word of godde, or even an accurate model of the game. Combat effectiveness DOES NOT have the capacity to predict the outcome of 2 units fighting*. it is also not accurate when comparing units of vastly different classes, you won't get a good comparison if you try to use it with a penetrator and a glaive. (ill add more as other things i considered obvious enough not to mention are brought up)

*if you want to predict the outcome of 2 units fighting the calculation is quite simple:
unit A has more range
A range - B range
B speed - A speed = if negative value A wins
if positive its much more complex, although combat effectiveness is predictive of such scenarios it is not perfect, many other factors such as the nebulous "accuracy", hitbox size, maneuverability, tactics used and other factors make the results variable and hard to model
+0 / -0


10 years ago
You should write a master's thesis on this.

Like Godde does.
+0 / -0
10 years ago
I dont think Godde throws sqrt() into random points of equations and call it "analysis".
+4 / -1
my masters thesis is on the regeneration of beta cells unfortunately... i guess i can allways write another masters thesis :P

RUrankYogzototh

quote:
ctrl+f type "analysis" into dialogue box
(without " " because honestly i dont trust you to be capable of such simple tasks)

see results
read disclaimer
stfu

kind regards
Kyubey
+0 / -0

10 years ago
godde does master thesis on zk? what is his topic? just curious because i once played with the idea too, but didnt find a supporting prof ;)
+0 / -0
Oh, okay.

Anyway, i suggest the following as a way to measure unit's strength:

log2(HP*DPS/cost)*sqrt(range^(1-1/(1+movespeed)^2))*(1+(acceleration + movespeed)/(weight+hitbox size))^3/5


As you should clearly see it includes almost every meaningful unit stat, and combines them in a meaningful ways. HP and dps are offset by cost, but scale negatively as a base-2 logarithm.. Range is combined with movespeed to make the point of kiting behaviour, and scales in a manner different to the previous HP/DPS/cost combo. Finally, the maneuverability stats are used, with their own way to fairly weigh each parameter, and the whole part of the equation uses its own unique scaling factor of 3/5.

It also should be noted, that for the purpose of this equations, the distance (and speed and size) should be measured differently. Instead of just using elmos, the distance should be normalised with 1 LLT range used as the base.

So, for example, the range of LLT is 1, and if a unit can cover that distance in 1 second, its speed should be considered as 1. This renormalisation allows us to efficiently compare length- and speed-based stats with others.

disclaimer:
This gives a very rough guide to what is better than what, it is not the word of godde, or even an accurate model of the game. Combat effectiveness DOES NOT have the capacity to predict the outcome of 2 units fighting*. it is also not accurate when comparing units of vastly different classes, you won't get a good comparison if you try to use it with a penetrator and a glaive.
+1 / -0
:P RUrankYogzototh

quote:
*(1+(acceleration + movespeed)/(weight+hitbox radius))^3/5

i almost belived you were serious untill this

range^(1-1/movespeed) would make sense for units with >2 movespeed

*yog makes sense now
btw for those who didnt grasp it, the aim of this tread is to actualy make some way for threads that start with "this shit is OP" to demonstrate that it actualy is OP (other then beating godde with it)
+0 / -0
10 years ago
quote:
i almost belived you were serious untill this

Yeah, i have noticed that problem too. And once i did, i realised that the distance-based values had to be renormalised. I have edited my post with the revised equation.
+0 / -0


10 years ago
quote:
godde does master thesis on zk? what is his topic? just curious because i once played with the idea too, but didnt find a supporting prof ;)

He's using PA as his testbed.

Some kind of mathematical prediction of unit's utility in an RTS, can't remember proper title.

But yeah, pretty much it's "How to find OP units in a game like Godde does".

I fully assume that his supporting proof will be something like "and here we are going to confirm the model's predictions of this unit's OP status by lolwtfpwning the PA tourney with it".
+3 / -0
10 years ago
i imagine something like modstats would be a beter proof, but not nearly as awsome
+0 / -0


10 years ago
I have never seen a formula like this that wasn't terrible

where are goddes formula?
+0 / -0


10 years ago
Presumably you won't see it for quite a while.
+0 / -0
I am writing my bachelor thesis about this yes. ^_^
It is based on Planetary Annihilation though but values are pretty similar to Zero-K.

A very simple and straight forward to measure the combat efficiency when both units are in range of each other is DPS*HP. Lets call this value 'Power'.

1 Heavy unit vs 1 Light unit can be modelled as: HeavyUnitPower - LightUnitPower.

1 Heavy unit vs many Light units can be modelled as: HeavyUnitPower - (LightUnitPower * n1 + LightUnitPower * n2 + LightUnitPower * n3 + ...)
where n is the number of light units. Mm... I need to work on a more strict mathematical formula that also shows how many light units that survive when they win.

Many Heavy units vs many Light units is more difficult to analyse.
The best case scenario is that all the light units can focus down the heavy units one at a time although this rarely applies ingame. If the units can focus fire each other then the advantage of weight is almost completely negated and the engagement follows Lanchasters square law.

More on that here:
https://forums.uberent.com/threads/defining-mathematical-unit-balance-metrics.56287/page-2#post-869551

Overkill can easily be factored in. Just calculate how much % of the DPS that will actually be used.
If a weapon does 1000 damage each shot but the target only have 200 HP then only 20% of the DPS will be used. If a weapon does 500 damage and the target has 600 HP then only 60% of the DPS will be used.
So the Power in a specific match-up is DPS * OverkillFactor * Health.

To compare a units power for cost I use (DPS/cost)*(HP/cost) which we can call Strength per 1 metal.
The advantage of weight maxes out at 50%.
If a very light unit and a very heavy unit have the same Strength per 1 metal then the a lone heavy unit can kill twice the cost against light units even if all the light units are in range and focus fire on the heavy unit.

Then we also got splash damage, units blocking each and unit footprint size to further complicate it which I don't really know how to deal with except on a case to case basis.

Kiting is pretty easy to define. If unit A have longer range and the same speed or greater than Unit B it can kite the other unit forever potentially. However you can still calculate the losses that it would take for a faster but lower ranged unit to get in range of a slower and longer ranged unit.

Mm... manoeuvrability is complicated as its' usefulness depends on the battlefield in general. Are you trying to avoid enemy forces, get in range of the enemy or kite the enemy? It is very sensitive to the context in which the units are being used.
+4 / -0

10 years ago
declare fun to you be your job. well done :D
+1 / -0
10 years ago
EErankAdminAnarchid:"Presumably you won't see it for quite a while."
Actually I will probably put out a draft on the forums before I leave it for the final examination which isn't too far in the future.

+0 / -0


10 years ago
quote:
Actually I will probably put out a draft on the forums before I leave it for the final examination which isn't too far in the future.

Oh, i thought you wouldn't get to be allowed to do that. Nice!
+0 / -0
:P SErank[Er0]Godde "but wont be able to give it to us till its published" or is that only for biology, chemistry and applied physics/engineering (cause we are paranoid)

ah, math is classed as an idea and can't be under copyright.
+0 / -0


10 years ago
why did you choose PA over ZK for the paper, out of interest?
+0 / -0
EErankAdminAnarchid:"Oh, i thought you wouldn't get to be allowed to do that. Nice! "
Well I haven't asked yet but I want to.
Anyway like Kyubey said it isn't like I can copyright a way to do math(I hope it is still that way).

quote:
why did you choose PA over ZK for the paper, out of interest?
Zero-K already have a well established balancing design and the devs have mentioned some metrics that they consider when they introduce new units.
Planetary Annihilation developers haven't really stated very clear goals with their balance design so I were interesting in a way to quickly overview the balance of the units by using different metrics. I changed Yarmonds python script which he made to generate stats to from the unit files and put up my own unit database: http://people.dsv.su.se/~akbj7812/pa-db/

In a way, Zero-K balance is much harder to discern as the unit interactions are much more subtle and complex than in PA so analysing Zero-K is harder. Like there isn't really any widespread use of bullet dodging in PA for example.

Edit:Just asked my supervisor. I am cleared to share drafts when I feel like it.
+0 / -0

10 years ago
quote:
I am cleared to share drafts when I feel like it.


please broadcast a notification here ;)
+0 / -0
Page of 2 (29 records)