[interface/engine] Advanced damage inflicted/taken hit count statistics
Moderator: Forum Moderators
Forum rules
Before posting a new idea, you must read the following:
Before posting a new idea, you must read the following:
Re: [interface/engine] Advanced damage inflicted/taken hit count statistics
That is one case. I remember one game in which I played with the Rebels against the Drakes. In that game, I attacked one Clasher with an archer, which hit all 4 times the drake on 30% defense. Then a Shaman only needed to finish it by one hit, and the Shaman had 90+ chances to kill, but he missed. In that case I considered myself very unlucky.sergey wrote: ↑June 11th, 2019, 7:27 pmI would say that I got RNG results below expectations. I will still consider myself lucky if all five misses were unimportant (like saurian throwing a spear at a skeleton during a day) and the hit was important (like the last chance of killing a high level unit, which in turn levels up my nearly dead unit). As I said earlier, I don't think it is possible to measure importance of a hit in a general case.
Re: [interface/engine] Advanced damage inflicted/taken hit count statistics
To everyone who asked what the percentages mean:
The way to think of the percentages is as quantiles. For example, in this screenshot:
The player's outcome is at the 20% quantile. There was 20% that there would be fewer hits and 80% that there would be more hits.
The way to think of the percentages is as quantiles. For example, in this screenshot:
The player's outcome is at the 20% quantile. There was 20% that there would be fewer hits and 80% that there would be more hits.
I was simplifying. There are separate statistics for inflicted/taken and for each side. What I was saying is that for each side, inflicted is colored using green-to-red and taken using red-to-green.Mawmoocn wrote: ↑June 11th, 2019, 7:13 pm We can’t actually compare your luck against your enemy. As your luck is independent from their luck. Skill can’t be realised with these stats alone.
Hypothetically if we do want to compare it, we need to get an average hit percentage for the enemy and compare it to the player’s average. Colors would be coloured based on who was the highest percentage of hitting. It could pose some problems if the enemy never gets lucky .
The actual number of hits is (pretty much by definition) close to the expected number of hits, but in all suggestions, the whole point of the coloring is to give a sense of the relation between the actual and expected numbers of hits, to give a sense of what effect the RNG had - the same reasons for having the damage table.
I agree that it's not possible to measure statistics of "important hits only", but at this point, since #4070 has been merged, I'm interested in what changes should be made before the next release to the statistics dialog. I created https://github.com/wesnoth/wesnoth/issues/4113 to keep track of all the suggestions.sergey wrote: ↑June 11th, 2019, 7:27 pm I would say that I got RNG results below expectations. I will still consider myself lucky if all five misses were unimportant (like saurian throwing a spear at a skeleton during a day) and the hit was important (like the last chance of killing a high level unit, which in turn levels up my nearly dead unit). As I said earlier, I don't think it is possible to measure importance of a hit in a general case.
Re: [interface/engine] Advanced damage inflicted/taken hit count statistics
@josteph
I thought it was comparing enemy to your luck, my mistake then .
If you consider killing a unit important, that can be defined.
If leveling a unit is important, that could probably be defined.
If missing a killing hit is important, that could probably be defined.
If we need identities of units from things mentioned above, that could probably be defined.
If you want to see the general map outcome of battles, that’s another separate issue...
Though you’ll face certain issues, like what’s the important thing to measure and features needed to detect things.
For group attacks, it needs to detect concentration of attacks on a single unit, before it could detect the "weight" of importance. I assume you need unique unit "id", that would allow you to see if within the turn, there’re other matching units that fought this unit.
If you can suggest what are the important things, I’ll try to help elaborate your idea.
I thought it was comparing enemy to your luck, my mistake then .
It’s possible, but that’s a new idea and needs other supporting mechanisms to detect things.
If you consider killing a unit important, that can be defined.
If leveling a unit is important, that could probably be defined.
If missing a killing hit is important, that could probably be defined.
If we need identities of units from things mentioned above, that could probably be defined.
If you want to see the general map outcome of battles, that’s another separate issue...
Though you’ll face certain issues, like what’s the important thing to measure and features needed to detect things.
For group attacks, it needs to detect concentration of attacks on a single unit, before it could detect the "weight" of importance. I assume you need unique unit "id", that would allow you to see if within the turn, there’re other matching units that fought this unit.
If you can suggest what are the important things, I’ll try to help elaborate your idea.
Re: [interface/engine] Advanced damage inflicted/taken hit count statistics
If damage doesn't tell you that, how the hits tells that?
The question for all the examples - How the mechanism will understand importance of each of the attacks?Mawmoocn wrote: ↑June 11th, 2019, 8:13 pmIt’s possible, but that’s a new idea and needs other supporting mechanisms to detect things.
If you consider killing a unit important, that can be defined.
If leveling a unit is important, that could probably be defined.
If missing a killing hit is important, that could probably be defined.
Example 1.
Player P1 ended his turn. There is only one hex where P2 can move her units to attack the P1's leader. P2 starts her turn. She attacks the enemy leader with a walking corpse, the walking corpse is dead. P2 has many walking corpses, so eventually she is lucky to kill the enemy leader.
Example 2.
Enemy unit is about to level up. You are attacking the unit with goblin spearmans to not give him XP.
Example 3.
Player must kill unit U1 with the exact unit U2 (the first scenario of "A New Order").
Example 4.
Your plan is to weaken the enemy unit U1 with your unit U2, but kill him with unit U3.
Example 5.
You have a shaman and it is essential to slow particular enemy unit.
Example 6.
You have a shaman. It is not desirable for her to attack any enemy unit in her reach.
Example 7.
You have a healer and it heals several of your units. Enemy attacks the healer.
Example 8.
You have a healer and it heals only one unit. Enemy attacks the healer.
Example 9.
You have a healer. It is covered by guardians. Enemy attacks the guardians in order to break through and kill the healer.
Example 10.
You have a healer. It is covered by guardians. Enemy attacks the guardians in order to break through and kill the healer. You are happy, because it is a trap.
Example 11.
If your unit U1 dies this turn, then it could not enable backstab ability of your unit U2 on the next turn.
Example 12.
If your unit U1 dies this turn, then it could not enable backstab ability of your unit U2 on the next turn. But it doesn't matter since you must retreat.
Example 13.
Your bat died and can't show you the enemy under the fog.
Example 14.
Your bat died. You can still see all of your enemies.
Example 15.
Your bat died and can't show you the enemy under the fog. That doesn't matter, let's say you are pretty sure there is no enemies at all. Which you calculated based on the starting gold, villages on the map and number of killed enemies.
Example 16.
Your Dwarvish Steelclad died. However, he severely damaged a lvl 2 enemy. And now you can level up another your unit by killing that damaged enemy.
Example 17.
I am player A. Particular attack is essential for my plan. Mainly because I don't have any other good plans.
Example 18.
Exactly the same battle situation as in example 17. But I am player B, and that particular attack is not very important for me.
I am tired
Author of SP scenario Dragon Fight and SP campaign Captured by a Nightmare.
Created The Rise of Wesnoth (alternative mechanics) version of the mainline campaign.
Created The Rise of Wesnoth (alternative mechanics) version of the mainline campaign.
Re: [interface/engine] Advanced damage inflicted/taken hit count statistics
I've changed the two percents back to one, so it looks like this (Option A):josteph wrote: ↑June 11th, 2019, 7:51 pm at this point, since #4070 has been merged, I'm interested in what changes should be made before the next release to the statistics dialog. I created https://github.com/wesnoth/wesnoth/issues/4113 to keep track of all the suggestions.
I can also make it look like this (Option B):
Or this (Option C):
Re: [interface/engine] Advanced damage inflicted/taken hit count statistics
It shows probability of hitting less than actual number of hits?
Author of SP scenario Dragon Fight and SP campaign Captured by a Nightmare.
Created The Rise of Wesnoth (alternative mechanics) version of the mainline campaign.
Created The Rise of Wesnoth (alternative mechanics) version of the mainline campaign.
Re: [interface/engine] Advanced damage inflicted/taken hit count statistics
The value 78.9 is the median between "probability of hitting less than actual" and "probability of hitting more than actual". Practically speaking it's equal to the probability of hitting less than actual when the number of hits is large enough. It is a percentage under the hood but in the UI it's just shown as a number between 0 and 100 with no % symbol.
Re: [interface/engine] Advanced damage inflicted/taken hit count statistics
What does the median between two probabilities mean? I though that median applies to a set of values.
Author of SP scenario Dragon Fight and SP campaign Captured by a Nightmare.
Created The Rise of Wesnoth (alternative mechanics) version of the mainline campaign.
Created The Rise of Wesnoth (alternative mechanics) version of the mainline campaign.
Re: [interface/engine] Advanced damage inflicted/taken hit count statistics
Forget that I said median. The value there is calculated as
(probability_lt + (1.0 - probability_gt)) / 2.0
, where probability_lt and probability_gt are the probabilities of hitting less than / more than the actual number of hits.Re: [interface/engine] Advanced damage inflicted/taken hit count statistics
I see. And what about the tooltip / header of that column?
Author of SP scenario Dragon Fight and SP campaign Captured by a Nightmare.
Created The Rise of Wesnoth (alternative mechanics) version of the mainline campaign.
Created The Rise of Wesnoth (alternative mechanics) version of the mainline campaign.
Re: [interface/engine] Advanced damage inflicted/taken hit count statistics
There will be a tooltip, of course, but let's divide and conquer. We should first decide what the interface shall be, and only then write documentation for it.
Re: [interface/engine] Advanced damage inflicted/taken hit count statistics
I am asking because I am not sure if that it is possible to provide a simple and clear documentation for that value. Taking into account that we are talking about a video game, not a mathematical dissertation.
Author of SP scenario Dragon Fight and SP campaign Captured by a Nightmare.
Created The Rise of Wesnoth (alternative mechanics) version of the mainline campaign.
Created The Rise of Wesnoth (alternative mechanics) version of the mainline campaign.
Re: [interface/engine] Advanced damage inflicted/taken hit count statistics
I apologise for taking a long time, I hope you understand.
You won’t see the stats recorded by the game without digging inside replays and understanding how it works....
I’ve decided to divide hits and actions, due to complexity of hits having more variables required to be part of the equation, that it probably doesn’t work with hits alone. I’ve labeled hits with added parameters to action count and more complex situations to conditional action/hits.
I guess actions and conditional action/hits are a quite complex to implement.
Direct suggestions based on your examples
I found some several problems to the initial idea, and I think it probably needs time to discover most issues that may cause further problems. They’re probably incomplete but I’ll list the main factors.
The main factors that will create hypothetical problems, are as follows:
Creating a design on showing this information can introduce unexpected challenges and may need further clarification, or another brand new idea.
Please suggest anything you think that may solve some of these issues.
The following spoiler will contain heavy information. These extrapolations is based on sergey’s main(???) idea.
Explanation of the idea
Consequence/Potential Challenges
Final thoughts
It could probably measure precise or situational importance with accordance to luck.
A new thread might be required, if you wish to pursue this idea.
Didn’t think it’ll be this long........ and probably missed some few points.
I welcome questions related to this post. I’ll try to answer when I have time.
Unfortunately they both have the same problem. All statistics does show is a summary of the whole battle data located in replay files.
You won’t see the stats recorded by the game without digging inside replays and understanding how it works....
That depends if it’s possible to explain within the current model and parameters that we consider important. It needs to be specific to be able to measure it. Actually I think very specific actions are .... another problem.
I’ve decided to divide hits and actions, due to complexity of hits having more variables required to be part of the equation, that it probably doesn’t work with hits alone. I’ve labeled hits with added parameters to action count and more complex situations to conditional action/hits.
I guess actions and conditional action/hits are a quite complex to implement.
Direct suggestions based on your examples
Spoiler:
I found some several problems to the initial idea, and I think it probably needs time to discover most issues that may cause further problems. They’re probably incomplete but I’ll list the main factors.
The main factors that will create hypothetical problems, are as follows:
- Important hits can’t be evaluated without context of situation and other relative information.
- There’re many points of references or categories to choose from, and most of them don’t apply to the category of "hits made". Some categories don’t use "hits/strike" as the sole factor for the final result of information.
The use of parameters other than hits/strike, will be temporarily labeled as "actions".
This is to simplify and form a measurement that may summarise information.
Important hits and actions, will potentially have different interpretations and conditions. - Damage calculations consider active healing attacks such as Drain, as a negative number.
Any other parameters used in counting or calculating damage, may need deeper inspection due to UMC and mainline specific abilities. - Verbosity of results to include or exclude certain information, that may include the following; chance of death, chance to hit, damage to hit point ratio, damage to number of strikes ratio, special attacks(slow and etc...) of retaliation that may change the final result of combat, due to specific abilities(Drain, First Strike, Berserk, etc...) or other specific conditions(Triggered Events/Others).
Creating a design on showing this information can introduce unexpected challenges and may need further clarification, or another brand new idea.
Please suggest anything you think that may solve some of these issues.
The following spoiler will contain heavy information. These extrapolations is based on sergey’s main(???) idea.
Visual example of the idea
Spoiler:
Spoiler:
Consequence/Potential Challenges
Spoiler:
Final thoughts
It could probably measure precise or situational importance with accordance to luck.
A new thread might be required, if you wish to pursue this idea.
Didn’t think it’ll be this long........ and probably missed some few points.
I welcome questions related to this post. I’ll try to answer when I have time.
Re: [interface/engine] Advanced damage inflicted/taken hit count statistics
@Mawmoocn If you want to do statistics of "interesting" strikes only (i.e., not tallying all strikes but only some of them, according to some criterion), I think you might find that they're only meaningful if you do them on an entire campaign, in the "All Scenarios" view. A single SP scenario or MP match might not have enough strikes with charge/leadership/etc to do statistics on. For example, halfway through Eastern Invasion (I'm in the middle of the ninth scenario), I have 632 hits, 165 kills, 22 losses. That's enough to do statistics of "strikes that would kill an enemy unit" over the entire campaign, but 20 kills per scenario on average might be too few to attempt the same analysis on individual scenarios.
Re: [interface/engine] Advanced damage inflicted/taken hit count statistics
@josteph It depends if a stat affects the game early, e.g. adding unnecessary risk for units that will immediately conclude the game.
I saw what you mean but I didn’t elaborate due to the premature stage of the idea and it needs a new thread.
Back on topic
I prefer option B but I like option C of placing things.
Option B is nice because you can see the excess of how much you did well. Though I guess it may confuse others as it uses addition to show the results you made.
Option C has percentages that can summarize what your excess percentage is and sort the real numbers inside parentheses.
Can we merge them by using calculation of option B and using positions with additional percentage of option C?
I saw what you mean but I didn’t elaborate due to the premature stage of the idea and it needs a new thread.
Back on topic
I prefer option B but I like option C of placing things.
Option B is nice because you can see the excess of how much you did well. Though I guess it may confuse others as it uses addition to show the results you made.
Option C has percentages that can summarize what your excess percentage is and sort the real numbers inside parentheses.
Can we merge them by using calculation of option B and using positions with additional percentage of option C?