@Aylinis
The OP said he was not going to repeat what he had previously said. He then linked to the two previous posts he made on this topic for reference to his methodology.
Perchance did you read those? I haven't in a while but do recall that there was reasoning and logic for his power rankings. If you haven't, please take the time and I think things will make more sense to you then.
I read the links he posted. They did not answer my questions.
Basically all it had was what his formula was and the values he had given to traits. How those were arrived at was not given.
Okay, I will give it one more try (since it apparently was hard to follow the first time).
The objective is to create a curve that in the best possible way describe all creature "performance". Out of this you/we can see how valuable each creature is and compare them to each other.
First approach:
We know the stats for each creature (Attack, Armor & Health). We also know which Traits they have. If we add this together it should represent the cost for the creature. Thus:
Attack + Armor + Health + Trait = Calculated Cost => which squared difference should be minimized towards the true Cost
In order to evaluate how much each term gives or represents a coefficient is used (this is what is calculated later on):
x1 * Attack + x2 * Health + x3 * Health + x4 * Trait = Calc cost
However, each term isn't strictly linear. Therefore the following apply to each component:
Attack:
Attack = max(Attack1 or Attack2) + 0,3 * min(Attack1 or Attack2)
Attack1 = #dice * attack type ^y1 * (attack1_trait +1) same for Attack2
attack1_trait = (attack_trait1 +...+ attack_trait_n) / max(all_attack_traits) same for Attack2
y1 is the first exponent I have used which determine the value between melee, range and AOE attacks. As you can see every set value one each creature is represented and multiplied. The importance of the attack type is also corrected. The +1 is to give creature without an attack_trait a coefficient which is not 0, since it is a multiplayer. As you can see the trait component is just one third of the overall attack part in the general equation.
Armor:
Armor is set to have a square root behavior. x2 * Armor^(1/2). This because the first point of armor is better than the second and so on. Armor is not a linear.
Health:
The most simple one. 1 health is half as good as 2 health, and 4 health is twice as good as 2 health. Health is strictly linear. x3 * Health.
Trait:
The generate traits have similar model as the ones for attacks, but without the +1 (no trait, no gain).
trait = (trait1 +...+ trait_n) / max(all_attack_traits) which gives an normalized function. To make the evaluation even better an exponent has be assigned even here. x4 * trait^y2
Summary:
The final equation will then look like:
x1 * Attack + x2 * Health + x3 * Healt + x4 * Trait^y2 = Calc cost
where
Attack = max(Attack1 or Attack2) + 0,3 * min(Attack1 or Attack2)
Attack1 = #dice * attack type ^y1 * (attack1_trait +1) same for Attack2
attack1_trait = (attack_trait1 +...+ attack_trait_n) / max(all_attack_traits) same for Attack2
and
trait = (trait1 +...+ trait_n) / max(all_attack_traits)
Now we have a equation purely based on the behavior of all input data each creature have. This without guessing anything or to make assumptions regarding any values/traits. The only thing to do now is to calculate the parameters: x1, y1, x2, x3, x4 and y2 to make the best fit possible.
Calculation:
To find these best values of the parameters. I have used the common: "least square method":
(Calc_Cost(x1, y1, x2, x3, x4, y2)_n - True_cost_n)^2 => 0. For all n.
This will give the best curve fit.
I used a Mote Carlo sampling to generate starting points and to track the directions of the values for the parameters.
Up until here is what I have done prior to this post / version.
In the first version of this calculation I had set trait values. As I wrote in the first post I have now done a similar calculation as the one described above, but now for traits instead. Basically I have used the calculated parameters out from what I just described as fixed values and instead tracked the trait values. By doing these two calculations back and forth a few times the optimum curve (both for traits and other inputs) could be achieved.
I hope this gives you a better understanding of what is done. If it doesn't I think you have to read some book about math first and I will gladly discuss further with you.