Dear Yang, you likely recall that late hour figuring some balancing out. I made some progress in fleshing some basic calculations out. Especially the second attempt should make thing clearer and more reliable.
Everyone is welcome to jump in to get a better grasp at the chokepoints. Testing out for more exact numbers needs simulations though.
This is the current state:
Basic monster mechanics and properties
Directly cumulative, multiplicative:
block/dodge chance if variable
watch out for attack and armor types:
more common attack types need to be weighted higher
find the average value of weighted types
armor that is not effective against most weapons has a lower weight,
comparable to lotto chance calculations
special to SURVIVABILITY, likely requires an additive fix value for basic attacks they can score on average:
archers getting less likely attacked, getting an extra factor
the bonus at this point will also directly translate into
the end calculation since offensive advantages can be derived from living longer due to scoring hits unpunished.
Directly cumulative, multiplicative:
attack speed +
average damage to different armor types, again taking into account how common these are
Basic per-minion combat value to this point:
(survivability factor+ archery bonus)* output factor
To make things easier during balancing, the goal should be to get the damage factor to an intuitive value, such as damage a second or damage per hit.
This will make the calculation of the archery value easier as well.
Another way can be getting the survivability factor to a point of “average survival time” or “average hits to be taken”.
The harder factors: Classes and their interactions
You need a table with effectivity from each class to another after you got the basic combat value straight.
Adding knights would be a general raise to survivability.
The amount of archers and knights increases the effectivity of adding a knight
The higher the amount of knights, the lower the bonus each knight adds.
example would be new knight: (knight combat value*(1+0.30.9^knights+0.31.05^fighters+0.31.3^archers+0.31.3*priests))+group value
Adding archers raises the output value.
More archers will not decrease their effectivity value.
In fact, since they can hit and run and focus fire, the power added through each archer rises exponentially.
Defensive units will increase archers effectivity.
Example would be: new archer adding value=archer combat value*(1*1.1^archers *1.05^fighters *1.3^knights *0.95^priests)+group value
Fighters will add a pretty static value, multiple fighters will increase the effectivity by a small amount
due to the likelyhood of them not getting directly attacked in masses and their aoe effectivity.
Fighters back up archers and knights.
new fighter: fighter combat value*(1+0.31.02^fighters+0.31.05^archers+0.31.05^knights+0.31.1*priests)+group value
Adding priests will add a value that stays the same per priest.
Priests do however scale better with monsters that make good use of health, meaning armored ones!
The added value would be something like:
new priest: priest combat value*((0.7archers+1.1fighters+1.3*knights)/3)+group value
Whole group calculations (likely much more accurate!)
//Calculating interactions from: archers-knights, archers-fighters, archers-priests
(archersCombinedPower *1.1^archers *1.3^knights *1.1^fighters *1.05^priests +
//Calculating interactions from: archers-knights, fighters-knights, priests-knights
knightsCombinedPower *1.3^archers *1.05^fighters *1.3^priests +
//Calculating interactions from: fighters-archers, fighters-knights, fighters-priests
fightersCombinedPower *1.02^fighters *1.1^archers *1.05^knights * 1.15^priests +
//Calculating interactions from: priests-archers, priests-knights, priests-fighters
priestsCombinedPower *1.05^archers *1.3^knights *1.15^fighters)