Topic: Reducing soldier strength parameter space (for easier comparison).
dreieck Topic Opener |
Posted at: 2018-09-14, 15:26
Reducing soldier strength parameter space (for easier comparison).Let's define the strength parameters of a soldier in the following way:
Effective health.First, it is clear that effectively
leaving with three parameters describing a soldier:
Statistical effective health.Viewing it statistically, i.e. averaged over many fights, evade has the same effect as defense, so
In a statistical view, only two parameters are needed to describe a soldier:
Normalisation.When two soldiers, called Let's call
Similar things can be done incorporating the effective ealth and statistical effective health defined above, defining an effective normalised average attack
and a statistical effective normalised average attack
It looks a bit cumbersome, but the comparison of two soldiers is now reduced to one parameter ( (Of course, one could also do normalisation by setting a normalised attack to 1 and scale the health points accordingly) TODO: Full statistical elaboration.Interesting TODO: Do a full statistical elaboration taking into account the real distribution of Edited: 2018-09-14, 15:32
(empty signature.) Top Quote |
WorldSavior |
Posted at: 2018-09-14, 15:44
I disagree. There is no equivalence between any of the soldier attributes:
Wanted to save the world, then I got widetracked Top Quote |
king_of_nowhere |
Posted at: 2018-09-14, 15:46
Do not forget that hits are discrete. Increasing healt does not increase chances of victory as long as it still takes the same number of hits to kill, but when enough healt is gained that the soldier can survive one more hit, then the chances go up by a large amount. So if you want a general number to indicate soldier strenght, you can just multiply attack and statistical effective healt, but if you want to compare two soldiers, you need to figure out how many hits they take to kill each other. Specifically, how many attack each of them need statistically to kill the other Edited: 2018-09-14, 15:46
Top Quote |
dreieck Topic Opener |
Posted at: 2018-09-14, 16:08
I forgot to take into account the inter-fight-time, i.e. the healing when the soldier is back in it's building. I was jus thinking one-shot, or "much time between two attacks". Shame on me (-:. (empty signature.) Top Quote |
hessenfarmer |
Posted at: 2018-09-14, 18:17
I think that is not exactly what King_of_nowhere wanted to say. I understood that he pointed out that because of the discrete nature of each attack - defend cycle in a battle normalisation is more difficult. Top Quote |
Nordfriese |
Posted at: 2018-09-15, 12:41
Also, the attack strength varies from blow to blow in a certain interval. If your soldier has 2100 HP left and the enemy attacks with 1000-1100 strength points, it will take him 2 lucky or 3 unlucky hits to kill. Top Quote |
Arty |
Posted at: 2018-09-16, 14:51
Soldier A should be considered stronger overall, but by how much that depends on what you are really looking at: If you only look at a single fight between two soldiers at full health and only consider win chance, then Soldier A is significantly stronger. Soldier A loses if he always misses before he gets hit 10 times (i.e. 9 or 10 misses depending on who starts), otherwise he wins. So the chance of soldier A losing is 0.9^9 ~ 38.7% or 0.9^10 ~ 34.9%, depending who starts. Way below 50%, so soldier A seems stronger by a lot. It looks a little different though if soldier A has to fight multiple fights without healing, because then the health loss becomes a factor. Soldier A still has a high chance (over 60%) to win the first fight, but his further win chances go way down due to the health loss. If soldier A has to keep on soldiers B without any chance to heal inbetween, and assuming that each fight has a 50:50 chance who starts hitting (don't actually remember what the rules are for that in Widelands), then soldier A would on average kill one soldier B before he dies. (The math isn't that complicated but it's not done in two lines, so I am omitting it here, but I can provide it later if you want.) So in that sense soldier A and soldier B are equally strong. The advantage that soldier A seemed to have in a single fight scenario is gone completely when you account for health loss. This last view unsurprisingly fits with the general idea where your numbers likely came from. If you consider many fights, then on average each blow of soldier A removes the same amount of health as a blow of soldier B. The "only" real advantage that soldier A has over soldier B is that he can potentially heal. Realistically, healing opportunities arise in most scenarios, making that advantage significant, so overall soldier A should be considered stronger than soldier B. Not as much stronger as the single fight scenario suggests but somewhere inbetween. Edited: 2018-09-16, 14:52
Top Quote |
einstein13 |
Posted at: 2018-09-18, 09:47
@dreieck: I suggest you to look into some old topicks:
The topic you mentioned is old, but solutions are already available:
The second one needs some (math) proofs to be sure that it is working well. einstein13 |
dreieck Topic Opener |
Posted at: 2018-09-19, 19:15
Thanks. (empty signature.) Top Quote |
hessenfarmer |
Posted at: 2018-09-20, 07:46
I just ran the wl_soldiers with the current values of soldier strength in trunk and it showed a potential balancing problem even of the legacy tribes will report tonight when the run is finished. Top Quote |