[ Disclaimer, Create new user --- Wiki markup help, Install P99 ]
Difference between revisions of "User:Bcbrown"
(→Offense) |
|||
(11 intermediate revisions by one user not shown) | |||
Line 79: | Line 79: | ||
The results on a 60 druid look very similar to the 54 cleric. It looks like the player level has no impact on damage (other than presumably with Defense skill caps), and leather classes have no AC cap at up to at least 200 AC. | The results on a 60 druid look very similar to the 54 cleric. It looks like the player level has no impact on damage (other than presumably with Defense skill caps), and leather classes have no AC cap at up to at least 200 AC. | ||
− | The next experiment was on a 51 ranger. | + | The next experiment was on a 49 ranger with 137 worn ac and 35 spell AC, or 173 total. This was only 139 hits in total, because on the ranger I was actually killing Shiel, and I only wanted to confirm if the patterns already found would be similar on the ranger. Sure enough, it looked similar, with a big peak at the minimum hit and a small peak at the maximum hit. The other noteworthy observation for me was to see just how noisy a graph of only 139 hits looks compared to the others; given a range of graphs for trials from 139 to 1983 hits, I'd say you need at least 1000 hits for a high-quality result and at least 500 hits for it not to be so noisy as to be borderline unusable. '''Under 150 hits will be far too noisy to rely on any quantitative metrics'''; all you can really do is squint at a histogram and say "yeah, looks about right". |
+ | |||
+ | At this point I felt comfortable I had a good answer to the questions I had set out to answer. There is no AC cap at values tested up to 250 worn+spell. There is no difference between plate, chain, and leather armor classes. Level alone seems to make no difference if the toons have the same defense skill. There were also some surprising results: roughly 30% of hits will be at min or max value, and all AC really does is change the proportion between those two values. ''For at least this one mob'' there's no real benefit to more AC above the squelch point. | ||
+ | |||
+ | These results have some implications for leveling. Above a certain value more AC might not have much of an effect. HP gear might have more of an impact for survivability until the 30s or 40s. While within the window where AC has an impact, we can estimate the conversion rate between AC and HP with some highly speculative napkin math: | ||
+ | |||
+ | I just calculated the average hit for those two parses and got 45.9 and 50.8. So going from midpoint to fully squelched for this mob is about a 5-point-per-hit change, or about 6% or the max 82 hit value. Extrapolating out to something that max-hits for 300, that would be equivalent to a 18 point per hit swing. If we assume a 30 delay and two hits per interval, that's a 12 DPS swing, and if we assume 4 hits per interval, that's a 24 DPS swing. For a mob that has a max hit of 600 and quad hits on every swing that would be 50 dps. | ||
+ | |||
+ | Obviously that extrapolation is unfounded, but I wanted to get a sense of what the DPS impact of AC might be on an easier raid mob. If Shiel gets one hit per swing with a 30 delay that would be going from 15.3 DPS to 16.7 DPS. Would that be significant change in mana used healing in an xp group? Dunno. I was killing Shiel in about 2:30 on the ranger, so 150 seconds, which means a difference of about 240 damage over the whole fight. That's a difference of about 2.5 casts of Healing, or 150 mana. At 18 mana/tick for medding, that would take 49 seconds to recover. So going from midpoint to squelch point in AC in a typical solo fight against a low blue might save you between a half minute to a minute in recovery time. That seems significant. So ~50-60 ac mitigates about ~240 damage in a 2:30 fight. So if you're concerned with survivability in a solo fight and have AC in the unsquelched range, the conversion ratio for hp or ac gear is about 4-5 hp to one AC. That's approximately the conventional wisdom, isn't it? | ||
+ | |||
+ | After these intentional experiments, I calculated some damage distributions for a couple of mobs I killed repeatedly while leveling. The bashers were a mix of green and blue while the miners are all xp green. All just about completely squelched, but you can see a couple of the bashers (probably the blue ones) still get in a couple more max hits than the others. So this result seems to replicate across multiple mobs. | ||
+ | |||
+ | |||
+ | == Offense== | ||
+ | |||
+ | To first get a general sense of the mechanics on offense I started with some parses against Bloodmaw on my ranger. The main advantage of starting with Bloodmaw is that it's very easy to get a 10-20 minute parse on him so you can get abundant low-noise data. The huge disadvantage is that the level difference is so large that the results will be heavily skewed and some important factors may be completely washed out of the mix. It's a good target for generating hypotheses that can then be tested for validity with more level-appropriate mobs. | ||
+ | |||
+ | I ran 7-10 minute parses with all my weapons, both 2-hand and dual wielding. I wanted to confirm my understanding of how the listed delay value interacts with haste, calculate double attack and dual wield chances, and see what statistics might be useful to track in future parses. I first ran a series of parses at my unbuffed strength of 138, then ran a selected couple of parses at 175 strength to see what impact strength has. | ||
+ | |||
+ | [Rev whip 138 str ranger v bloodmaw] | ||
+ | |||
+ | To start with the basic statistics, I had an extremely high hit % as expected at around 90%. The effective delay calculation of delay ( 1 + haste%) is accurate, turning a 14 delay weapon into an 11.5 delay weapon, on par with the predicted 11.48% with a 22% haste item. To calculate the double attack percentage I counted the proportion of timestamps with one or two swings; this will likely be slightly inaccurate - there's three instances of a timestamp with three swings in a single second, for example, but gives a good rough estimate of 54%. We can also calculate the average hit value and DPS to compare across weapons. | ||
+ | |||
+ | By far the most interesting and unexpected result was shown in the graph. 38% of the hits were for exactly 2* damage + damage bonus, or 18. There's a smattering of hits above and below. For the rest of the parses I'll be tracking the proportion of hits at this modal value, above, and below. | ||
+ | |||
+ | [Fellspine 138 str ranger v bloodmaw] | ||
+ | |||
+ | The graph using Fellspine's Tail is very similar, with 39% at the modal value. Double attack is similar, at 52%, and the effective delay calculations pencil out as expected too. | ||
+ | |||
+ | [Jagged Blade 138 str v bloodmaw] | ||
+ | Jagged Blade of Mourning continues the similar results, as does the Woodsman's Staff | ||
+ | |||
+ | [Woody 138 str ranger v bloodmaw] | ||
+ | |||
+ | [Infestation 138 str ranger v bloodmaw] | ||
+ | Infestation with the offhand weapon for all three 1h slashing weapons. The motivation for doing this is by having one slashing and one piercing weapon it's easy to distinguish between them in the logs; if you have two slashing weapons you don't know for each hit which weapon it was. Keeping a common offhand across three mainhands also lets us gather three times more data for this one weapon than the others. Most of the statistics here are in line with the others, but we can also calculate the dual wield chance. | ||
+ | |||
+ | This calculation is slightly nuanced and I've seen it calculated incorrectly by some of the people on the forums before. You cannot simply divide the number of offhand swings by the number of mainhand swings to get the dual wield success rate. This is best demonstrated by a thought experiment where the offhand weapon has twice the delay of the mainhand weapon. With a 100% dual wield chance, this would give you 50 offhand swings after 100 mainhand swings, but 50/100 would incorrectly give you a 50% chance. The true way to calculate the dual wield success rate is to first calculate how many swings you'd expect at 100% by total fight duration divided by haste-adjusted delay; this is why I earlier confirmed that the haste-adjusted delay formula was accurate. Next you need to adjust the total number of observed swings by the double attack chance; I did this by counting the total number of distinct timestamps with an offhand swing to get the "actual number of attacks". Next, you divide the observed number of attacks by the expected number of attacks. This gives a 65% chance which is in line with expectations for a level 51 ranger as shown on the Dual Wield wiki page. | ||
+ | |||
+ | Next I did a couple parses maxing strength as much as I could through gear swaps and self buffs. I didn't expect any major discoveries, but strength clearly has an impact on offense and I wanted to get a sense of what sort of impact that might have. | ||
+ | |||
+ | [Fellspine 175 str ranger v bloodmaw] | ||
+ | [Infestation 175 str ranger v bloodmaw] | ||
+ | [Wood 175 str ranger v bloodmaw] | ||
+ | |||
+ | Hit % didn't change, but being already around 90% there wasn't much room for improvement. Max hit went up, as expected, as did the average hit. The more interesting result to me was that the proportion of hits below the modal value dropped, while the proportions at and above both rose. | ||
+ | |||
+ | Now we have enough data to begin to speculate at how offense works. On defense we saw that mobs have exactly 20 distinct hit values, and that changing worn AC will change the proportion of min and max hits with little other effect. We also already knew there was an offense-specific function that serves to "smear" damage values out across a wider range. The graphs all show a huge peak at 2 * damage + damage bonus with long tails above and below. This graph could be achieved if you start with a defense-style graph with an offensive rating far above the defensive rating (generating a peak at the max hit), followed by a smearing function that randomly converts multiplies some hits by a value up to 2.0. So that will be my working hypothesis moving forwards. |
Latest revision as of 00:50, 4 April 2025
Combat mechanics
This will where I record all my research into combat mechanics. I'm going to generally be looking at histograms, or the distribution of number of hits for each of the 20 different hit values. DPS or averate hit values may ultimately be all that we care about, but looking at the full distribution can provide a lot more detail. I'll be starting just about from scratch, working to confirm almost everything about combat no matter how obvious it may seem. I'll be drawing heavily from https://www.eqemulator.org/forums/showthread.php?t=40543, which has an immense amount of work on combat mechanics. Several times I've thought I've discovered something new just to find Torven has already documented how it works.
Defense
This research was initially posted in a thread on Ranger AC which seems to show that the common wisdom that AC "doesn't work on rangers" is incorrect or incomplete. I started weighing in around the 10th page with some parses and eventually decided they deserved to be recorded somewhere on the wiki for easier reference.
The first set of parses are against Shiel Glimmerspindle, a level 40 rogue in North Karana.
54 Cleric vs Shiel Glimmerspindle All worn AC numbers will include ~64 spell AC from Armor of Protection (15 AC), Shield of Words (31) , and Heroism (18-19).
[IMG: cleric_vs_shiel_106_ac]
- Total hits: 560
- Hit%:
- Average hit: 50.8
- Average hit excluding min/max value: 50.9
- Min hit %: 17.3%
- Max hit %: 17.5%
- Min+max proportion: 34.8%
[IMG: cleric_vs_shiel_132_ac]
- Total hits: 1150
- Hit%: 58.4%
- Average hit: 48.5
- Average hit excluding min/max value: 50.6
- Min hit %: 19.3%
- Max hit %: 12.7%
- Min+max proportion: 32.0%
[IMG: cleric_vs_shiel_163_ac]
- Total hits: 218
- Hit%:
- Average hit: 45.9
- Average hit excluding min/max value: 52
- Min hit %: 25.2
- Max hit %: 6.9%
- Min+max proportion: 32.1%
[IMG: cleric_vs_shiel_195_ac]
- Total hits: 1983
- Hit%: 55.6%
- Average hit: 42.4
- Average hit excluding min/max values: 49.53
- Min hit proportion: 26.78%
- Max hit proportion: 3.28%
- Min+max proportion: 30.06%
Discussion
The most obvious result is that there's peaks at the minimum and/or maximum hit values. The combined proportion of min/max hits is fairly stable at around 30%, as is the average hit discounting the min/max hits at about 50. The biggest outlier on that measure is at 163 worn AC at 52, but that trial was also the shortest at only 218 hits, so it seems reasonable to chalk that up to random noise in a relatively small sample. From this experiment it seems reasonable to conclude that the impact of more AC is to replace max-value hits with min-value hits, and that for this mob with this character there's little to no benefit to more AC after about 225 AC. I shall be calling this threshold value the "Squelch Point". The trial with the lowest total AC of 169 has similar frequencies for min and max hits, which I shall be calling the "Mid Point". So there's a range of roughly 50-55 AC between the midpoint and the squelch point, and if it's similar from the midpoint to the lower squelch point that would mean there's a range of roughly 100-110 AC where adding additional worn AC will provide a benefit.
The next experiment I ran was a series of trials on a 60 druid. This gave an opportunity to answer several questions. Cleric is a plate class while Druid is a leather class. Is there a difference in impact of worn AC between those two? Is there a cap on druid that's not there on cleric? And is there any impact of 6 levels between the two characters, given that both had the same maxed-out Defense skill of 200?
146 + 61
- Total hits: 366
- Hit%:
- Average hit: 45.75
- Average hit excluding min/max values: 49.15
- Min hit proportion: 20.49%
- Max hit proportion: 8.47%
- Min+max proportion: 28.96%
99 + 61
- Total hits: 365
- Hit%:
- Average hit: 51.78
- Average hit excluding min/max values: 50.48
- Min hit proportion: 16.16%
- Max hit proportion: 20.27%
- Min+max proportion: 36.44%
The results on a 60 druid look very similar to the 54 cleric. It looks like the player level has no impact on damage (other than presumably with Defense skill caps), and leather classes have no AC cap at up to at least 200 AC.
The next experiment was on a 49 ranger with 137 worn ac and 35 spell AC, or 173 total. This was only 139 hits in total, because on the ranger I was actually killing Shiel, and I only wanted to confirm if the patterns already found would be similar on the ranger. Sure enough, it looked similar, with a big peak at the minimum hit and a small peak at the maximum hit. The other noteworthy observation for me was to see just how noisy a graph of only 139 hits looks compared to the others; given a range of graphs for trials from 139 to 1983 hits, I'd say you need at least 1000 hits for a high-quality result and at least 500 hits for it not to be so noisy as to be borderline unusable. Under 150 hits will be far too noisy to rely on any quantitative metrics; all you can really do is squint at a histogram and say "yeah, looks about right".
At this point I felt comfortable I had a good answer to the questions I had set out to answer. There is no AC cap at values tested up to 250 worn+spell. There is no difference between plate, chain, and leather armor classes. Level alone seems to make no difference if the toons have the same defense skill. There were also some surprising results: roughly 30% of hits will be at min or max value, and all AC really does is change the proportion between those two values. For at least this one mob there's no real benefit to more AC above the squelch point.
These results have some implications for leveling. Above a certain value more AC might not have much of an effect. HP gear might have more of an impact for survivability until the 30s or 40s. While within the window where AC has an impact, we can estimate the conversion rate between AC and HP with some highly speculative napkin math:
I just calculated the average hit for those two parses and got 45.9 and 50.8. So going from midpoint to fully squelched for this mob is about a 5-point-per-hit change, or about 6% or the max 82 hit value. Extrapolating out to something that max-hits for 300, that would be equivalent to a 18 point per hit swing. If we assume a 30 delay and two hits per interval, that's a 12 DPS swing, and if we assume 4 hits per interval, that's a 24 DPS swing. For a mob that has a max hit of 600 and quad hits on every swing that would be 50 dps.
Obviously that extrapolation is unfounded, but I wanted to get a sense of what the DPS impact of AC might be on an easier raid mob. If Shiel gets one hit per swing with a 30 delay that would be going from 15.3 DPS to 16.7 DPS. Would that be significant change in mana used healing in an xp group? Dunno. I was killing Shiel in about 2:30 on the ranger, so 150 seconds, which means a difference of about 240 damage over the whole fight. That's a difference of about 2.5 casts of Healing, or 150 mana. At 18 mana/tick for medding, that would take 49 seconds to recover. So going from midpoint to squelch point in AC in a typical solo fight against a low blue might save you between a half minute to a minute in recovery time. That seems significant. So ~50-60 ac mitigates about ~240 damage in a 2:30 fight. So if you're concerned with survivability in a solo fight and have AC in the unsquelched range, the conversion ratio for hp or ac gear is about 4-5 hp to one AC. That's approximately the conventional wisdom, isn't it?
After these intentional experiments, I calculated some damage distributions for a couple of mobs I killed repeatedly while leveling. The bashers were a mix of green and blue while the miners are all xp green. All just about completely squelched, but you can see a couple of the bashers (probably the blue ones) still get in a couple more max hits than the others. So this result seems to replicate across multiple mobs.
Offense
To first get a general sense of the mechanics on offense I started with some parses against Bloodmaw on my ranger. The main advantage of starting with Bloodmaw is that it's very easy to get a 10-20 minute parse on him so you can get abundant low-noise data. The huge disadvantage is that the level difference is so large that the results will be heavily skewed and some important factors may be completely washed out of the mix. It's a good target for generating hypotheses that can then be tested for validity with more level-appropriate mobs.
I ran 7-10 minute parses with all my weapons, both 2-hand and dual wielding. I wanted to confirm my understanding of how the listed delay value interacts with haste, calculate double attack and dual wield chances, and see what statistics might be useful to track in future parses. I first ran a series of parses at my unbuffed strength of 138, then ran a selected couple of parses at 175 strength to see what impact strength has.
[Rev whip 138 str ranger v bloodmaw]
To start with the basic statistics, I had an extremely high hit % as expected at around 90%. The effective delay calculation of delay ( 1 + haste%) is accurate, turning a 14 delay weapon into an 11.5 delay weapon, on par with the predicted 11.48% with a 22% haste item. To calculate the double attack percentage I counted the proportion of timestamps with one or two swings; this will likely be slightly inaccurate - there's three instances of a timestamp with three swings in a single second, for example, but gives a good rough estimate of 54%. We can also calculate the average hit value and DPS to compare across weapons.
By far the most interesting and unexpected result was shown in the graph. 38% of the hits were for exactly 2* damage + damage bonus, or 18. There's a smattering of hits above and below. For the rest of the parses I'll be tracking the proportion of hits at this modal value, above, and below.
[Fellspine 138 str ranger v bloodmaw]
The graph using Fellspine's Tail is very similar, with 39% at the modal value. Double attack is similar, at 52%, and the effective delay calculations pencil out as expected too.
[Jagged Blade 138 str v bloodmaw] Jagged Blade of Mourning continues the similar results, as does the Woodsman's Staff
[Woody 138 str ranger v bloodmaw]
[Infestation 138 str ranger v bloodmaw] Infestation with the offhand weapon for all three 1h slashing weapons. The motivation for doing this is by having one slashing and one piercing weapon it's easy to distinguish between them in the logs; if you have two slashing weapons you don't know for each hit which weapon it was. Keeping a common offhand across three mainhands also lets us gather three times more data for this one weapon than the others. Most of the statistics here are in line with the others, but we can also calculate the dual wield chance.
This calculation is slightly nuanced and I've seen it calculated incorrectly by some of the people on the forums before. You cannot simply divide the number of offhand swings by the number of mainhand swings to get the dual wield success rate. This is best demonstrated by a thought experiment where the offhand weapon has twice the delay of the mainhand weapon. With a 100% dual wield chance, this would give you 50 offhand swings after 100 mainhand swings, but 50/100 would incorrectly give you a 50% chance. The true way to calculate the dual wield success rate is to first calculate how many swings you'd expect at 100% by total fight duration divided by haste-adjusted delay; this is why I earlier confirmed that the haste-adjusted delay formula was accurate. Next you need to adjust the total number of observed swings by the double attack chance; I did this by counting the total number of distinct timestamps with an offhand swing to get the "actual number of attacks". Next, you divide the observed number of attacks by the expected number of attacks. This gives a 65% chance which is in line with expectations for a level 51 ranger as shown on the Dual Wield wiki page.
Next I did a couple parses maxing strength as much as I could through gear swaps and self buffs. I didn't expect any major discoveries, but strength clearly has an impact on offense and I wanted to get a sense of what sort of impact that might have.
[Fellspine 175 str ranger v bloodmaw] [Infestation 175 str ranger v bloodmaw] [Wood 175 str ranger v bloodmaw]
Hit % didn't change, but being already around 90% there wasn't much room for improvement. Max hit went up, as expected, as did the average hit. The more interesting result to me was that the proportion of hits below the modal value dropped, while the proportions at and above both rose.
Now we have enough data to begin to speculate at how offense works. On defense we saw that mobs have exactly 20 distinct hit values, and that changing worn AC will change the proportion of min and max hits with little other effect. We also already knew there was an offense-specific function that serves to "smear" damage values out across a wider range. The graphs all show a huge peak at 2 * damage + damage bonus with long tails above and below. This graph could be achieved if you start with a defense-style graph with an offensive rating far above the defensive rating (generating a peak at the max hit), followed by a smearing function that randomly converts multiplies some hits by a value up to 2.0. So that will be my working hypothesis moving forwards.