Repost: I7 scrapper secondary comparisons


Ammon

 

Posted

Since the threads have evaporated, I'm reposting these here for reference. Note: I've updated all the calculations in Part One to take into account new numbers for SR defenses, and Invincibility. However, I have not rerun the simulator for Part Two, so those numbers are useful for differential comparison only, they are not 100% accurate for SR and Invuln anymore. It took about a hundred hours of runtime to run them all the first time, and I didn't want to recalculate and rerun them all. Sorry.

The first two messages are Part One - Average Calculations. Its broken up because its too long for a single post. As in, the forum actually won't let me post it in one part. The second two are the Part Two - Discrete Calculations analysis.


WARNING: Enough math to make your head explode ahead.


[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]

In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)

 

Posted

Scrapper Secondary Comparisons (I7): Part One (version 2.0 - 6/30/2006)

Average Calculations


---> Introduction <---

Time to bite the bullet.

This is a draft. Its also the first in what I plan to be about four articles encompassing my scrapper secondary comparison. It was just too big to post all at once. I've also tried very hard to edit it down as best I can, so its as short as possible (which for me is "just under impossibly long"). Part One (this part) looks at averages, and average calculations. Part two is gonna look at statistical stuff, and the effects of probability. Part three is gonna look at build options, power pools, and other external influences, and also some level-related comparisons. Part four is going to look (a little) at primary/secondary synergy. In other words, I'm starting from the easy stuff, and working towards the stuff everyone is going to say is full of crap at the end.

I've hinted at, and in some cases posted some of this stuff already - although given my tendancy to rewrite things until my keyboard screams for mercy, its almost certainly in a different form by now. For reference, you can look at my I5 comparisons here. Similar, in some ways, and different (hopefully better) in others.

I really want to hear what you all think, even if you think its totally in error. You'd be wrong, of course, but I still want to hear it . And of course, there's bound to be some calculation errors, or other factual errors wandering around: I've checked everything over carefully, but no one's perfect, and I've tried to show as much of facts I'm relying on as possible to make it easier to spot errors. Hopefully, there aren't any overly bad ones.

Again, this is part one, there's lots of stuff coming in future articles, but this one focuses on average calculations. If you think this overlooks something, you're probably right, but it might be coming later, because its not relevant to average calculations.



[ QUOTE ]
Cliff Notes

* SR still lags
* But not as much as before
* Invuln is better than most people think
* But not better than regen
* Regen is still looking great until it drops dead
* DA performance is sometimes good, and sometimes great, and occasionally ridiculous
* Reconstruction is not the most powerful power regen has
* Dull Pain is not a "big heal and a smal regen" buff
* Invuln's passives don't suck
* Invincibility is still pretty good
* Elude does not fix SR
* MoG is broken


[/ QUOTE ]


---> The set up <---

For the time being, I'm going to be looking at all four scrapper secondaries fully slotted at level 50. I'm also going to presume ED-compliant slotting, and even SOs. As a result, I'm using these numbers for comparison purposes:


SR:

3-slot DEF toggles (13.875% DEF), passives (5.625% DEF)
Passive resistances

Net defense: 30.4% defense to all.
Scaling resistances all but toxic/psi


Invuln:

3-slot RES TI (22.5% RES s/l), UNY (3.75% RES s/l, 7,5% RES e/n/t)
3-slot RES RPD (5.625% RES s/l), REn (5.625% RES e/n), REl (5.625% RES f/c)
3-slot DEF TH (3.75% DEF all but toxic/psi), invincibility (3.75% first, 1.125% additional to ten, all but toxic/psi)
3-slot HEAL, 3-slot RECH Dull Pain (+40% health, +40% heal base, 120s duration, 360s base recharge)

49.7% RES smash/lethal
20.5% RES fire/cold/energy/negative/toxic
-5% DEF to all (Unyielding Debuff)
5.9% DEF to all but toxic/psi (TH)
7.6% DEF for first, +1.76% DEF per additional (to max ten) to all but toxic/psi (invincibility)
+59% Health, +78% base Heal, 120 seconds duration, 185 seconds recharge (Dull Pain)


DA:

3-slot RES Dark Embrace (22.5% RES s/l, 15% RES n/t), Murky Cloud (22.5% RES f/c, 15% RES e/n)
3-slot RES Obsidian Shield (37.5% RES psi)
3-slot DEF Cloak of Darkness (3.75% DEF all)
1-slot HEAL, 2-slot ACC, 3-slot END Dark Regeneration (base 30% heal per target, 30 second recharge)

35.1% RES smash/lethal/fire/cold
23.4% RES energy/toxic
46.8% RES negative
58.5% RES psi
5.1% DEF to all
39.9% Heal per target, 30 second recharge

Note: other factors, like Oppressive Gloom, will be covered separately.


Regen:

3-slot HEAL Fast Healing (+75% regen), Integration (+150% regen, 100% enhanceable)
3-slot HEAL 3-slot RECH Reconstruction (+25% heal, 60sec recharge)
3-slot HEAL 3-slot RECH Instant Healing (+800% heal, +200% enhanceable, 90sec duration, 650sec recharge)
3-slot HEAL, 3-slot RECH Dull Pain (+40% health, +40% heal base, 120s duration, 360s base recharge)
3-slot RES Resilience (5.625% RES s/l/t)

+391% regen
8.8% RES smash/lethal/toxic
+1190% regen, 90sec duration, 333sec recharge (Instant Healing)
+59% Health, +78% base Heal, 120 seconds duration, 185 seconds recharge (Dull Pain)
48.75% heal, 30.8s recharge (Reconstruction: base 25% heal, 60sec recharge)


All scrappers are assumed to have base 100%/240s regeneration rate (0.42%/sec)

Notice that (with a few exceptions) I'm evaluating the capability of each set assuming you take and slot all of the mitigation powers.


The SR Passive Resistances

Each SR passive defense power also has an unenhancable scaling resistance to all but toxic and psi damage. This resistance starts to kick in when the scrapper is at 60% health, and slowly increases as the scrapper's health decreases. Mathematically, each resistance power offers:

(60% - HealthPercentage) / 3

resistance. They stack, so all three passives combined offer a total of (60% - HealthPercentage) total resistance (to all but toxic/psi).

Because of how they work, it isn't easy to assign a fixed resistance value to them: they can sometimes act as zero resistance (a hit for more than 60% of total health is theoretically capable of defeating the scrapper without ever experiencing any of the resistive value of the passives). They can, under the right circumstances, act like 50% resistance or more, constantly. For the purposes of this comparison, we will assume (unless otherwise specified) that the resistances have a minimum benefit of about 10% resistance, and the maximum benefit is about 24% resistance. A full explanation for why will be the subject of a separate analysis.


---> Numbers <---

Unless otherwise specified, all damage numbers and heals will be scaled to percent of a health bar, and damage rates and regeneration rates will be scaled to percent of a health bar per second. Why will become increasingly obvious as the analysis progresses. Basically, though, this way of looking at damage and health has huge advantages for simplifying calculations.


The equations, and the effects of I7

Just to familiarize everyone with the basic average damage equations, here they are:

Net damage taken = average damage per second * (base to hit - defense) * (1 - resistance) * time

To save some space, I write:

damage = dps * (bth - defense) * (1 - res) * time

In I6 and earlier, bth was variable depending on what attacked you. If we wanted to look at average damage from a minion, it would be:

damage = dps * (0.5 - defense) * (1 - res) * time

But for a boss, it would be:

damage = dps * (0.65 - defense) * (1- res) * time

This means comparing SR to invuln would involve comparing SR to invuln for minions, and SR to invuln for LTs, and SR to invuln for Bosses, and SR to invuln for AVs - each comparison would be different, because those higher ranked critters would have higher bth, and as a result, SR's defenses would be commensurately weaker against them. Higher level critters posed a similar problem: a +3 critter had higher bth than a +2 critter, and that means SR's defenses were also weaker against higher level critters.

I7's Defense Scaler is designed to correct that imbalance. Instead of having higher bth, higher ranked and higher level critters are going to have the same 50% bth of minions, and accuracy bonuses. Accuracy works differently: the I7 damage equation now becomes:

damage = dps * RankBuff * LevelBuff * (0.5 - defense) * (1 - res) * time

Notice, I can normalize this equation a bit, and call (dps * RankBuff * LevelBuff) the "effective" gross dps of the critter(s) I'm looking at. Doing so, the I7 equation now looks like:

damage = effectiveDPS * (0.5 - defense) * (1 - res) * time

Whenever we quote the damage output of a critter, when comparing one scrapper set to another, we can always "fold" the accuracy bonuses into the damage level, and comfortably ignore the Rank and the Level of the attacking critter. That greatly simplifies balance and comparison calculations - which is an obvious side effect of balancing Defense and Resistance in the first place.

Actually, we can only do this to a point. When RankBuff * AccBuff exceed 1.9, we run into a potential problem. At that point, the net tohit of a player with no defense becomes 1.9 * (0.5) = 0.95 = 95% - the tohit ceiling. A player with no defense cannot get hit any more frequently than that, which means if we compare a Defense set with a non-Defense set above that accuracy level, we will penalize the non-Defense set with more damage than they will actually receive, because they are above the tohit ceiling. Fortunately, we don't have to worry about that too much: this is only going to happen for +3 AVs and higher, +5 Bosses and higher, +7 LTs and higher, and +9 minions and higher. So long as we confine ourselves to comparing all four sets within those boundaries, we're fine. Outside those boundaries, DA and Regen, the two sets without defense in general, will tend to look worse than they are, because the equations will apply more damage to them than they would actually get because of the tohit ceiling. As we will see, making DA and Regen look a little worse than they actually are under extreme conditions is not going to be a major problem for these calculations.



---> The Immortality Line <---

In my previous comparisons I introduced a concept I called the immortality line. The immortality line represents the maximum average damage rate sustainable indefinitely by the scrapper. Its computed by determining the maximum damage rate that, when mitigated by any defenses or resistances, equals the net health regeneration over time. It actually does represent something real: outside of respites, external heals, or rest, its the maximum damage rate sustainable over time by any scrapper without dying. Its possible to survive higher levels of damage temporarily, but only by experiencing less damage at other times, or by using other means to recover health (respites, external heals, rest). Although its true real combat never looks exactly like these averages minute by minute, it always looks like this average or less hour by hour. In effect, this measures the degree to which health, health regeneration, and damage mitigation are a bottleneck to fighting harder foes faster.

A couple assumptions:

* Exactly one target in melee range at any time for invincibility
* DA looks at two cases, average one target for Dark Regeneration, and two targets
* All attackers have base accuracy: 50% base tohit and no inherent accuracy bonuses (as we've seen above, this is a non-issue).
* Best case SR passive resist average value: 24%; worst case: 10%


Basic SR immortality line equation:
dps * (0.5 - defense) * (1 - res) = 100%/240s
dps = 100%/240s / (0.5 - defense) / (1 - res)

Basic Invuln immortality line equation:
dps * (0.5 + 0.05 - defense) * (1 - res) * 0.63 * 120s + dps * (0.5 + 0.05 - defense) * (1 - res) * 65s = 100%/240s * 185s + 78% * 0.63
dps * (0.55 - defense) * (1 - res) * (0.63 * 120s + 65s) = 77.1% + 49.1% = 126.2%
dps = 126.2% / (0.55 - defense) / (1 - res) / (140.6s)

Basic DA immortality line equation:
dps * (0.5 - defense) * (1 - res) * 30s = 100%/240s * 30s + 39.9% * (#targets)
dps = (12.5% + 39.9% * #targets) / (0.5 - defense) / (1 - res) / 30s

Basic Regen immortality line equation:
dps * 0.5 * (1 - res) * 0.63 * 120s + dps * 0.5 * (1- res) * 65s = 100%/240s * 4.9 * 185 + 49.1% + 4 * 48.75% * 0.63 + 2 * 48.75%
dps * 0.5 * (1 - res) * (140.6s) = 377.7% + 49.1% + 122.8% + 97.5% = 647.1%
dps = 647.1% / 0.5 / (1 - res) / 140.6s


SR immortality line:
Best case s/l/f/c/e/n: dps = 100%/240s / (0.5 - 0.304) / (0.76) = 2.80%/sec
Worst case s/l/f/c/e/n: dps = 100%/240s / (0.196) / (0.9) = 2.36%/sec
Toxic/psi: dps = 100%/240s / 0.196 = 2.13%/sec

Invuln immortality line:
smash/lethal: dps = 126.2% / (0.55 - 0.135) / (1 - 0.497) / 140.6s = 4.30%/s
fire/cold/energy/negative: dps = 126.2% / (0.415) / (1 - 0.205) / 140.6s = 2.72%/s
toxic: dps = 126.2% / (0.55) / (1 - 0.205) / 140.6s = 2.05%/s
psi: dps = 126.2% / (0.55) / (1) / (140.6s) = 1.63%/s

DA (one target DR) immortality line:
smash/lethal/fire/cold: dps = 52.4% / (0.5 - 0.051) / (1 - 0.351) / 30s = 5.99%/s
energy/toxic: dps = 52.4% / (0.5 - 0.051) / (1 - 0.234) / 30s = 5.08%/s
negative: dps = 52.4% / (0.5 - 0.051) / (1 - 0.468) / 30s = 7.31%/s
psi: dps = 52.4% / (0.5 - 0.051) / (1 - 0.585) / 30s = 9.37%/s

DA (two target DR) immortality line:
smash/lethal/fire/cold: dps = 92.3% / (0.5 - 0.051) / (1 - 0.351) / 30s = 10.56%/s
energy/toxic: dps = 92.3% / (0.5 - 0.051) / (1 - 0.234) / 30s = 8.95%/s
negative: dps = 92.3% / (0.5 - 0.051) / (1 - 0.468) / 30s = 12.88%/s
psi: dps = 92.3% / (0.5 - 0.051) / (1 - 0.585) / 30s = 16.51%/s

Regen immortality line:
smash/lethal/toxic: dps = 647.1% / 0.5 / (1 - res) / 140.6s = 10.09%/s
fire/cold/energy/negative/psi: dps = 647.1% / 0.5 / (1) / 140.6s = 9.20%/s


Some explanation is in order. First, what's going on with DA. SR balances damage rate with regeneration rate. There is no mention of time in the SR equations. The reason is that SR's damage mitigation mechanisms work the same way moment by moment: their performance is constant when measured against average damage rates. But DA doesn't quite work that way: Dark Regeneration doesn't deliver a constant amount of healing per second, but rather one large heal every 30 seconds. Now, technically speaking, we could calculate the average heal per second of DR, and in essence average out its effect. And in fact, in this specific case, that would work fine. But instead, we look at the net effect of one whole cycle, instead of averaging out: if the scrapper is taking exactly as much damage as he can regenerate, then the net change in health every DR cycle should be zero. For simple calculations, this works just as well, but later, when we do more complex calculations, this way of looking at things (looking at cyclical powers by looking at what happens in one cycle, and extrapolating) will become more powerful. In particular, it will guide us when looking at another power: Dull Pain. The other thing to note about DA is how dependent on DR's performance it is: the difference between hitting one and two targets on average with DR is large. Its so large that instead of averaging (considering 1.5 targets for DR for example) I show both situations separately.

Handling Dull Pain
Dull Pain has a number of tricky aspects. First of all, while its active, it boosts health by 59% (1.59). How do we measure the benefit of a health boost? One way would be to literally treat it as an increase of health. This would as a byproduct increase the regeneration rate in absolute terms, because the regeneration rate is proportional to the amount of health. But that makes the math much more complicated, and then there is the additional problem of dealing with Dull Pain's expiration: your health will shrink in equal proportion.

There is a simpler alternative: measure everything in terms of percentage of health (as mentioned earlier). When you view the situation in that way, then when Dull Pain is active, in effect it does nothing to your health bar - Dull Pain's +health does not change the percentage of your maximum health you have. What it does instead is decrease the relative damage you take from any damage source. An attack that would normally do X% of your health bar when it lands will now do X% * 1/1.59 = 0.63 * X% of your new stretched health bar. An example might help:

100 damage vs 1000 health: 10% of health
100 damage vs Dull Pain stretched health = 1000 * 1.59 = 1590 health: 100/1590 = 0.063 = 6.3% of health.

In effect, while dull pain is active, it behaves as if you have 1 - (1 / DPfactor) resistance. When Dull Pain is slotted for +59% health boost, it behaves as if you have 1 - 1/1.59 = 0.37, or 37% resistance. You'll take 63% of the damage you'd normally take.

Note that using this perspective, regeneration remains constant. Regeneration is still ticking away at the same %/s rate, whether your health bar is stretched or not: this is a major advantage for this methodology in terms of simplifying the calculations (if you think this methodology somehow overlooks something, or doesn't reflect reality properly, you're free to perform the direct calculations: I guarantee you they will always match these calculations precisely, because this is just a change in units).

Dull Pain also has a heal. 3-slotted with Heal Enhancements, the heal is +78%. But its +78% of base health. Its very important to note how dull pain works: first it "stretches" your health bar, then it applies the heal. Since the heal is 78% of the original health bar, its only 78%/1.59 = 49.1% of the new, stretched health bar. And that is important, because to be consistent, the heal has to be accounted for in terms of percentage of the *current* health bar at all times.

So to account for Dull Pain accurately, we treat it as 120 seconds of 37% resistance, in the sense of reducing damage by 37% (this pseudo resistance does not stack with any other resistances - DP "resistance" and true resistance take effect independently), and 65 seconds of no dull pain related resistance. Also, although Dull Pain has +78% base heal, we have to account for it mathematically as a 49.1% net heal - because for us, the "%" is "percent of current health bar" instead of "percent of original health bar."

When Regeneration runs Dull Pain, we have one more thing to consider: reconstruction heals for 48.75% of base health: while DP is up, just like the Dull Pain heal itself, reconstruction's heal has to be adjusted to be a percentage of the adjusted health bar (48.75%/1.59 = 30.7%). When DP is down, reconstruction does heal for 48.75%.

In summary, if we want to see the net effect of dull pain over a complete cycle of dull pain, we calculate all of the damage taken in 185 seconds, compared to all of the regeneration in 185 seconds. For immortality line calculations, the net effect on health for a full cycle of Dull Pain should be zero, since whatever happens in one cycle will happen over and over again.

damage during DP up: dps * (nettohit) * (1-res) * 0.63 * 120 seconds
damage during DP down: dps * (nettohit * (1-res) * 65 seconds

Regeneration during 185 seconds (remember, in this methodology regen rate is constant throughout DP cycle): 100%/240s * time
DP's heal: 49.1%

Note that the total damage in 185 seconds:

dps * (nettohit) * (1-res) * 0.63 * 120 + dps * (nettohit) * (1-res) * 65
= dps * nettohit * (1-res) * (0.63 * 120 + 65)
= dps * nettohit * (1-res) * (140.6)

So another way of looking at dull pain is that normally net damage in 185 seconds would be:

dps * nettohit * (1-res) * 185s

but dull pain reduces that to

dps * nettohit * (1-res) * 140.6s

which means dull pain reduces net damage over the entire cycle to 140.6/185 = 0.76 of the total amount. If you wanted to express the average benefit of Dull Pain, one rough measure is to say that over time, it reduces net incoming damage by 0.24 or 24%, and applies a 49.1% heal every 185 seconds (slotted as described earlier without hasten).

One question that comes up periodically is: is Dull Pain more of a healing power, or more of a damage mitigation power. We can answer that question: the mitigation level is 24%, and the average health regeneration is 49.1%/185s = 0.265%/sec. For all net damage levels higher than 0.265%/s / 0.24 = 1.1%/sec, Dull Pain mitigates more than it heals. For all net damage levels lower than 1.1%/sec, Dull Pain is more of a healing power than a damage mitigation power. To put that into perspective, a level 50 minion that does 100 points of damage every 5 seconds lands 10 points of damage per second on an invuln with 50% tohit (i.e. defense balances unyielding). At level 50, that is 10/1338 = 0.00747, 0.747%/sec.

So for all levels of damage higher than facing more than about one and a half even minions, Dull Pain is more mitigation than heal.


Perspective: three minions

Statesman has repeatedly said that CoH scales heroic missions to a specific difficulty level: throwing three even minions at you at a time, roughly. Basically, this is supposed to be "challenging." No one has ever really defined "challenging" so I'm going to suggest one element of the definition of "challenging:" three even minions should, if you stand there and don't fight back, be theoretically capable of defeating you, although it may take a ridiculously long period of time. If they can't, then what that says is no matter what strategy a scrapper employs, including going afk for hours at a time, the critters can't defeat him, which can't possibly fit anyone's definition of challenging ("challenging" might require much more than this requirement: its a necessary but not sufficient requirement for "challenging").

So how much damage does an even level minion do? Well, on our scale, at level 50 the average even level minion does approximately 100 points of damage every 5 seconds (at least, this is what it appears to be from my testing: this is the number I used in my I4/I5 analyses also). That's 20dps. Scaled to a scrapper with 1338 points of health, that's 1.49%/s. Note: that's how much damage an even level minion (at level 50) emits - even attacking a scrapper with no defense and no resistance, only 50% of that would ordinarily land due to the base tohit of minions). Three even minions thus have 4.47%/s total damage output. What can that kill, eventually? Well, basically SR scrappers and Invuln scrappers. If the damage is all smash/lethal, Invuln scrappers come close to being able to sustain that (4.23%/s). DA and Regen cannot be killed by that level of damage. Its basically impossible.

So, two scrappers are significantly below the three minions line, and two scrappers are significantly above the three minions line. I would say that is a significant fact, from a balance perspective.


Other Observations

Here's the basic summary:

* HighDA > Regen > LowDA > Invuln > SR
* Invuln and SR have significant overlap: they are suprisingly close overall
* Invuln's energy/elemental performance is close to, and actually slightly higher than SR
* 2 target DR puts DA over regen. And DA does have more headroom (3 target DR)
* However, Regen also has some headroom: it didn't need to deploy instant healing at all to get to the calculated performance
* SR and Invuln exist below the three minions line, DA and Regen exist above the three minions line

All other things being equal, you would expect all four scrapper sets - if they were balanced - to have similar immortality lines (perhaps with differences across different damage types). Since this measures the maximum sustainable "activity" of each set, in terms of damage faced, this metric is a very rough measure of sustainable xp/hour, which should be similar between scrapper sets. There are meta reasons for the sets to be not exactly the same (when we talk about regen in more detail, we'll revisit why), but they shouldn't be *too* dissimilar. But they seem to be. In particular, it seems SR and Invuln are low, relative to DA and Regen, from a balance perspective.

However, since my I5 analyses, I've pursued a different line of thinking: perhaps the immortality line isn't the best thing to be balancing around. Not because its invalid: it does measure what it purports to measure. Rather, its possible an assumption built into the metric is shaky. I've deliberately looked at the scrapper secondaries without taking into account the effects of inspirations and power pool powers. As a first cut approximation, they will only blur the distinctions between the sets, and its not an unreasonable assumption to presume that all four scrapper secondaries are equally benefitted by power pool powers and inspirations (whether they really are or not is a subject for another time). But I forgot something: there is a damage mitigation power outside of scrapper secondaries (and primaries), power pools, inspirations, and external buffs.

Rest


---> Three minute survival <---

When I invented the immortality line for my I4 comparisons, I believed that it represented a real bottlebeck on maximum performance for each set: the only way to exceed it was with outside help, or inspirations, which help everyone. But in fact, it occured to me later that there was a potential glitch in that train of thought that might be significant to balance considerations. Rest (the power) was reduced in recharge to 180 seconds base recharge. And one of the stated reasons for reducing the recharge of rest was to allow it to be used more often, to prevent idle time. In effect, it was specifically being used as an escape valve to prevent downtime balancing issues from overly penalizing players with too much downtime. In effect, everyone (including scrappers) always had at least the theoretical ability to reset their health and endurance every 180 seconds (or less with slotting). So in fact, from a certain point of view, an ability to survive combat longer than 180 seconds is not as valuable as it first appears: while there is a penalty to using rest (you can't fight while using it, it cannot be used at arbitrary times, and it does take a finite time to use), in effect an SR scrapper that gets to the end of a 180 second fight with 20% health is not really all that far behind an invuln with 50% health - both of them could use rest to recharge to 100%, in comparable amounts of time.

If we are going to honor the move the devs made in altering rest, and assume it might need to be factored into any discussion of relative balance of mitigation sets, instead of looking at unlimited times, we should take a look at survival in 180 second windows: see how much damage each scrapper could take for 180 seconds without dying. You might think that there's not going to be much difference between looking at unlimited survival and 180 second survival: if you can survive more damage forever, you should be able to survive more damage for three minutes, right?

Not necessarily: the damage mitigation of each set is composed of a number of different mechanisms, and they do not all scale with increasing damage in the same way. In particular, while defense and resistance are proportional mitigation mechanisms, causing you to avoid a certain percentage of the incoming damage (which goes up as damage itself goes up), healing and regeneration don't scale in that way. In fact, they don't scale at all: heals and regeneration don't care how much damage you take: they heal the same amount regardless. This means a particular heal can actually heal more damage than you take, in effect keeping you locked at about full health, or it can heal a lot less than that if incoming damage goes up. This scaling difference means all four scrapper sets will change in performance relative to each other when we switch from looking at indefinite survival (the immortality line), to relatively short term survival.

Another thing to consider: when we looked at immortality, we didn't consider the actual health of the scrapper in absolute terms. While we took into account the health stretching of dull pain, because we were looking at the case where the scapper lived forever, we were always assuming that in the long run, the scrapper would be at or near full health - because if health was decreasing over time, however slowly, the scrapper would eventually die. So the actual amount of health was not an issue. But when we talk about the maximum amount of incoming damage that a scrapper can take without dying in a finite amount of time, not only does the incoming damage have to overcome mitigation, regeneration, and healing, but it also has to blast through 100% of health and drop the scrapper to (basically) zero.

As a simplification, instead of looking at 180 second survival, we're going to look at 185 second survival, which is the cycle time of unhastened Dull Pain in our builds. The time periods are close enough for our purposes.

Basic SR 185 second survival equation:
dps * (0.5 - defense) * (1 - res) * 185s = 100%/240s * 185s + 100% = 177.08%
dps = 177.08% / (0.5 - defense) / (1 - res) / 185s

Basic Invuln 185 second survival equation:
dps * (0.5 + 0.05 - defense) * (1 - res) * 0.63 * 120s + dps * (0.5 + 0.05 - defense) * (1 - res) * 65s = 100%/240s * 185s + 78% * 0.63 + 100%
dps * (0.55 - defense) * (1 - res) * (0.63 * 120s + 65s) = 77.1% + 49.1% +100% = 226.2%
dps = 226.2% / (0.55 - defense) / (1 - res) / (140.6s)

Basic DA 185 second survival equation:
dps * (0.5 - defense) * (1 - res) * 185s = 100%/240s * 185s + 39.9% * (#targets) * 6 + 100%
dps = (177.08% + 239.4% * #targets) / (0.5 - defense) / (1 - res) / 185s
dps = 416.48% / (0.5 - defense) / (1 - res) / 185s [one target DR]
dps = 655.88% / (0.5 - defense) / (1 - res) / 185s [two target DR]

Basic Regen 185 second survival equation:
dps * 0.5 * (1 - res) * 0.63 * 120s + dps * 0.5 * (1- res) * 65s = 100%/240s * 4.9 * 185 + 49.1% + 4 * 48.75% * 0.63 + 2 * 48.75% + 100%
dps * 0.5 * (1 - res) * (140.6s) = 377.7% + 49.1% + 122.8% + 97.5% + 100% = 747.1%
dps = 747.1% / 0.5 / (1 - res) / 140.6s


SR 185 second survival:
Best case s/l/f/c/e/n: dps = 177.08% / (0.5 - 0.304) / (1 - 0.24) / 185s = 6.43%/s
Worst case s/l/f/c/e/n: 177.08% / (0.196) / (0.9) / 185s = 5.43%/s
Toxic/psi: 177.08% / (0.196) / (1) / 185s = 4.88%/s

Invuln 185 second survival:
smash/lethal: dps = 226.2% / (0.55 - 0.135) / (1 - 0.497) / 140.6s = 7.71%/s
fire/cold/energy/negative: dps = 226.2% / (0.415) / (1 - 0.205) / 140.6s = 4.87%/s
toxic: dps = 226.2% / 0.55 / 0.795 / 140.6s = 3.68%/s
psi: dps = 226.2% / 0.55 / 1 / 140.6s = 2.93%/s

DA (one target DR) 185 second survival:
smash/lethal/fire/cold: dps = 416.48% / 0.449 / 0.649 / 185s = 7.73%/s
energy/toxic: dps = (416.48%) / 0.449 / (1 - 0.234) / 185s = 6.55%/s
negative: dps = (416.48%) / 0.449 / (1 - 0.468) / 185s = 9.42%/s
psi: dps = (416.48%) / 0.449 / (1 - 0.585) / 185s = 12.08%/s

DA (two target DR) 185 second survival:
smash/lethal/fire/cold: dps = 655.88% / 0.449 / 0.649 / 185s = 12.17%/s
energy/toxic: dps = (655.88%) / 0.449 / (1 - 0.234) / 185s = 10.31%/s
negative: dps = (655.88%) / 0.449 / (1 - 0.468) / 185s = 14.84%/s
psi: dps = (655.88%) / 0.449 / (1 - 0.585) / 185s = 19.03%/s

Regen 185 second survival:
smash/lethal/toxic: dps = 747.1% / 0.5 / (1 - 0.088) / 140.6s = 11.65%/s
fire/cold/energy/negative/psi: dps = 747.1% / 0.5 / 1 / 140.6s = 10.63%/s


Three Minions Line

4.47%/s is the damage level of three even minions. Note that now, all four scrappers are basically at or above the line for most damage types. Invuln now lives way above the line for smash/lethal, just above the line for energy/elemental, a bit below for toxic, and way below for psi. SR lives significantly above the line for all but toxic/psi, and only fractionally below the line for toxic/psi. DA and Regen still live in the comparative stratosphere. What this means is that if you are willing to rest every three minutes, three even minions can hurt you, but cannot kill you, no matter what scrapper secondary you play. Unless you are invuln facing all psi damage attackers, which is not common.

Statesman has commented that for high level characters with SOs, the actual balancing point might be closer to three +3 minions instead of 3 even minions. This statement is probably true for scrappers, if anyone. Three +3 minions would hit everyone about 30% more often, due to the accuracy increase (in I7) and about 30% more damage, for a net 1.69x incoming damage. In other words, three +3 minions have a damage output level of about 7.55%/s. This exceeds SR's maximum, equals Invuln's smash/lethal maximum and exceeds invuln for all other damage types, and is lower than DA and Regen. In terms of three +3 minions, SR lives below the line, Invuln lives at the line for smash/lethal, and below it for all other damage, and DA and Regen both live above the line. This still seems moderately unbalanced.


Observations

In overall terms, the relative rankings of the sets don't change much (HighDA > Regen > LowDA > Invuln > SR) but there are significant differences in the details. Once again, SR and Invuln look fairly similar in performance, but now it seems the gap between them is even tighter. Invuln probably has the overall edge: the amount of smash/lethal damage in the game is significantly higher than toxic and psi damage, and the energy/elemental performance of SR and invuln is basically a tie. That places invuln's net overall performance higher than SR, in general terms. DA's performance is similar to invuln's when DR hits only one target on average (overall, DA is somewhat better). But when DR hits two targets on average, DA's performance leaps past invuln to become the equal, or superior, of regen.

Although I believe that the immortality line metric is still a valid one to use to compare the scrapper secondaries, I believe that this one, the three minute survival line, might perhaps be more reflective of how the game is really balanced. In general, this metric makes the sets look closer together in performance than the immortality line, so if you want to be conservative, this metric is a safer one to judge balance than the immortality line.

What this metric (and the immortality line metric) shows is that the scrapper secondaries can be broken up into two categories: Category 1 has SR, Invuln, and DA scrappers that tend to hit only one thing with DR at a time. In Category 1, DA and Invuln are very roughly balanced, and SR lags a bit behind them. Category 2 as Regen, and DA scrappers that hit at least two targets on average with DR. DA and Regen are roughly balanced in Category 2, with DA having a small but unequivocal lead.


---> Mitigation Breakdown <---

Clearly, DA and Regen are emerging as the obvious leaders. A significant part of that comes from their powerful heals. However, because those heals are only usable at intervals, its possible for a critical amount of damage to outrace the heal and kill the scrapper before it can fire. Doing so can "break" the heal, by defeating the scrapper before it can be used: the scrapper will perform significantly lower than the "naive" averages would predict. We're going to look at two situations: first, the amount of damage necessary to kill the scrapper in 30 seconds with no click heals. Both dark regeneration and reconstruction (as slotted in our test builds) recharge in 30 seconds or more, so any level of damage that can kill in 30 seconds can always outrace those heals. However, of course no real scrapper would wait that long to use that heal, so we are also going to look at a second quantity: the damage level necessary to overcome *one* heal in the same 30 seconds. Basically, we're trying to see if burst damage can neutralize the advantage of the heals. SR and invuln do not have short term cyclical heals: obviously there's nothing to calculate for them for the second case.


Basic SR 30 second survival equation:
dps * (0.5 - defense) * (1 - res) * 30s = 100%/240s * 30s + 100% = 112.5%
dps = 112.5% / (0.5 - defense) / (1 - res) / 30s

Basic Invuln 30 second survival equation:
dps * (0.5 + 0.05 - defense) * (1 - res) * 0.63 * 30s = 100%/240s * 30s + 100% = 112.5%
dps = 112.5% / (0.55 - defense) / (1 - res) / 0.63 / 30s [Dull Pain Up]

dps * (0.5 + 0.05 - defense) * (1 - res) * 30s = 100%/240s * 30s + 100% = 112.5%
dps = 112.5% / (0.55 - defense) / (1 - res) / 30s [Dull Pain Down]

Basic DA 30 second survival equation:
dps * (0.5 - defense) * (1 - res) * 185s = 100%/240s * 30s + 39.9% * (#targets) * (#heals) + 100%
dps = (112.5% + 39.9% * #targets * #heals) / (0.5 - defense) / (1 - res) / 30s
dps = 112.5% / (0.5 - defense) / (1 - res) / 30s [no heal]
dps = 192.3% / (0.5 - defense) / (1 - res) / 30s [one two target heal]

Basic Regen 30 second survival equation:
dps * 0.5 * (1 - res) * 0.63 * 30s = 100%/240s * 4.9 * 30 + (#heals) * 48.75% * 0.63 + 100% = 161.25% + (#heals) * 30.7%
dps = (161.25% + #heals * 30.7%) / 0.5 / (1 - res) / 0.63 / 30s [Dull Pain Up]

dps * 0.5 * (1 - res) * 30s = 100%/240s * 4.9 * 30 + (#heals) * 48.75% + 100% = 161.25% + (#heals) * 30.7%
dps = (161.25% + #heals * 48.75%) / 0.5 / (1 - res) / 30s [Dull Pain Down]


SR 30 sec survival:
Best case s/l/f/c/e/n: dps = 112.5% / 0.196 / 0.76 / 30s = 25.17%/s
Worst case s/l/f/c/e/n: dps = 112.5% / 0.196 / 0.9 / 30s = 21.26%/s
Toxic/psi: dps = 112.5% / 0.196 / 1 / 30s = 19.13%/s

Invuln 30 sec survival best case; DP up:
smash/lethal: dps = 112.5% / 0.415 / 0.503 / 0.63 / 30s = 28.52%/s
fire/cold/energy/negative: 112.5% / 0.415 / 0.795 / 0.63 / 30s = 18.04%/s
toxic: dps = 112.5% / 0.55 / 0.795 / 0.63 / 30s = 13.61%/s
psi: dps = 112.5% / 0.55 / 1 / 0.63 / 30s = 10.82%/s

Invuln 30 sec survival worst case; DP down:
smash/lethal: dps = 112.5% / 0.421 / 0.503 / 30s = 17.71%/s
fire/cold/energy/negative: dps = 112.5% / 0.421 / 0.795 / 30s = 11.20%/s
toxic: dps = 112.5% / 0.55 / 0.795 / 30s = 8.58%/s
psi: dps = 112.5% / 0.55 / 1 / 30s = 6.82%/s

DA 30 sec survival (no DR heal):
smash/lethal/fire/cold: dps = 112.5% / 0.449 / 0.649 / 30s = 12.87%/s
energy/toxic: dps = 112.5% / 0.449 / 0.766 / 30s = 10.90%/s
negative: dps = 112.5% / 0.449 / 0.532 / 30s = 15.70%/s
psi: dps = 112.5% / 0.449 / 0.415 / 30s = 20.13%/s

DA 30 sec survival (two target DR heal):
smash/lethal/fire/cold: dps = 192.3% / 0.449 / 0.649 / 30s = 22.00%/s
energy/toxic: dps = 192.3% / 0.449 / 0.766 / 30s = 18.64%/s
negative: dps = 192.3% / 0.449 / 0.532 / 30s = 26.83%/s
psi: dps = 192.3% / 0.449 / 0.415 / 30s = 34.40%/s

Regen 30 sec survival (best case DP up):
smash/lethal/toxic: dps = 161.25% / 0.5 / 0.912 / 0.63 / 30s = 18.71%/s
fire/cold/energy/negative/psi: dps = 161.25% / 0.5 / 1 / 0.63 / 30s = 17.06%/s

Regen 30 sec survival (worst case DP down):
smash/lethal/toxic: dps = 161.25% / 0.5 / 0.912 / 30s = 11.79%/s
fire/cold/energy/negative/psi: dps = 161.25% / 0.5 / 1 / 30s = 10.75%/s

Regen 30 sec survival (one reconstruction, best case DP up):
smash/lethal/toxic: 191.95% / 0.5 / 0.912 / 0.63 / 30s = 22.27%/s
fire/cold/energy/negative/psi: 191.95% / 0.5 / 1 / 0.63 / 30s = 20.31%/s

Regen 30 sec survival (one reconstruction, worst case DP down):
smash/lethal/toxic: 210% / 0.5 / 0.912 / 30s = 15.35%/s
fire/cold/energy/negative/psi: 210% / 0.5 / 1 / 30s = 14.00%/s


Observations

Surprisingly, perhaps, SR's 30 second performance is quite high, relative to the other sets. Its comparable to invuln's 30 second performance, and its surprisingly similar to regen's and DA's performance when they are only allowed to use their heals only once (when the damage level is high enough to outrace their click heals). Reliance on click heals does have a significant theoretical impact on short-term survival: if their heal is currently available, regen and DA can survive massive short term bursts of damage, because their heals are so strong. But if they are not available (and if Dull Pain is down), their short term survival can be, during those brief intervals, significantly lower. In between treating the heals in average terms, and treating them as binary available or not available, is where the spectrum of scrapper survivability lies. To look at this deeper, though, will require much more powerful analytical tools.

It is fair to say, though, that its always possible for the more powerful scrapper sets (DA, Regen) to look temporarily worse than the others in certain situations, especially high burst damage ones. The perception that regen especially is vulnerable to high burst damage is not illusiary.

This metric has some relevance for PvP combat, where combat tends to last only a very short amount of time on average. However, PvP combat has lots of other variables to consider, and is beyond the scope of this part of the analysis.

Its a lot tougher to call a winner on this metric. Regen, DA, and SR all have peak performance around 22%/s. Invuln has much lower performance than that except for best case smash/lethal performance, which is very high (DA has extremely high numbers for negative and psi damage, but these are less common damage types on average). Although I could attempt to blend all of these numbers into a composite metric, and then rank based on that, I would say that a casual look at these numbers, while they might not be balanced, don't give me any obvious sense of imbalance.

To put these numbers into perspective, 22%/s is about 15 even minions, or 9 +3 minions. That's how many minions it takes to kill a scrapper in 30 seconds or less, on average. Since it does tend to take more than 30 seconds to kill 15 even minions or 9 +3 minions on average, this does not necessarily mean that all scrappers can take on these numbers in actual fact. They can probably last 30 seconds before dropping dead on avearge, though. One thing my testing shows (I've tested essentially all of the scenarios depicted in these calculations in-game) is that 30 seconds seems like a very long time on paper, and its a very short time in-game when things are shooting at you and health is dropping fast: unless you time things with a clock, I wouldn't trust intuitive judgement for how long you think you're surviving under pressure. When someone talks about a scrapper "being killed in seconds" that is quite uncommon - it takes massive amounts of damage (or really bad luck) to accomplish that.


[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]

In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)

 

Posted

---> Maximum Performance <---

Up to this point, some readers have noticed that I've forgotten about Instant Healing from the regeneration set. They might also be wondering how the tier 9 scrapper powers - specifically Elude, Unstoppable, and MoG, affect the balance between the sets. These powers are all potentially so strong in effect that they can greatly skew mitigation calculations, so I've focused on performance without them until now. "Averaging" them would give a distorted view of performance: a performance level you're never likely to see, ever; only much higher and much lower performance. In this section, I'm going to look at the maximum possible performance you can get out of these sets. In the process, we'll see how Elude and Unstoppable compare, what's wrong with MoG, and what regen and DA's real maximum performance is.


What am I going to consider the "maximum" performance of each set is? Well, in broad strokes, the sets will be as they currently are, with the following additions:

* While Elude is running, we're going to assume SR floors all attackers
* While MoG is running, we're going to assume regen floors all attackers
* While Unstoppable is running, we're going to assume Invuln caps all resistances to all but psi (75%)
* We're going to assume Invincibility is maxed with 10 targets ( (3.75% + 10 * 1.125%) * 1.56 = 23.4% )
* We're going to assume Dark Regeneration is maxed to always hit enough targets (3 or 4) to heal 100% health
* We're throwing Instant Healing into the mix: we're going to assume it runs for 90 seconds during the 180 second window, providing optimal regeneration returns (+9.9 regen)

Additionally, we're going to look at 180 second survival again, essentially the duration of elude, unstoppable, and MoG

Basic SR 180 second elude survival equation:
dps * (0.05) * (1 - res) * 180s = 100%/240s * 180s + 100% = 175%
dps = 175% / (0.05) / (1 - res) / 180s

Basic Invuln 180 second unstoppable/invincibility survival equation:
dps * (0.5 + 0.05 - 0.234) * (1 - 0.75) * 0.63 * 120s + dps * (0.5 + 0.05 - 0.234) * (1 - res) * 60s = 100%/240s * 180s + 78% * 0.63 + 100%
dps * (0.316) * (0.25) * (0.63 * 120s + 60s) = 75% + 49.1% +100% = 224.1%
dps = 224.1% / (0.316) / (0.25) / (135.6s) [Note: defense drops to zero for toxic/psi, and resistance drops to zero for psi]

Basic DA 30 second max DR survival equation:
dps * (0.5 - defense) * (1 - res) * 30s = 100%/240s * 30s + 100% + 100%
dps = (212.5) / (0.5 - defense) / (1 - res) / 30s

Basic Regen 180 second Instant Healing survival equation:
dps * 0.5 * (1 - res) * 0.63 * 120s + dps * 0.5 * (1- res) * 60s = 100%/240s * 4.9 * 180 + 49.1% + 4 * 48.75% * 0.63 + 2 * 48.75% + 100%/240s * 90 * 9.9 + 100%
dps * 0.5 * (1 - res) * (135.6s) = 367.5% + 49.1% + 122.85% + 97.5% + 371.25% + 100% = 1108.2%
dps = 1108.2% / 0.5 / (1 - res) / 135.6s

Basic Regen 180 second MoG survival equation:
dps * 0.05 * 0.63 * (1 - res) * 120s + dps * 0.05 * (1 - res) * 60s = 25%
dps = 25% / 0.05 / (1 - res) / 135.6s


SR (elude):
Best case s/l/f/c/e/n: dps = 175% / 0.05 / 0.76 / 180s = 25.58%/s
Worst case s/l/f/c/e/n: dps = 175% / 0.05 / 0.9 / 180s = 21.60%/s
Toxic/psi: dps = 175% / 0.05 / 1 / 180s = 19.44%/s

Invuln (unstoppable/invincibility):
smash/lethal/fire/cold/energy/negative: dps = 224.1% / 0.316 / 0.25 / 135.6 = 20.92%
toxic: dps = 224.1% / 0.55 / 0.25 / 135.6 = 12.02%/s
psi: dps = 224.1 / 0.55 / 1 / 135.6 = 3.00%/s

DA (100% DR):
smash/lethal/fire/cold: dps = 212.5% / 0.449 / 0.649 / 30s = 24.31%/s
energy/toxic: dps = 212.5% / 0.449 / 0.766 / 30s = 20.60%/s
negative: dps = 212.5% / 0.449 / 0.532 / 30s = 29.65%/s
psi: dps = 212.5% / 0.449 / 0.415 / 30s = 38.01%/s

Regen (normal):
smash/lethal/toxic: dps = 1108.2% / 0.5 / 0.912 / 135.6s = 17.92%/s
fire/cold/energy/negative/psi: dps = 1108.2% / 0.5 / 1 / 135.6s = 16.35%/s

Regen (MoG):
smash/lethal/fire/cold/energy/negative: dps = 25% / 0.05 / (1 - 0.75) / 135.6s = 14.75%/s
toxic: dps = 25% / 0.5 / 0.25 / 135.6s = 1.47%/s
psi: dps = 25% / 0.5 / 1 / 135/6s = 0.37%/s


Notice that the DA numbers are for 30 seconds, not 180 seconds, unlike every other set. The reason is due to the mechanics of DA's heal: if Dark Regeneration always hits enough targets to heal for 100% (basically, three), then its impossible to kill DA in 180 seconds. Either you kill DA in 30 seconds, or not at all. Unfortunately, that's one case where we can't really compare apples to apples: there's no real way to determine a truely fair 180 second survival; in a very real sense, DA can survive what the above calculations suggest for 180 seconds, and anything higher will kill it in 30 seconds or less. There's nothing in between. Even so, DA's 30second survival numbers are huge: if we call them DA's 180 second numbers (which is actually unfair to DA), they are still competitive with elude and unstoppable.

Elude and unstoppable/invincibility are close in performance for all but toxic and psi damage, where elude is vastly superior.

An interesting thing is how close regen can get to unstoppable or elude performance with just the "normal" regen powers and instant healing. The bottleneck for elude and unstoppable is the recharge of elude and unstoppable, which is base 1000 seconds. The bottleneck for regen's calculated peformance is the recharge of instant healing, which is base 650 seconds. In other words, although regen's peak performance is lower than unstoppable/invincibility and elude, regen can reach that maximum performance much more often.

MoG's performance is worse than elude and unstoppable, and more importantly worse than regen itself without MoG, even for non-toxic/psi damage. It is, however, a little better than regen's performance without instant healing (for all but toxic/psi damage).


A word on Instant Healing and Reconstruction

Note regen's performance equation:

[ QUOTE ]

dps * 0.5 * (1 - res) * (135.6s) = 367.5% + 49.1% + 122.85% + 97.5% + 371.25% + 100% = 1108.2%

[/ QUOTE ]

367.5% is the net healing due to natural regeneration boosted by FH and INT over 180 seconds. 371.25% is the incremental contribution of Instant Healing for 90s (the duration of Instant Healing). 122.85% + 97.5% (220.35%) is the contribution due to reconstruction. Regen is still dominated by "normal" regeneration: reconstruction is a powerful heal, but it does not contribute more than normal regeneration. Also, Instant Healing contributes, in 90s, as much health regeneration as a regen scrapper otherwise heals in 180 seconds - its still a very powerful addition.

In short: regeneration scrappers are still mostly regen, they are not completely dominated by reconstruction. And Instant healing can radically increase that level of regeneration, even if only for a limited time: its net effect is still very powerful, and about as much worth taking as Elude is for SR scrappers.



---> Hasten <---

Although we have been looking at the performance of each set without power pools, two sets in particular - DA and Regen - are heavily influenced by click heals, which themselves are heavily influenced by speed buffs, including hasten. Because hasten is so common of a power pool power, and because its effect is so powerful, its important to see its actual effect on maximum performance. Hasten has no real effect on SR's peak performance (it allows SR to get it more often), and it has a slight effect on invuln's peak performance (by allowing DP to cycle faster, speeding up the heal and increasing the percentage of time DP itself is up). Hasten, 3-slotted with recharge, has 120 second duration and approximately 180 second recharge (182.6s). With hasten, Dull Pain recharges on average in approximately 150 seconds (because hasten is up sometimes and down sometimes, Dull Pain's recharge varies, but basically always between 142s and 152s). So that we don't have to deal with the details of how many cycles of Dull Pain happen within a 180 second window (and therefore how many heals Dull Pain delivers), we're going to assume 150 second recharge on DP. During the 180 second window, DP will be up 150 seconds, and down 30 (DP will cycle once during the 180 second window). This means these numbers are not directly comparable with the numbers above (they will all be higher) but are more comparable with each other fairly.

How do we determine the cycle times of Dark Regeneration and Reconstruction? Well, to avoid a blizzard of best case/worst case numbers, we are going to assume average peformance for hasten (otherwise, the number of possible cases explodes). The average performance of hasten is the average amount it speeds up recharge over its cycle time. We're going to assume 183 second recharge for hasten, and that gives an average recharge of +0.46 (Hasten's recharge benefit is +0.7 while its up). That means reconstruction now has recharge of 60s / (1.95 + 0.46) = 24.9seconds, and Dark Regeneration now has recharge of 30s / 1.46 = 20.5seconds. In 180 seconds, reconstruction will fire approximately 7 times; we'll say 5 happen during Dull Pain's uptime, and 2 during Dull Pain's downtime. Dark Regeneration will fire approximately eight times.


Basic SR 180 second survival equation:
dps * (0.5 - defense) * (1 - res) * 180s = 100%/240s * 180s + 100% = 175%
dps = 175% / (0.5 - defense) / (1 - res) / 180s

Basic Invuln 180 second survival equation:
dps * (0.5 + 0.05 - defense) * (1 - res) * 0.63 * 150s + dps * (0.5 + 0.05 - defense) * (1 - res) * 30s = 100%/240s * 180s + 78% * 0.63 + 100%
dps * (0.55 - defense) * (1 - res) * (0.63 * 150s + 30s) = 75% + 49.1% +100% = 224.1%
dps = 224.1% / (0.55 - defense) / (1 - res) / (124.5s)

Basic DA 180 second survival equation:
dps * (0.5 - defense) * (1 - res) * 180s = 100%/240s * 180s + 39.9% * (#targets) * 8 + 100%
dps = (175% + 319.2% * #targets) / (0.5 - defense) / (1 - res) / 180s
dps = 494.2% / (0.5 - defense) / (1 - res) / 180s [one target DR]
dps = 813.4% / (0.5 - defense) / (1 - res) / 180s [two target DR]

Basic Regen 180 second survival equation:
dps * 0.5 * (1 - res) * 0.63 * 150s + dps * 0.5 * (1- res) * 30s = 100%/240s * 4.9 * 180 + 49.1% + 5 * 48.75% * 0.63 + 2 * 48.75% + 100%
dps * 0.5 * (1 - res) * (124.5s) = 367.5% + 49.1% + 153.56% + 97.5% + 100% = 767.66%
dps = 767.66% / 0.5 / (1 - res) / 124.5s [No Instant Healing]
dps = (371.25% + 767.66%) / 0.5 / (1 - res) / 124.5s = 1138.91% / 0.5 / (1 - res) / 124.5s [Instant Healing]


"Standard" Mitigation

SR hastened 180 second survival:
Best case s/l/f/c/e/n: dps = 175 / 0.196 / 0.76 / 180s = 6.53%/s
Worst case s/l/f/c/e/n: dps = 175 / 0.196 / 0.9 / 180s = 5.51%/s
Toxic/psi: dps = 175 / 0.196 / 1 / 180s = 4.96%/s

Invuln hastened 180 second survival:
smash/lethal: dps = 224.1% / 0.415 / 0.503 / 124.5s = 8.62%/s
fire/cold/energy/negative: dps = 224.1% / 0.415 / 0.795 / 124.5s = 5.46%/s
toxic: dps = 224.1% / 0.55 / 0.795 / 124.5s = 4.12%/s
psi: dps = 224.1% / 0.55 / 1 / 124.5s = 3.27%/s

DA (one target DR) hastened 180 second survival:
smash/lethal/fire/cold: dps = 494.2% / 0.449 / 0.649 / 180s = 9.42%/s
energy/toxic: dps = 494.2% / 0.449 / 0.766 / 180s = 7.98%/s
negative: dps = 494.2% / 0.449 / 0.532 / 180s = 11.49%/s
psi: dps = 494.2% / 0.449 / 0.415 / 180s = 14.73%/s

DA (two target DR) hastened 180 second survival:
smash/lethal/fire/cold: dps = 813.4% / 0.449 / 0.649 / 180s = 15.51%/s
energy/toxic: dps = 813.4% / 0.449 / 0.766 / 180s = 13.14%/s
negative: dps = 813.4% / 0.449 / 0.532 / 180s = 18.92%/s
psi: dps = 813.4% / 0.449 / 0.415 / 180s = 24.25%/s

Regen (normal) hastened 180 second survival:
smash/lethal/toxic: dps = 767.66% / 0.5 / 0.912 / 124.5s = 13.52%/s
fire/cold/energy/negative/psi: 767.66% / 0.5 / 1 / 124.5s = 12.33%/s


"Maximum" Mitigation

SR (Elude) hastened 180 second survival:
Best case s/l/f/c/e/n: dps = 175 / 0.05 / 0.76 / 180s = 25.58%/s
Worst case s/l/f/c/e/n: dps = 175 / 0.05 / 0.9 / 180s = 21.60%/s
Toxic/psi: dps = 175 / 0.05 / 1 / 180s = 19.44%/s

Invuln (unstoppable, max invincibility) hastened 180 second survival:
smash/lethal/fire/cold/energy/negative: dps = 224.1% / 0.316 / 0.25 / 124.5s = 22.78%/s
toxic: dps = 224.1% / 0.55 / 0.25 / 124.5s = 13.09%/s
psi: dps = 224.1% / 0.55 / 1 / 124.5s = 3.27%/s

DA (100% DR) hastened 180 second survival:
smash/lethal/fire/cold: dps = 212.5% / 0.449 / 0.649 / 20.5s = 35.57%/s
energy/toxic: dps = 212.5% / 0.449 / 0.766 / 20.5s = 30.14%/s
negative: dps = 212.5% / 0.449 / 0.532 / 20.5s = 43.40%/s
psi: dps = 212.5% / 0.449 / 0.415 / 20.5s = 55.63%/s

Regen (with Instant Healing) hastened 180 second survival:
smash/lethal/toxic: dps = 1138.91% / 0.5 / 0.912 / 124.5s = 20.06%/s
fire/cold/energy/negative/psi: 1138.91% / 0.5 / 1 / 124.5s = 18.30%/s

Regen (MoG) hastened 180 second survival:
smash/lethal/fire/cold/energy/negative: dps = 25% / 0.05 / 0.25 / 124.5s = 16.06%
toxic: 25% / 0.5 / 0.25 / 124.5s = 1.61%/s
psi: 25% / 0.5 / 1 / 124.5s = 0.40%/s


Observations

The big winner is DA. Dark Regeneration is a significant part of DA's overall performance, and hasten dramatically increases the benefit of Dark Regeneration. Although regen has a click heal also, Dark Regeneration is not always slotted for recharge (and isn't in the analyzed builds), while reconstruction is slotted for recharge. As a result, the proportional benefit of hasten is much higher for Dark Regeneration than for Reconstruction. That combined with the (potentially) high heal of Dark Regeneration makes Dark Armor's maximum achievable performance bordering on the astronomical.

Elude's reputation as overwhelmingly powerful is unwarranted. In terms of protecting the SR scrapper for its duration, its similar to invuln's smash/lethal, energy, and elemental best performance (Elude still surpasses Invuln for toxic and psi damage). Regen is not far behind Elude in overall performance - using the normal powers of the set including Instant Healing. Because Instant Healing recharges faster than Elude, regen can achieve its maximum performance 1.5x as often as SR can with Elude. Overall, Regen's peak performance is comparable to SR's with Elude - and Regen has vastly superior performance to SR at all times outside of peak performance.



---> Evaluations <---

SR:

SR has the lowest immortality line. It also has the lowest 180 second survival damage level. These metrics measure the long-term average strength of the scrapper secondaries: how much they can take over the long haul. In and of itself that is not conclusive, because the different mitigation types scale differently. Specifically, regeneration and healing don't scale, while resistance and defense do. This means that there are potentially good reasons for DA and Regen to have significantly higher immortality lines than SR. However, SR's performance ought to align much more closely on average with invuln, which is dominated largely by scalable mitigation. Contrary to popular belief, SR has lower long term mitigation against energy, elemental, and toxic damage than invuln. SR only exceeds invuln's long term mitigation for psi damage, and only by a relatively low amount.

Another view says that SR has low damage mitigation prior to level 38, but then Elude balances the scales. This also appears to be untrue. Invuln can come close to equalling Elude's performance for all but toxic/psi damage with unstoppable and invincibility (and is generally better at all other times), and Regeneration can approach surprisingly close to Elude's performance at more frequent intervals than Elude can be used. At high enough levels, in fact, Dark Armor can exceed Elude's performance continuously.

Overall, it looks like SR has the lowest performance of the four scrapper secondaries, at least when judged on these metrics.


Invuln:

Invuln's performance is interesting: it has reasonable long term mitigation, reasonable short term mitigation and its mitigation scales reasonably well. Its mitigation scales with increasing numbers (invincibility) and it benefits from hasten (dull pain). Most importantly, it is capable of challenging SR, regen, and DA each in at least some non-trivial situational area. Whether invuln's performance is "good enough" or not is a subjective decision, but its performance does appear to bridge a gap between SR and Regen: it has better long term mitigation than SR, and at least as good short term mitigation as regen.

However, when compared to the wide range of scrapper secondary performance, Regen and DA exceed Invuln and SR by far wider margins (most of the time) than Invuln and SR are dissimilar from each other. If SR and Invuln were the only two scrapper sets that existed, SR would lag invuln by a relatively large margin. In the bigger picture, their performance is surprisingly similar to each other.


Regen:

Regen's reputation as having the best downtime mitigation is well waranted. It has the best non-situational long term mitigation of any set - it can sustain the highest incoming damage indefinitely without any external requirements. Its mitigation is almost exclusively healing/regeneration based, which means it doesn't scale at all. But its mitigation is scaled for relatively high levels of foes, and that level of mitigation makes it almost immune to lesser opponents. However, by the same token, opponents even slightly higher than regen's maximum sustainable damage levels can very quickly defeat regen. This is a reflection of the mechanics of regeneration, and the strong contribution of click heals.

Overall, Regen has the best no-excuse performance level: it can achieve that performance level more consistently than the other scrapper sets under virtually all circumstances. And it can do so with almost no endurance issues, and very early in level progression (it has all the tools it needs for maximum performance levels by level 28 except for maximal slotting).


DA:

Dark Armor is interesting in three respects. First, its conservative damage mitigation is just short of regen, and significantly higher than either SR or invuln. And unlike invuln, DA does not have obvious weak spots in its mitigation. Second, it has massive potential to achieve higher mitigation: with sufficient targets for Dark Regeneration, Dark Armor not only can exceed regen's best performance, it can also exceed perma-elude performance. Third, unlike SR, invuln, and even Regen, this analysis doesn't take into consideration all of Dark Armor's mitigation capabilities: it completely discounts powers like Oppressive Gloom.

This analysis makes it look like Dark Armor is vastly superior to all the other sets. In fact, its theoretical maximum performance vastly exceeds the other sets, but that doesn't necessarily mean that potential can always be fully reached. Several things make that full capability non-trivial to achieve. First, Dark Armor lacks knockback protection. That would be a problem for most sets, but its especially problematic for Dark Armor, which has a large portion of its damage mitigation in Dark Regeneration, which is a click (which cannot be activated while being knocked back/down), and requires targets in close range (which is tricky if being knocked back/around). Even in situations where DA has some knockback protection (hover, acrobatics) DA can be fouled by the lack of knockback protection of its attackers. In teams, and even occasionally solo, DA scrappers can find its targets knocked away from it, which is almost as bad as being knocked away from them. Even strong mitigation powers not accounted for in this analysis, like Oppressive Gloom, requires targets to be in close range and can be affected by knockback. Second, Dark Armor has high endurance costs - Dark Regeneration, even slotted with SOs, costs about as much as two SR toggles typically slotted - as much as all three SR toggles when DR is hastened. Combined with resistance toggles, Dark Armor's total end costs are significantly higher than any of the other scrapper secondaries. As a practical matter, its unlikely that most DA scrappers could maintain peak mitigation performance indefinitely.

And because Dark Regeneration requires actually hitting targets, DR's effectiveness goes down rapidly with higher level foes - the purple patch will quickly reduce the ability for DR to hit the number of targets it needs to hit to achieve that maximum performance level consistently. In effect, DA and SR have mirror image problems: SR is vulnerable to hit streaks penetrating defense, and DA is vulnerable to miss streaks defusing DR.

It is fair to say that DA is, with reasonably conservative estimates, in a virtual tie with regen for best overall performance. But DA is more vulnerable to situational influences: its performance can be much lower, and it can also be vastly higher, than regen, depending on circumstance.


---> Is this big pile of numbers worth anything? <---

Do we overlook things in this comparison so far? Lots of things. The effects of probability. The effects of varying incoming damage (i.e. defeating foes). Non-mitigation effects (speed, accuracy, recovery). Half the DA set . Builds with power pools. Slotting constraints. Synergy with scrapper primaries. Given that, is this comparison worth anything at all?

Plenty, in my opinion. Firstly, a lot of the signals this comparison seems to show are pretty strong: its very likely that they would survive even when all other factors are piled on top of them Nothing short of running out of end constantly is likely to throw off Dark Armor's maximum potential, and that doesn't happen on short term scales. Not many things greatly affect regeneration's performance relative to the other sets we haven't already looked at. Synergy can help SR (i.e. parry) but since most scrapper primaries do not have either a defense buff or accuracy debuff, it does not appear to me that SR ought to be balanced against the other sets taking them into account. The big external factor (external to the secondaries) is hasten, and hasten seems to widen then gap between SR/invuln and DA/Regen.

I intend to cover lots of other angles in future articles: specifically more discrete statistical effects, more environmental issues, and more non-mitigation effects. But thats for another time.


Overall, here's what I think all this shows:

SR still lags a bit. The question is what is it lagging: if invuln is the standard for performance, its not lagging by much: it would not take very much at all to bring SR in an effective tie with invuln. On the other hand, if regen is the performance standard, SR (and invuln) are still lagging significantly. But balancing SR and invuln with regen will be tricky: we can't bring SR and invuln to the same level as regen's long term mitigation, because that would then make regen lag everywhere else (and remove its stated strong point of low downtime). We'd need some way to judge balance between SR, invuln, and regen that preserved regen's status as best downtime performance (and essentially best long term performer) while balancing the three around an alternate point: my vote would be three minute survival, since that recognizes Rest's role in balancing downtime - as stated by the devs. Balancing "around" doesn't necessarily mean they all get the same numbers, though. Each set has certain attributes that emphasize certain benefits over others. "Balancing" should preserve those advantages and disadvantages, but around a normalized performance level.

Invuln is tricky. Its performance - when you take everything - is actually pretty good. The main knock on invuln - its "lack" of non-smash/lethal mitigation - doesn't hold up. Its non-smash/lethal performance is actually pretty good - if you compare to SR. The only way to justify improving invuln's non-smash/lethal performance would be as part of a general balancing effort to bring SR and invuln up to regen and DA performance levels.

However, the "complaint" that invuln is more defensive than resistive does have an element of truth. To achieve maximum performance levels comparable to regeneration and SR's maximums requires fully leveraging invincibility, and when you do, invincibility is offering a sizeable level of invuln's performance. However, what's unclear to me is whether this is really a problem. Its certainly an aesthetic design issue, but given invincibility's history and performance levels, its unclear if invuln wasn't always supposed to be part resistance and part defense in concept. The notion of a primarily resistive invuln might be a player invention. Personally, I'd probably be happier with invuln's mitigation coming more from resistance than defense myself, but that is outside the realm of set balance.

Regen's performance is still the scrapper benchmark. Its performance levels are still very high, and still very achievable at an almost constant pace. However, it does have a few issues. First, MoG is clearly a problem. Its damage mitigation is too low, not when compared to Elude, but just compared to the rest of the set. It isn't that MoG is too weak, its that it lasts too long. The zero regeneration penalty is trivial over the short term, but an increasingly higher penalty the longer MoG lasts. A two minute MoG might make sense: a three minute MoG seems to make no sense.

Regen no longer unambiguously has the performance crown: DA theoretically can surpass it. How often DA can surpass it, and under what conditions, is debatable, but clearly, Regen's performance is no longer the outside boundary of maximum scrapper performance. Elude surpasses it, unstoppable + maximum invincibility surpasses it, and Dark Regeneration can surpass it. All situational, but all above regen's maximum performance levels. Hopefully, thats an indicator that future adjustments to regen will be minor ones, perhaps mechanical ones, but not major performance altering ones (even if invuln is the new performance standard, there are practical limits to how much lower regeneration's performance can be reasonably lowered before introducing other problems, short of highly creative adjustments).

I will say that nothing I've seen in these calculations (or literally hundreds of others) leads me to believe that regeneration is anything but one of the better scrapper sets, though. It has very few weaknesses, and the few it has I'll have to address in a separate article, because they involve much more complex analysis.

DA is something of a surprise. Not that its performance can exceed regen: I already had a pretty good idea of that. Its actually two things: first, that DA's peak performance is nothing short of astronomical, and second, DA's peak performance is so drastically different from its "typical" performance (if there is such a thing). In fact, the difference between low end DA performance and high end DA performance is greater than the difference between SR with and without Elude. And as I mentioned: this analysis doesn't even throw all of DA's tools into the mix.

DA was always going to be the hardest to compare. Its hard to simply dismiss lack of knockback protection: even with mitigators (acrobatics, hover) lack of knockback protection does cost DA (if nothing else, in endurance burn). Its hard to dismiss DA's high degree of situational variables: DA's situational vulnerability might rival or surpass SR's situational defense issues. About the best I can say, from both calculations and my experience with DA, is this: when (a high enough level) DA is in control of the situation, its basically indestructible. Even momentary loss of control, however, can be enough to drop it to, or below, regeneration's performance. More than any other scrapper secondary, DA requires skill to fully unlock its potential, but that potential is sky-high.

*IF* I had to rank the scrapper sets, based on these results, I'd rank them DA > Regen > Invuln > SR.

In PvE. Large portions of this analysis is totally invalid in PvP combat. PvP combat is something I intend to deal with another time.


---> Yeah, but... <---

I already know what some of you might be thinking. The following issues are outside the realm of average mitigation (which this part covers), but I fully intend to cover in later articles:

* Endurance Costs
* The effects of the purple patch
* "Luck"
* Inspirations
* Builds that incorporate power pool defenses
* The effects of offense on damage
* Synergistic effects with primary powers
* Buff Mechanics
* Non-mitigation secondary benefits (i.e. speed, travel, accuracy)

So if you're thinking "yeah, but blank blank can't blank blank when blank blank" you're probably right. In spite of that I think these calculations are still useful. In spite of that even if those other factors listed above affect the balance between the sets, its still questionable as to how much to weight such effects, and its still questionable if the secondaries ought not to be balanced on average statistics anyway. Remember that in a very real sense, the devs only care about two ultimate numbers: how many players play each set, and the relative xp/hour each set can achieve. Beyond that, everything else is really details. The scrapper secondaries only need to be balanced enough for enough people to perceive them as balanced in order for the devs to call it a day (some might suggest that's already true now). In my opinion, if they really are balanced, that guarantees that ultimately they will be perceived as such in the long term, simply because the actual performance of the sets will bear that out in the long run. Individual prejudices will of course always remain, but they ought to average out. In spite of the fact that I'm going to try to look at those other effects, it will always be from the perspective - not of calculating what their "true" effect is (which is extremely subjective anyway) - but of attempting to determine if they are strong enough to be materially significant. If they are, I'll try to see how so. If they aren't, I won't really care what they turn out to be.


---> Guaranteed to get me into trouble <---

There are three topics I would like to cover that are going to get me into trouble. Oh well.


1. Are the Invuln Passives too weak?

Lets review SR energy/elemental performance and Invuln energy/elemental performance, as measured by three minute survivability:

SR best case / worst case energy/elemental: 6.43%/s / 5.43%/s
Invuln energy/elemental: 4.87%/s

Invuln's energy/elemental performance is already within the range of SR's performance. How much higher can we make REn and REl before Invuln's energy/elemental peformance exceeds SR's best case performance?

fire/cold/energy/negative: 6.43%/s = 226.2% / (0.415) / (1 - res) / 140.6s; res = 0.397 (39.7%)
39.7% = 7.5% * 1.56 + PassiveRes * 1.56
PassiveRes = 31.1% / 1.56 - 7.5% = 17.9%

Any higher than 17.9% - in fact anything anywhere near 17.9% - is overpowered relative to SR's energy/elemental performance. Moreover, anything near 10.8% places Invuln's energy/elemental protection above SR's worst case energy/elemental, which is already questionable for a set with such high smash/lethal protection.

Suppose all damage types are actually equally common (which is, really a ridiculously generous assumption for invuln balance). Then, the average three minute dps number for SR is:

(6 * 6.43%/s + 2 * 4.88%/s) / 8 = 6.04%/s

What level of resistance will make Invuln's average performance equal to SR's across all damage types?

(2 * 7.71%/s + 4 * En/El + 3.68%/s + 2.93%/s) / 8 = 5.22%/s
4 * En/El = 5.22%/s * 8 - 15.4%/s - 3.68%/s - 2.93%/s = 22.01%/s
En/El = 22.01%/s / 4 = 5.50%/s

5.50%/s = 226.2% / 0.415 / (1 - res) / 140.6s; res = 0.295 (23.4%)
29.5% = 7.5% * 1.56 + PassiveRes * 1.56
PassiveRes = 29.5% / 1.56 - 7.5% = 11.4%

Any value higher than 11.4% would make invuln's overall performance higher than SR's average performance even when ridiculously underweighting smash/lethal damage.

Suppose smash/lethal damage is really 2/3s of all damage, which is much closer to the truth, and suppose all other damage types are equally common to each other. Now what should the invuln passives be?

SR: ( 2/3 * 6.43%/s + 1/3 * 1/6 * 4 * 6.43%/s + 1/3 * 1/6 * 2 * 4.88%/s) = 6.26%/s
Invuln : ( 2/3 * 7.71%/s + 1/3 * 1/6 * 4 * EnEl + 1/3 * 1/6 * 3.68%/s + 1/3 * 1/6 * 2.93%/s) = 5.51%/s + 2/9 * EnEl

EnEl = (6.26%/s - 5.51%/s) * 9/2 = 3.38%/s

Basically, lower than toxic protection now, and somewhat higher than psi protection. In other words, lower than what they are now.

Are the passive resists too weak? Well, if you think the passive resists are too weak because you think the net energy/elemental resistance of invuln is too weak, then the entire SR set is too weak also. If you think the passive resists are too weak because their contribution is not high enough to be worth taking, then the energy/elemental resistance of invuln can't be too low overall. The passives might be too weak. But they aren't unbalanced. Those are two different things.


2. Is MoG too weak?

There's no question MoG is broken: there are few situations where MoG would be better than regen without MoG. But the situational issue isn't necessarily damage rate, damage magnitude, or damage type (except for toxic/psi damage). Its really with *time*. MoG's non-toxic/psi penalty is lack of regeneration, and that penalty gets higher the longer MoG runs. A regen in trouble can use MoG to temporarily buy themselves better than normal mitigation. However, MoG lasts much longer than it can deliver that mitigation.

However, while MoG might be broken, that doesn't necessarily mean its obvious that MoG should be stronger. Lets "back of envelope" figure out what the relative balance between Regen and SR is, when Elude is used as often as possible.

SR's 180s Elude performance (best case s/l/f/c/e/n): 25.58%/s
SR's 180s Elude performance (toxic/psi): 19.44%/s
SR's 180s non-elude performance (best case s/l/f/c/e/n): 5.64%/s
SR's 180s non-elude performance (toxic/psi): 4.76%/s
Elude duty cycle: 180s out of 415s (3-slot + hasten)

Average performance ~ (25.58%/s * 180s + 5.64%/s * 235s) / 415s = 14.29%/s (s/l/f/c/e/n)
Average performance ~ (19.44%/s * 180s + 4.76%/s * 235s) / 415s = 11.13%/s (toxic/psi)


Regen's 180s IH performance (s/l/t): 20.06%/s
Regen's 180s IH performance (f/c/e/n/p): 18.30%/s
Regen's 180s non-IH performance (s/l/t): 13.52%/s
Regen's 180s non-IH performance (f/c/e/n/p): 12.33%/s
IH duty cycle: 180s out of 270s (note: IH lasts for 90s, but is averaged into the above numbers as 180s)

Average performance ~ (20.06%/s * 180s + 13.53%/s * 180s) / 360s = 16.80%/s (s/l/t)
Average performance ~ (18.30%/s * 180s + 12.33%/s * 180s) / 360s = 15.32%/s (f/c/e/n/p)

These are "average of averages" calculations: we can't trust them too far. However, weighted this way, regen's average performance exceeds SR's average performance factoring in Elude - even when Instant Healing *isn't* used as often as possible (its being used once every 360 seconds in those calculations, instead of every 270 seconds, to simplify the average calculations). If MoG *exceeded* regeneration's performance by any amount, the advantage regeneration has over SR/Elude would widen. A similar calculation would demonstrate similar results for Unstoppable/Invincibility. In actual fact, more detailed calculations - that properly account for Instant Healing's faster cycling speed - would show regen exceeds SR's average performance by even more than this one does.

Once again: MoG is definitely broken; it doesn't offer sufficient benefit based on how it currently functions. But whatever happens to MoG, if it outperforms the normal performance of regeneration, the combination of Regen/MoG would then exceed the average performance of SR/Elude and Invuln/Unstoppable by even wider amounts than now, which is a balance concern. "Fixing" MoG without making it overpowered would be tricky: shortening its duration is one possibility, but to be honest, I don't have an obvious answer here that doesn't involve stealing performance from the "normal" regen set and giving it to MoG - which is an actual nerf on the performance of the set (which I would rather not recommend just to satisfy aesthetic issues with MoG).

In short: if its good enough to take, it might be too good to have.

This is definitely not an easy problem to resolve.


3. Is the Unyielding Debuff too high?

Yes. And No.

Looking at the overall performance of the set, clearly invuln does not lag because of the debuff. But there are specific issues with the debuff that I believe warrant reviewing:

* The defense debuff is -5% to all [note: this is as far as I know; if I'm wrong some of this reasoning might also be wrong]. This is conceptually wrong because if no element of invuln's protections (except dull pain) protect against psi damage, no element of invuln's protection should mechanically make it easier for psi attacks to hit. Since invuln's defenses are typed, Unyielding's defense debuff should also be typed: this would make the debuff -5% to smash/lethal/fire/cold/energy/negative. No psi element, because unyielding should be neutral to psi. And no toxic because invuln's lack of toxic defense is almost certainly the result of game engine mechanics, and not because the devs wanted invuln to be defenseless to toxic (note: invuln has toxic resistance). Having Unyielding's debuff affect toxic is in effect a double strike on invuln: it lacks toxic defense because of a game engine issue, and it cannot therefore offset the toxic debuff in Unyielding.

* The defense debuff is completely offset by Tough Hide and Invincibility (except for toxic/psi). But Invincibility and Tough hide come much later than Unyielding, which means for a substantial amount of time, the defense debuff weakens Invuln without compensating offset. Futhermore, the debuff doesn't scale with (player) level, which means on a proportional basis its stronger at lower levels than higher ones (when damage mitigation for invuln is itself stronger). A penalty that hits Invuln harder at lower levels than higher ones on a proportional basis does not make sense from a balance perspective.

Interestingly, there is an easy way to eliminate the unyielding debuff in a way that doesn't upset overall set balance, and simplifies another power simultanously. Drop the debuff in unyielding, and change invincibility to 1.125% defense per target, period. By reducing the defense of the first target from 4.875% to 1.125%, on a slotted basis that is 1.56 * 3.75% = 5.85% - basically a wash. But lower level invuln performance would improve, and invuln would not take the extra (and in my opinion unjustified) hit on toxic and psi attacks.

Simply dropping the debuff, however, is only an option if the intent is to increase the performance of the invuln set. And Invuln isn't the lowest performing set. It also greatly increases the performance of invincibility at the top end, which is probably not desirable for balance.a



---> Final Thoughts <---

My I4 and I5 scrapper secondary comparisons were mainly driven to illustrate the degree to which SR lagged the other scrapper secondaries. There was absolutely no question that it did, and did so by wide margins. I was less sure when updating for I7 - especially how SR related to invuln. In my opinion, SR was hurt at least as hard by ED as everyone else (although in some respects regen was hit harder - in some respects), and SR's passive scaling resistance, while a significant buff, was outweighed by the subsequent buff of Dull Pain (which many people still highly underestimate). As a result, instead of focusing on calculations that would either demonstrate SR lagged the other sets, or demonstrate that it didn't, I did a lot more general calculations looking at the performance of all four sets relative to each other, this time broken down by damage type so people can see the numbers and come to their own conclusions.

I still think SR underperforms. I think it doesn't underperform invuln by much: about 5% net (i.e. maximally slotted) defense or +25% health (average) would be enough to bring them into relative parity (actually, they are close enough that this is slightly too much). But some of the reasoning has to do with other calculations not in here (still working on it).

I think SR and invuln both underperform regen and DA. However, (for reasons I'll need a separate article to explain in detail) I believe that both regen and DA present challenges for balancing. Firstly, regen and DA perform differently in PvP: regen retains its strong mitigation advantage in PvP under most conditions, while DA's mitigation potential is strongly suppressed. I think its important to be cogniscent of that when altering the sets: DA does not need any PvP reductions. Regen could be reduced in PvP relative to the other sets without unbalancing them in PvP, but then below a critical threshold regen becomes too heavily penalized in PvE combat, and PvE combat should never be seriously impaired for PvP reasons. For this reason alone, I would hesitate to tamper with regen's overall performance.

Given those complexities, the best choice might be to balance around regen: improving SR and Invuln to approach regen's PvE performance is likely to also improve SR and Invuln in PvP, which would bring them into closer parity with regen as well. DA might not need any significant changes at all: its heavy PvE advantages are balanced by some PvP complications, roughly balancing the set's overall utility, and its heavy PvE advantages are themselves situational. Being better than everyone else some of the time is fine, as long as its impractical to maintain that advantage all the time, and DA cannot maintain that advantage under the majority of all situations.

How precisely to do that is the challenge. There are, of course, lots of ways to do it: precisely what the best way to balance the performance of the sets is something I'm still thinking about. Its important to note that "balance" doesn't mean "identical." The best way to balance them is to make sure that each set has areas it does better than the other sets in, very few if any areas it does catastrophically worse in, and on the whole does about as well across the entire spectrum of situations likely to be encountered in the game. That ain't easy.

If we increase SR and invuln, do we risk eliminating the "challenge" of three even, or +3 minions? Possibly, but not necessarily. SR and Invuln live significantly below that line: except for invuln smash/lethal mitigation, both invuln and SR could be boosted by substantial amounts without totally eliminating the threat three even or +3 minions present. And since scrappers have much stronger mitigation than the "squishy" classes, balancing minion damage to scrappers might not be the best thing overall. To make sure that non-melee can survive the same situations that melee classes can, without melee classes being too overpowerd, the devs should switch from damage output and mitigation tweaking, to critter tweaking: in particular presenting special challenges to melee classes that hit them harder than the squishy classes (that typical have range).

And remember: DA and Regen already live significantly above the line. Preserving that line for SR and invuln, but not DA and Regen, is either unnecessarily inconsistent, or discriminatory.


Part two is going to look at statistical effects in greater detail, and when I'm done with those, hopefully I'll also have good recommendations to make in terms of balancing the scrapper secondaries with each other that take those results into account as well. Plus, I intend to cover the topics of alpha strikes, Soul Transfer, and PvP. At least one of those will get me into trouble: you wouldn't want to miss that.


[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]

In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)

 

Posted

Scrapper Secondary Comparisons (I7): Part Two (version 1.0)

Probability and Discreteness Effects


---> Introduction <---

Think average calculations don't represent the sets well? Ok, lets take the opposite extreme. In this part, we're going to look at the performance of the sets on a *very* discrete level. We're going to take full account of probability and discreteness, by using a discrete simulator. The simulator I'm using does the following things:

* Looks at time in discrete ticks: hundredths of a second (which is higher resolution than the likely server quantum of about 1/30th of a second)
* Looks at damage as occuring at regular intervals, instead of average values
* Looks at heals as occuring at regular intervals, instead of average values
* Looks at regeneration as occuring at regular intervals (base 12 seconds)
* Looks at +regen as speeding up regeneration ticks
* Properly implements Dull Pain and Instant Healing cycles, durations, and effects
* Properly accounts for the difference between Dull Pain's regen boost (increase in value) verses normal +regen (speed ticks)
* Implements the streakbreaker
* Allows for attacker numbers to oscillate
* Implements the SR passive resists
* Implements Invincibility as scaling with target count

What does it not do?

* Doesn't implement hasten directly (yet)
* Doesn't implement accuracy for DR (yet)
* Doesn't implement (damage/defense) typing
* All attackers must have identical accuracy, damage, and speed
* All attackers assumed to be in melee range for purposes of invincibility calculations

Basically, its good enough to look at the discrete behavior of Defense, Resistance, and Regeneration, plus certain special powers (in particular, heals, DP, and IH). With it, I'm going to reexamine the average calculations of Part One, to see how they hold up, and whether or not the basic conclusions of those averages are reasonable approximations for the true behavior of those sets. To start.


---> Reexamining The Survival Equations <---

Lets kick this off by reexamining the immortality equations, starting with SR.

Best case s/l/f/c/e/n: dps = 100%/240s / (0.5 - 0.273) / (0.76) = 2.42%/sec

What happens when SR is actually exposed to that much damage? Well, first we have to decide how to dole out that damage. Lets start with three even minion-like attackers. That would be 1338 * 0.0242 * 5 / 3 = 53.97 damage / 5 seconds x 3 attackers.

iterations: 10000 max seconds: 1800 lev: +0 dmg: 53.9700 #: 3 (tohits: 0.2270)
# deaths in 10000 runs/survival %: SR: 2/99.98%
avg longevity (when died)/avg eof health (when survived): SR: 1080.0 sec/457.6

Pretty good: that level of damage is highly survival for indefinite periods of time (2 defeats out of 10000 1800 second runs). How good is the invuln immortality line?

smash/lethal: dps = 126.2% / (0.55 - 0.129) / (1 - 0.497) / 140.6s = 4.23%/s

4.23%/sec = 94.33dmg/attack (3 attackers)

iterations: 10000 max seconds: 1800 lev: +0 dmg: 94.3300 #: 3 (tohits: 0.4915)
# deaths in 10000 runs/survival %: INV: 3/99.97%
avg longevity (when died)/avg eof health (when survived): INV: 826.7 sec/1356.2

So far so good. Lets look at regen next:

smash/lethal/toxic: dps = 647.1% / 0.5 / (1 - res) / 140.6s = 10.09%/s

10.09% = 225.00 dmg / 5 sec x 3 attackers.

iterations: 10000 max seconds: 1800 lev: +0 dmg: 225.0000 #: 3 (tohits: 0.5000)
# deaths in 10000 runs/survival %: RG: 7548/24.52%
avg longevity (when died)/avg eof health (when survived): RG: 710.2 sec/1619.9

Clearly, something went wrong here: Regen isn't actually surviving levels of damage that the average calculations claim it can. Is there something wrong with the average calculations? Well, yes and no. But first, how do we tell how much damage regen *can* sustain? Well, if all we have is the simulator (which is all I'm covering in this part), then we could run it for different levels of damage, and see at what point regen stops dying:

(damage per attack: number of deaths in 10,000 iterations, percentage survival rate)
140: 133, 98.67
139: 135, 98.65
138: 114, 98.86
137: 57, 99.43
136: 56, 99.44
135: 22, 99.78
134: 20, 99.80
133: 17, 99.83
132: 21, 99.79
131: 19, 99.81
130: 11, 99.89
129: 5, 99.95
128: 2, 99.98
127: 3, 99.97
126: 2, 99.98
125: 1, 99.99
124: 1, 99.99
123: 0, 100.00

I'm going to tend to consider 1 death per 1000 or thereabouts to be "sustainable" (that's 1,800,000 simulated seconds in this case: 500 hours). In the future, I'm going to just quote the numbers instead of showing the trend like this, unless its necessary to illustrate a particular point. So the sustainable mark is around 129 dmg per attack.

But is this due to the "bad luck streak" problem? Only partially. In fact, there is another effect going on here. Look at these two numbers:

Smart ON
175: 4935, 50.65
170: 3782, 62.18
165: 1861, 81.39
160: 1275, 87.25
155: 454, 95.46
150: 257, 97.43
145: 59, 99.41
140: 24, 99.76
135: 3, 99.97
130: 2, 99.98

Smart OFF
175: 5475, 45.25
170: 4319, 56.81
165: 2302, 76.98
160: 1682, 83.18
155: 612, 93.88
150: 378, 96.22
145: 82, 99.18
140: 57, 99.43
135: 11, 99.89
130: 5, 99.95

These are defeats out of 10,000 with a special (experimental) parameter flipped off and on. What does the parameter do? It delays firing reconstruction until a certain criteria is met (regen scrapper has to have a certain critical amount of damage first). Simply delaying reconstruction while its not needed can reduce the number of defeats per 10,000 by anywhere from 10% to 50%. In this case, with Smart on sustainable damage increases to about 137 damage per attack. Rough calculations lead me to believe that the "Smart" code (actually called "nudge" in the simulator) would have an even stronger effect on dull pain: probably raising sustainable damage to about 150 damage per attack.

That's still a far cry below the 225 damage per attack calculated by the average calculations. So looking at just stochastics, it seems like regen looked a lot better in Part One than it actually is. Even factoring in the "stupid click" issue, it seems that looking at discrete calculations shows Regen and DA heavily underperforming the level of performance the average calculations indicate. But is it because Regen and DA themselves are more heavily penalized then SR and Invuln? Not exactly. There's another effect going on, and its the important one. Suppose we bring regen down to SR's immortality line (that's NOT the same thing as balancing the sets, for reasons already mentioned in part one). Regen is so much more powerful than SR that the only way to do that is to remove Dull Pain and Reconstruction completely, and reduce its total regeneration boost to approximately 2.65 (amazingly, that's equivalent to eliminating fast healing and slotting Integration with training enhancements). That would make its average calculation immortality line about 2.4%/sec, similar to SR's. What is its actual measured sustainable damage level according to the discrete simulator?

50 dmg per attack; 2.24%/sec.

The simulator shows a number very close to the average calculations: its only 6.6% lower.

What's actually going on is that while Regen and DA are somewhat more vulnerable to stochastic effects than SR or Invuln, that's not the majority effect being observed here. What's actually happening is that all scrappers are vulnerable to stochastic effects as damage per attack increases. Why are Regen and DA more heavily "hurt" when we look at them stochastically? Because only those two sets are so powerful they drive themselves into problem areas for average equations in general.

This is significant: it means the skewing we see isn't necessarily a problem for balancing the sets: the effect will always tend to make better sets look less better, but its not strong enough (for the most part) to make sets that look better in average calculations actually worse in practice. In "extreme" circumstances, we'll have to revist this, but its a sufficiently important conclusion that it bears repeating:

These results do not invalidate the Part One average calculations - in fact, they illustrate in better detail when, and why, the average calculations actually *are* representative of the relative strengths of the sets.

(There is still another effect which lowers these numbers, in a somewhat more complex way, but its discussed later in this analysis)

For the rest of the analysis, unless otherwise specified, "Smart" is going to be turned OFF during calculations (its still experimental, and slows things down a bit - the important thing to note is that regen functions *better* than the simulator normally predicts, because it normally simulates regens as "stupid").

To complete the review of the immortality line, here's DA:

smash/lethal/fire/cold: dps = 92.3% / (0.5 - 0.051) / (1 - 0.351) / 30s = 10.56%/s

Actual:

144: 66, 99.34
143: 69, 99.31
142: 58, 99.42
141: 9, 99.91

DA, like regen, is susceptible to deviations from average, and that shows in its survival curve: 141.0 (5.9%/sec) is closer to the indefinitely survivable level of damage, a dramatic lowering from the average 235.49 (10.56%/s). As with regen, a small part of that sensitivity is due to the mechanics of DA, and the majority of that sensitivity is due to the fact that DA is strong enough to actually encounter these discrete effects.


Summary:

These calculations show that regen and DA are strong enough to drive their performance into areas more sensitive to discrete events than SR or Invuln, and that lowers their survival curves substantially relative to SR and Invuln. SR and invuln parallel the average calculations quite closely. Its not enough to bring regen or DA down to SR or Invuln performance, however: they still retain a substantial lead, and for the most part, any set that looks better in Part One average calculations can look less better in practice, but its extremely unlikely for them to look worse overall. This means the average calculations are in fact reasonable metrics - much better than most people might guess. This *wouldn't* be true if all the sets had very high mitigation - they wouldn't be as good in I3 comparisons, for example.

In rough terms (these are estimates based on the observed curves), these are the sustainable damage levels observed in the simulator:

SR: 54 x 3 attackers x 5 secs (2.42%/sec)
Invuln: 95 x 3 attackers x 5 secs (4.26%/sec)
Regen: 129 x 3 attackers x 5 secs (5.78%/sec)
DA: 141 x 3 attackers x 5 secs (5.92%/sec)

[Note: these are smash/lethal numbers. Unless otherwise specified, all numbers are smash/lethal numbers. The intent is to look at how these factors shift the numbers for reference: calculating them for all damage types would create a blizzard of numbers.]


---> Number of attackers <---

We have been assuming that the incoming damage is distributed among three identical attackers. What happens if its just one single powerful attacker instead?

SR: 129 [1.93%/sec]
IN: 231: [3.45%/sec]
RG: 321: [4.80%/sec]
DA: 262: [3.92%/sec]

Everyone's numbers go down, and interestingly in almost exactly the same manner. Single attacker dps is from 79.8% (SR) to 83.0% (Regen) of three attacker levels (Invuln is 81.0%). Oddly, regen seems to be the most resilient to the "big attacker" effect, but that's partially an illusion: remember, regen has already been heavily adjusted downward by the discrete calculations because of its high mitigation level. DA is the exception (66.2%); its the most vulnerable to the "big attacker" effect, but mainly because Dark Regeneration is much weaker against only a single target (and like Regen, its subject to the "stupid clicker" effect).

At the damage levels being analyzed, the "big attacker" effect affects everyone, and except for DA (which is actually hurt by the "only one target for DR effect") it affects everyone's long term survivability in a similar manner.


---> The Bottom Line <---

Although switching from average calculations to discrete calculations has served to lower everyone's numbers somewhat, it hasn't really altered the relative rankings of them by much. Depending on circumstance, the discrete calculations show the scrapper sets as being DA>Regen>Invuln>SR or Regen>DA>Invuln>SR. Real World effects tend to compress the gaps between the sets, but it doesn't reorder them. At the levels of mitigation being discussed, discrete effects are proportional to damage scale and an order of magnitude higher than the individual set effects: as such, they are unlikely to change the relative ranking of the sets except under unusual conditions.

(For the mathematically inclined, you can prove that the discrete effects are always going to compress, rather than reorder the set's mitigation value under all conditions meeting certain criteria. The proof is rather involved though, and left as an exercise for the reader.)


---> three minute survival <---

The calculations above tracked the damage mitigation for 1800 seconds (30 minutes) as a rough approximation for indefinite survival (survival beyond continuous thirty minutes seems unnecessarily prolonged for comparison purposes). What happens if we specifically look at shorter term survival, like three minutes?

Here are the 185 second numbers calculated for smash/lethal damage from part one for comparison:

SR: Best case s/l/f/c/e/n: dps = 177.08% / (0.5 - 0.273) / (1 - 0.24) / 185s = 5.55%/s
IN: smash/lethal: dps = 226.2% / (0.55 - 0.129) / (1 - 0.497) / 140.6s = 7.60%/s
RG: smash/lethal/fire/cold: dps = 655.88% / 0.449 / 0.649 / 185s = 12.17%/s
DA: smash/lethal/toxic: dps = 747.1% / 0.5 / (1 - 0.088) / 140.6s = 11.65%/s

And here are the results from the simulator:

three attacker numbers (note: iterations increased to 100,000 for more accuracy)
SR: 78 (3.50%/s)
IN: 104 (4.66%/s)
RG: 141 (6.32%/s)
DA: 151 (6.77%/s)

one attacker numbers
SR: 174 (2.60%/s)
IN: 246 (3.68%/s)
RG: 350 (5.23%/s)
DA: 287 (4.29%/s)

DA is most strongly affected not because of the switch to higher damage pulses, but because Dark Regeneration is now limited to one target.


---> Comparing Invuln to SR <---

Based on the numbers so far, its clear that DA and Regen have a significant edge over SR and Invuln, and typed weaknesses are not likely to alter that circumstance (DA is weaker against energy/toxic than smash/lethal, but not by enough of a margin to overcome the very large advantage over SR and Invuln). Typed damage only makes a difference between SR and Invuln, battling for last place. So lets look more carefully at invuln's non-smash/lethal performance, in comparison to SR:

[Three attackers]

Invuln three minute (180 sec) survival (three attacker, 3-target invincibility)

smash/lethal: 104
energy/elemental: 66
toxic: 51
psi: 40

Invuln three minute (180 sec) survival (three attacker, 1-target invincibility)

smash/lethal: 99
energy/elemental: 62
toxic: 51
psi: 40

SR three minute (180 sec) survival (three attacker)

smash/lethal/fire/cold/energy/negative: 80
toxic/psi: 59

[One attacker]

Invuln three minute (180 sec) survival (one attacker, 1-target invincibility)

smash/lethal: 250
energy/elemental: 155
toxic: 133
psi: 106

SR three minute (180 sec) survival (one attacker)

smash/lethal/fire/cold/energy/negative: 174
toxic/psi: 134

It isn't totally unambiguous which is really better, since Invuln is better at smash/lethal, SR wins on energy/elemental, they basically tie on toxic, and SR wins on psi. However, by most metrics I would consider, Invuln is ahead overall: it exceeds SR's smash/lethal performance by more than SR exceeds Invuln on energy, elemental, and psi, and smash/lethal damage far exceeds energy, elemental, and psi damage (smash/lethal damage almost certainly exceeds energy, elemental, and psi damage combined.

And there's more: Invuln, like Regen, is vulnerable to the "stupid clicker" effect. These 180 second survival numbers presume that Invuln fires Dull Pain immediately which completely wastes Dull Pain's heal. What happens if Invuln fires Dull Pain more intelligently? Well, forget intelligently, lets just assume Invuln waits exactly 47 seconds before firing Dull Pain, regardless of the amount of damage taken to that point:

Invuln three minute (180 sec) survival (three attacker, 1-target invincibility)
- 47 second Dull Pain delay

smash/lethal: 125
energy/elemental: 80
toxic: 66
psi: 52

With proper management of Dull Pain's heal, Invuln can outsurvive SR in 180 second intervals for all damage types except psi, where its barely outdone. That's all damage types, including energy, elemental, and toxic.

Its extremely difficult to find a reasonable metric where Invuln does worse than SR. Their performance is now closer than they have probably ever been since release, but SR does still lag Invuln, and by a significant margin.


---> Sawtooth Damage Curves and the Streakbreaker <---

There is a subtle flaw in the numbers above that is there to counterbalance a potentially greater flaw. First, the small flaw: in all of those numbers above, the streakbreaker is turned off.

Why would I do that? Well, interestingly, its because up till now, the streakbreaker would be biased against SR relative to real-world performance because of a broken assumption.

First, a quick review of the streakbreaker. The streakbreaker is a feature of the game engine that will force an attack to be a guaranteed hit if the attacker misses too many times in a row. How often is "too often?" It depends on the relative tohit of the attacker (see my Guide to Defense for more information on the streakbreaker). For our purposes, its enough to know that at the tohit level of an SR scrapper being attacked by an even minion (22.7%) the streakbreaker will break any miss streak longer than 8 hits. If an attacker misses eight times in a row, the ninth swing will be an automatic hit.

This is a surprisingly strong effect, actually. How strong? Well, there are two ways to show you. First, if the streakbreaker is on, and you have enough defense to get hit 22.7% of the time (27.3% defense), how often will you *actually* be hit by a single villain that just keeps swinging indefinitely? Answer: about 25.2% - 2.5 percentage points more often. That's actually a lot (and actually, SR scrappers live near one of the worst areas of the streakbreaker effect). In effect, the streakbreaker is roughly capable of nullifying a single unslotted power pool defense. The effect it has on long term survivability is significant:

SR long term (1800 sec) survival (three attacker)

Streakbreaker ON vs Streakbreaker OFF
54: 4, 99.96 54: 2, 99.98
56: 36, 99.64 56: 11, 99.89
58: 158, 98.42 58: 43, 99.57
60: 460, 95.40 60: 132, 98.68
62: 1154, 88.46 62: 368, 96.32
64: 2400, 76.00 64: 837, 91.63
66: 4218, 57.82 66: 1657, 83.43
68: 6218, 37.82 68: 2880, 71.20
70: 7865, 21.35 70: 4395, 56.05

A very noticable effect on survivability. So why did I turn it off? Because there is another effect that is potentially even stronger, and acts in favor of SR, which would have made turning on the streakbreaker potentially unfair to SR. It has to do with how the streakbreaker works mechanically. There is a certain probability of the streakbreaker engaging at any one particular time, that is based on the probability of getting eight misses in a row. But its important to realize that the streakbreaker *cannot* do anything in the first eight swings. The probability of the streakbreaker helping or hurting you in the first eight swings is exactly zero, since the streakbreaker cannot possibly have seen eight misses yet.

And that is significant, because its often the case that a real scrapper defeats things before they can swing nine times. Up until now, we're been looking at survival curves based on static attackers. We haven't considered what effect actually defeating them might have. If all scrappers defeat things before they've had a chance to swing nine times, the streakbreaker will have no effect on SR survivability at all.

(As is often the case, this is not 100% true. The streakbreaker can be "primed" as long as the villains have had a chance to attack *anything* which means engaging villains in missions where the villains have previously been fighting each other can theoretically place the SR scrapper in a position where the streakbreaker might take effect. But this is a marginal effect, especially since such villains are often themselves not at full health anymore).

If we model defeating a group and then moving on to the next group, the average damage envelope is no longer constant, but triangular, or sawtooth shaped. Average damage starts initially high when all attackers are alive, and then staircases downward as each villain is defeated in turn, until damage drops to zero. Then the cycle starts over with an initial jump back up to maximum damage. The simulator can be programmed to throw attackers at the player in this way, to see the effect of this "sawtooth" damage - which properly weights resistance to burst damage. We can also turn on the streakbreaker, since the streakbreaker will now function as it ordinarily would in-game.

Lets look at the three minion case again, but this time we're going to assume that the scrapper defeats one villain at a time in about eight seconds on average. That's not a bad estimate; it assumes about four swings on the target, three to defeat, plus the occasional miss. We're going to assume, then, that the scrapper is exposed to three attackers for eight seconds, two for eight seconds, one for eight seconds, and zero for eight seconds, and then the whole thing starts over again. If we do, to get to the same "average" damage numbers, we would need to double the damage of each villain, since the average amount of time each one stays alive is only half of one cycle. It won't matter too much: we want to compare the scrappers to each other, not to the previous hypothetical results, but it will still be interesting to see how strong the "sawtooth damage effect" is.

We're also turning on the streakbreaker: it will remain on for the rest of the analysis unless I state otherwise.

We'll start by looking at all four sets survivability over 1800 seconds (half an hour). At this point, the calculator is beginning to approach a real simulation of spawn by spawn combat, on at least a very rough scale: just as the immortality line was a rough estimate for the long term damage mitigation potential of each set (and its results were not all that far off in overall rankings), so this test will be a rough estimate of survivability in a single solo mission, on a very crude scale.

Three attacker, 8 second sawtooth

SR: 94
INV: 148
RG: 192
DA: 103

---> Dark Regeneration <---

Whoa, DA's numbers went down fast relative to the other sets. Something clearly happened when we switched to sawtooth curves. Part of the reason is that DA now often has less targets to use DR on. But another reason has to do with timing: burst damage is getting high enough to outpace dark regeneration. Lets try altering DR: its currently set to the same slotting pattern as in Part One: 1 heal (the rest endrdx and acc). Lets try 1 recharge instead:

DA: 158

Lets say slotting with recharge tends to work better. The reason why it does is actually pretty straight forward: slotting for heal and slotting for recharge increases the average heal per second by about the same amount (more or less), but it makes DR's behavior more "wild" - higher heals less frequently. Slotting for recharge "evens out" the heal more, and reduces the time frame that burst damage has to kill before the next heal cycle.

Even with the modified slotting, however, DA loses ground relative to Regen with sawtooth damage. The reason is probably obvious to DA scrappers: with varying numbers of targets, Dark Regeneration doesn't always function at full strength. And because the simulator doesn't simulate any intelligence in selecting the right time to use heals, DA is penalized by the "stupid clicker" issue to an even higher degree than regen - higher because selecting the right time to fire DR can triple its benefit.

Its important to keep in mind that DA's actual performance is always going to be a little better than the simulator indicates, because it can't simulate good DR tactics (although, I've noticed that players are not always good at simulating good DR tactics either ).

When we add hasten to the mix, this will change.


---> Interlude <---

Soapbox warning

At this point, we've looked at the effects of discrete timing, probability, sawtooth damage, and the streakbreaker. Basically, that's about as accurate as we can look at damage mitigation mechanisms, in terms of the significant effects on mitigation that occur in real game play. The performance of the sets themselves, in the absence of power pools, preserves the relative rankings of the average calculations with one modification: Regen > DA > invuln > SR - Regen overtakes DA in these comparisons, although they were close to each other in performance anyway (we haven't looked at maximum performance DA quite yet). Now we're going to break the last "unrealistic" assumption in these comparisons: limiting ourselves to powers in the set, excluding power pools.

Before we do, a word on balance: in general, I believe the sets should be at least roughly balanced without resorting to power pools. If they are not, they are unbalanced in my opinion regardless of what the impact the power pools have. Many people would disagree: they would say that the power sets need to be balanced based on optimal builds, which include power pools.

I recognize, however, that not all power pool powers are created equal: ignoring in some powers (health, hasten) don't acknowledge the overwhelming commonality of those powers - much as I recognized the potential significance of Rest in Part One. Given that, its clear that balancing the scrapper secondaries without power pool additions is a somewhat grey and fuzzy concept. Acknowledging that, I'm vehemently opposed to the notion of "optimized balance" - the notion that the scrapper sets should be balanced against their maximum performance. That's ludicrous, and virtually one really believes it: what some people believe is that the sets should be balanced when their build compromises are followed; they acknowledge that "absolute maximum" mitigation is unplayable, but of course, their build compromises are the correct ones to judge the sets on. Needless to say, I'm disinclined to agree.

There is also the notion that the sets can't be balanced: that balance is some weird, ephemeral unmeasurable thing. That's fine: lets give SR 500% defense, Invuln 2.5% resistance to all, and Regen a 100% heal every four minutes. What, unbalanced? Prove it.

Actually, there is an even weirder notion: that balance not only can't be achieved, its not even worth pursuing. That there are "greater" issues than set balance. There are no issues greater in an MMO than balance. MMOs are shared environments: players are encouraged to interact in a variety of ways, not the least of which is sharing a consensus experience. Players *will* compare performance: its absolutely ridiculous to make a game designed to encourage shared experiences and disavow comparisons. And large imbalances are, in the long run, socially unacceptable. It will always cause problems, and that isn't dismissable, because the whole purpose of MMOs is to cultivate that shared experience. Even solo players often share their experience with other players "out of band" so to speak.

In psychology and game theory, this concept is referred to as Inequity Aversion. Ignore it as a game designer at your own peril.

Bottom line: I feel the scrapper sets can be balanced, and can be balanced within the parameters of looking at their peformance outside of external influences as a first order approximation. And I believe that in the long run, such balance - on at least a coarse scale - is necessary for the long term health of the game. If you think otherwise, write your own analysis.


---> Ramping up: Health, Hasten, Tough, Weave <---

One thing my simulator *doesn't* currently deal with properly is hasten: we're going to have to look at average hasten boosts. Sorry: hasten is a TODO. I'm going to add three-slot hasten and 3-slot health to each scrapper set, and reevaluate their performance. On a relative basis, health should help SR and Invuln more than DR and Regen, so *maybe* it will help close the gap between them. But hasten is going to help DR and Regen more than SR and Invuln: lets see how they play out.

As in the average calculations, I'm going to assume hasten has an average boost of 0.47. Health will have a base boost of 0.4, 3-slotted to 0.78 (0.4 * 1.95). SR will have its normal defenses (27.3%) and three passives, Invuln will have Dull Pain, 3-slot all resistances, TH, and Invincibility, Regen will have all powers except IH, and DA will have the normal resistances and Dark Regeneration.

We're going to continue from our last look: 3 attacker sawtooth, streakbreaker on.

There was a time, long ago, when many people asserted that health was basically worthless, because "it won't save your life." Lets see how it affects long term survivability:

three attacker 1800 second survivability: no health, no hasten / just health / just hasten / health and hasten

SR: 94 / 138 / 94 / 138
INV: 148 / 198 / 173 / 229
RG: 192 / 198 / 204 / 212
DA: 158 / 178 / 182 / 191

Let's just say it has some effect.

Its worth noting that Health has the biggest impact on SR and Invuln - the two lower-performing sets. In fact, Health brings Invuln (smash/lethal) performance about equal to Regen's performance. At least, Regen's performance without any other power pool defenses, Instant Healing, or Hasten. Also worth noting, health helps SR and Invuln more than hasten, and hasten helps Regen and DA more than health. The reason why is that defense and resistance amplifies regeneration and therefore the effects of health. On the other hand, the powerful heals Reconstruction and Dark Regeneration tend to dilute the effects of incremental health regeneration increases, but are magnified in effect by hasten.

Incidentally, there are two reasons why I delayed looking at health till now (Part Two) instead of Part One: first, because I wanted to cover health with the other power pool defenses, but second, health (like all +regen) has two mitigation effects: an average regeneration boost effect, and a discrete effect that only shows up in discrete calculations. +Regen powers work by decreasing the interval between health recovery ticks. In effect, all scrappers (and all ATs) have a continuous, 12 second recharging heal power that heals for 5% of health. +Regen powers speed up this short interval heal. Doing so improves the value of health regeneration separate from the average increase in value, in much the same way as reducing the recharge time of other heals improves their utility (see Dark Regeneration, above). The effect turns out to be relatively small, but it still affects scrapper survivability by measurable levels (if you decide to look). For that reason, looking at the incremental value of Health with the simulator turns out to be somewhat more accurate than the average calculations would imply. As it turns out, the effect is not large enough to invalidate average calculations; its a relatively small adjustment overall.

And here are the one-attacker numbers: no health, no hasten / just health / just hasten / health and hasten

SR: 202 / 276 / 202 / 276
INV: 345 / 456 / 396 / 509
RG: 513 / 531 / 610 / 638
DA: 296 / 360 / 345 / 411

Again, DA is most strongly affected by the switch to a single attacker, because Dark Regeneration becomes limited in heal strength. Everyone else is affected in a comparable manner. Oddly, Regen isn't affected as strongly; it overtakes Invuln. Essentially, this is because of the sawtooth effect: because villains are being defeated, in effect Regen is getting a "break" every 8 seconds. Although Regen is actually more vulnerable to the "big attacker" effect than Invuln, Regen has an advantage under sawtooth damage curves: it has a higher immortality line.

This higher immortality line means that for regen, it doesn't matter how many attackers it faces, but rather how many more above the immortality line it faces. Regen is strongly rewarded for defeating villains - more than Invuln. This shouldn't be surprising: its simply the converse statement as "regeneration doesn't scale." "Doesn't scale" means it doesn't get any better when facing more villains (unlike defense or resistance), and that means it doesn't get worse when facing less.

Moreso than the other scrapper sets, Regen is rewarded for getting quick kills. Unlike other scrapper sets that see a defeat as a proportional drop in incoming damage, Regen sees a defeat as racing towards the immortality line. Once Regen crosses the line, the fight is basically over.

Just to illustrate the "quick kill" effect, here are Regen's numbers when the defeat speed is changed from one per 8 seconds, to one per 16 seconds, under health and hasten:

RG: 638/586

Notice how strongly regen is affected by increasing the kill interval (i.e. decreasing kill speed). Regen, being more vulnerable to burst damage, is strongly affected by increasing the length of time that the single strong villain remains alive, even though average damage remains exactly the same under both conditions (because the recovery time is also increased).


Health and hasten are probably the two most common power pool powers that strongly affect damage mitigation for scrappers, and its not an unreasonable proposition to assume that the average scrapper probably has both. Lets see how those stack up against Tough and Weave. Tough and Weave are probably not as ubiquitous as Health and Hasten, but they are very likely to be the two most common supplemental damage mitigation powers after Health and Hasten, especially for scrappers. Lets look at each power's effect on damage mitigation. We're going to look at tough and weave stacked on top of hasten and health, to see the incremental effect.

Three attacker 1800 second survival: health,hasten only / tough / weave / tough + weave

SR: 138 / 193 / 160 / 217
INV: 229 / 307 / 243 / 328
RG: 212 / 263 / 212 / 263
DA: 191 / 262 / 205 / 282

There's a couple of interesting things to note. First, amazingly, SR benefits more from tough than weave (at least, on smash/lethal damage). That's due to the fact that tough is numerically stronger than weave (again, for smash/lethal damage), but more importantly its because of the strong stacking with the SR passive resists. We'll look at the behavior of the SR passives later: for now its enough to make note of this strong stacking effect.

Second, look at the effect of weave on Regen. I was sufficiently surprised by this to check it multiple times: the effect is real. Weave has very little effect on Regen long term survivability, while tough has a huge one (it does have *some* effect, but its not enough to alter the average survivable damage by more than a few tenths of a point). Why is that? Fundamentally, its because of regen's very high rate of regeneration. Its so high, that regen's main vulnerability is a temporal one: burst damage. Resistance and Defense have different effects on burst damage, and only one of them helps long term survivability. Defense reduces the probability of a high burst. Resistance reduces the strength of bursts. Since the effect of Defense is to reduce the likelihood of high bursts, over long enough periods of time, such bursts nevertheless become probable. Resistance, on the other hand, can eliminate the lethality of all bursts below a certain strength. This makes Resistance *much* more beneficial to regeneration over the long haul than Defense.

Tough has a surprisingly strong effect on survivability on all the scrappers. Weave, on the other hand, has very odd effects: sometimes it helps, sometimes it doesn't - at least not noticably so. In effect, tough averages out to a high continuous benefit, while weave ironically tends to often average out to no net effect. This is especially true for Regen and DA, neither of which have very high defenses for weave to stack onto.


[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]

In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)

 

Posted

---> Hey look, an actual discrete oddity <---

Up to this point, I've been showing how, even though looking at things "realistically" - using discrete calculations instead of average calculations - shows some interesting effects, it doesn't tend to radically alter the conclusions of the average calculations overall. It just modifies them: usually by introducing non-linear but still stable and predictable effects (for example, the "high damage effect" reduces the amount of damage each AT can survive, but tends to do so in a way that doesn't alter the rankings of the AT).

But we're about to run into an actual phenomenon that is a consequence of the discrete nature of the damage equations, is totally non-intuitive, and actually influences the four ATs in radically different ways. Check this table out:

272: 32, 99.97 272: 54, 99.95 272: 100, 99.90
273: 51, 99.95 273: 67, 99.93 273: 135, 99.86
274: 55, 99.94 274: 69, 99.93 274: 127, 99.87
275: 66, 99.93 275: 88, 99.91 275: 163, 99.84
276: 81, 99.92 276: 88, 99.91 276: 156, 99.84
277: 81, 99.92 277: 94, 99.91 277: 201, 99.80

This is SR's survival numbers for 8 second cycles, 16 second cycles, and 24 second cycles (i.e. how long it takes to defeat a single villain, and commensurately how long SR rests in between villains). All three columns therefore have the same average damage according the average damage calculations. Notice that as the lifetime of the villains gets longer, SR's average survivability goes down. That makes sense: if SR has to deal with higher damage longer, that makes it harder to stay alive, even if it means at other times SR can see lower damage also for longer periods of time. SR is affected in a manner similar to regen, but in a highly muted manner: Regen is strongly affected, while SR is weakly affected. Now check out this table:

494: 1, 100.00 494: 0, 100.00 494: 1, 100.00 494: 18, 99.91 494: 66, 99.67 494: 100, 99.50
495: 3, 99.98 495: 3, 99.98 495: 0, 100.00 495: 12, 99.94 495: 72, 99.64 495: 109, 99.45
496: 8, 99.96 496: 2, 99.99 496: 1, 100.00 496: 12, 99.94 496: 89, 99.56 496: 99, 99.50
497: 10, 99.95 497: 2, 99.99 497: 0, 100.00 497: 15, 99.92 497: 84, 99.58 497: 96, 99.52
498: 3, 99.98 498: 3, 99.98 498: 1, 100.00 498: 21, 99.89 498: 68, 99.66 498: 135, 99.33
499: 5, 99.97 499: 3, 99.98 499: 4, 99.98 499: 19, 99.91 499: 92, 99.54 499: 112, 99.44
500: 4, 99.98 500: 4, 99.98 500: 2, 99.99 500: 11, 99.94 500: 81, 99.59 500: 119, 99.41
501: 13, 99.94 501: 4, 99.98 501: 2, 99.99 501: 28, 99.86 501: 88, 99.56 501: 112, 99.44
502: 8, 99.96 502: 8, 99.96 502: 2, 99.99 502: 24, 99.88 502: 84, 99.58 502: 117, 99.42
503: 10, 99.95 503: 3, 99.98 503: 3, 99.98 503: 30, 99.85 503: 75, 99.63 503: 123, 99.39
504: 8, 99.96 504: 3, 99.98 504: 1, 100.00 504: 34, 99.83 504: 84, 99.58 504: 139, 99.31
505: 15, 99.92 505: 4, 99.98 505: 17, 99.92 505: 43, 99.78 505: 71, 99.64 505: 184, 99.08
506: 16, 99.92 506: 9, 99.95 506: 9, 99.95 506: 32, 99.84 506: 88, 99.56 506: 184, 99.08
507: 19, 99.91 507: 8, 99.96 507: 9, 99.95 507: 37, 99.81 507: 90, 99.55 507: 227, 98.86
508: 17, 99.92 508: 5, 99.97 508: 8, 99.96 508: 48, 99.76 508: 82, 99.59 508: 222, 98.89
509: 16, 99.92 509: 7, 99.97 509: 14, 99.93 509: 36, 99.82 509: 90, 99.55 509: 247, 98.77
510: 35, 99.83 510: 7, 99.97 510: 10, 99.95 510: 43, 99.78 510: 172, 99.14 510: 230, 98.85

This is Invuln's survivability as cycle times go from 8 seconds to 24 seconds in 4 second intervals.

Err, what the heck is going on here? Invuln, unlike SR, actually becomes *more* survivable as lifetime goes up, at least from 8 seconds to 16 seconds. Then from 16 seconds to 24 seconds, survival goes down.

I'll be honest: even for me, this one was a bit of a surprise, in a sea of otherwise quite predictable behavior. And to be honest, I'm still not 100% sure what causes the behavior, although I have a number of possible candidates. This one, unfortunately, will have to remain a mystery for a while. However, I can give you the 8 second/16 second long term survival numbers:

INV: 509/517

Survival under 16 second cycles is higher than survival under 8 second cycles by a significant amount. This only seems to happen with Invuln. So Regen is strongly improved by quicker cycling, SR is weakly improved by quicker cycling, and Invuln is (within a certain range) actually improved by slower cycling. Weird.

There are a couple of oddities floating around if you really look hard. The important thing about them is that they all have very slight effects overall - on the order of a few percent. Not enough to materially change rankings given the spread in numbers. In general, its easy to demonstrate that any such anomalies are going to be small: the discrete equations simply don't have the properties that you would expect to drive these small anomalies to high levels (modelling the health and damage equations as a dynamic system that gets energy pumped into it as a function of damage per attack would be the way to go here).


---> SR Passive Resists <---

In talking about stacking tough on SR, it turns out that tough actually stacks quite strongly with SR - specifically the SR passive resists. Lets do our best to characterize them now.

Here is SR long term (1800 second) survivability against three attackers, with zero, one, two, and three passive resists (health and hasten still enabled):

SR: 138 / 122 / 112 / 108

How strong are the passive resists? Well, that depends. The definition of resistance is damage avoided divided by original damage landed, and the simulator can record both numbers, and divide accordingly. Here are the calculated resistances for the four cases above (three, two, one, and zero passives):

SR: 3.24% / 0.60% / 0.09% / 0%

Those aren't typos: the problem is that at damage levels where SR can survive indefinitely, it tends not to get hit often enough to engage the resistances strongly, so the actual amount of damage avoided through the resistances is low. That makes the effective resistance offered also low. And yet, looking at the survival numbers, its obvious that the passive resistances are having a pretty strong effect: look at how much higher the long term survivable damage increases with increasing passive resists. That sounds like something of a paradox: how can the passive resistances deflect such a small amount of damage, and yet increase survivability so much?

The short answer is that long term survivable damage is very close to the calculated immortality line (that pesky number again), and therefore there is no tendancy for health to drop low enough to engage the passive resists (which don't do anything until you are at least 60% of total health or lower). The only times that health drops low enough to engage the passive resists is when health random-walks down to lower levels. And once there, there is still no tendancy to drop lower - but as heath drops below 60%, there is an increasing tendancy for health to rise. That's because health regeneration (the "force" pushing upward) stays the same, while net damage drops (due to the passive resistances).

The passive resistances act like a pinball flipper: kicking SR health back up every time it wanders down too low. Moreover, it doesn't take much to kick SR health upward most of the time, so the actual amount of "resistance kick" necessary to do so is very small.

But here's an interesting question: would a flat 3.24% resistance have the same effect on long term survivability as three passive resistances? Nope, according to the simulator, it would take about 24% resistance to equal the survivability performance of the three passive resistances - at the long term sustainable damage level. By that measure, the passive resistances (if you take all three) are actually about as useful as 24% resistance (note: 24% is also the calculated estimated value of three passives from Part One - a partial validation of that calculation).

The 1800 second survival numbers are rather finely balanced: what happens if we look at 180 second survival instead?

(survivable damage, calculated passive resistance effect, static resistance necessary to equal passive resist effect)
SR zero passives: 130, 0%, 0%
SR one passive: 137, 0.23%, 7%
SR two passives: 149, 0.83%, 13%
SR three passives: 170, 3.24%, 25%

In both the 1800 second survival calculations, and the 180 second survival calculations, there are a couple of general trends. First, the passives escalate in effect: having two is about twice as good as having one, and having three is about twice as good as having two. Second, both calculations converge on something around 25% as being the approximate value of the passive resists - in moderately sustainable fights. Third, the amount that the passive resists "work" is way out of proportion with their actual net effect: someone looking at how much damage they seem to be able to sustain long term would see the passives has having a large effect on their survivability, while someone looking at how frequently and strongly they were functioning (i.e. how often they were at low health, and for how long) would think they had virtually no effect.

This probably explains the radical difference in opinions that exist between people who think the passives are strong, verses people who think they are weak. Which one you think appears highly dependent on what specifically you pay attention to.


---> PVP: Heavy Hitter Effect Revisited <---

We already saw that there exists a "heavy hitter" effect, such that damage concentrated in high damage attacks tended to be (to varying degrees) much more lethal than damage spread out over more attacks. There were lots of potential reasons for this, from single attackers defusing Dark Regeneration, to the passive resistances scaling being leapfrogged, to differences associated with fluctuating health. Lets put this to the ultimate test: we're going to look at the three sets through the eyes of a single very heavy hitter, i.e. a damage-dealing player. Instead of looking at the maximum survivable damage, we're going to turn that around and ask how long, on average, can each set survive a particular chosen attacker. Keep in mind, this isn't a simulation of PvP combat per se, its a look at how the different mitigation sets respond to high intensity damage. No one - not even regen - is generally invulnerable to a sustained attack by a high damage attacker indefinitely (in I7 - in I3, they actually were completely immune to all but the highest damage attackers, short of detoggling), so we are no longer talking about sustainability. We're looking at average survivability - how long can they stand and fight, on a relative basis.

The attacker I'm going to select is going to be much different from the minion-like numbers I've been dealing with so far. Here's the basics of what I'm going to give the attacker:

Base acc: 1.66 (i.e. two slot accuracy)
Base dmg: 275 per attack (which is not far from average per attack for blasters and scrappers)
Base cycle time: 2 seconds (about the average activation time for an attack power)

This is serious damage: against a defenseless target (no defense or resistance) its 124.5 dps, or 9.3%/sec. As you might expect, (some) things are going to start dropping dead *very* fast. The players will have their conventional defenses they've always had, plus hasten and health. This time, defeats will be turned off - we're looking for maximum stand and fight time. The streakbreaker will still be on: for the most part, it won't matter a whole lot.

# deaths in 10000 runs/survival %: SR: 10000/0.00% IN(sl): 10000/0.00% RG(slt): 10000/0.00% DA(slfc): 10000/0.00%
avg lifetime (died)/avg end health (survived): SR: 39.4 sec/ 0.0 IN(sl): 66.4 sec/ 0.0 RG(slt): 59.9 sec/ 0.0 DA(slfc): 35.3 sec/ 0.0

As with most of this part, these are smash/lethal numbers. Not necessarily representative of PvP combat damage mixes, but its enough to place proper landmarks around each set's performance. In PvP, it seems the sets end up IN > RG > SR > DA. Actually, though, that's because, if you'll recall, both Regen and DA have one hand tied behind their backs. In DA's case, that's difficult to take into account, because what its holding back on are things like OG, and DS, which are non-trivial to factor into damage mitigation. But in Regen's case, what it's holding back on is Instant Healing. Time to throw that puppy in:

# deaths in 10000 runs/survival %: SR: 10000/0.00% IN(sl): 10000/0.00% RG(slt): 10000/0.00% DA(slfc): 10000/0.00%
avg lifetime (died)/avg end health (survived): SR: 39.5 sec/ 0.0 IN(sl): 66.5 sec/ 0.0 RG(slt): 77.2 sec/ 0.0 DA(slfc): 35.1 sec/ 0.0

Regen is significantly above SR and DA, and holds a small edge over Invuln. But that edge underestimates regen's advantage in PvP. PvP is interesting in that one of the elements that players have the most control over is time: in a variety of ways a player can temporarily delay or avoid getting attacked (up to, including, but by no means limited to, simply running away). Time is both friend and enemy to regen: faster damage hurts regen more than Invuln (or SR), but by the same token, slowing damage helps regen more, because for regen, the only thing that matters is the (effective) immortality line: above it regen dies fast, below it regen is almost unkillable. So what happens if regen takes control of the fight, and can, on average, delay attacks by a single second or so?

(2.5 seconds per attack - 0.5 seconds forced average delay)
# deaths in 10000 runs/survival %: SR: 10000/0.00% IN(sl): 10000/0.00% RG(slt): 10000/0.00% DA(slfc): 10000/0.00%
avg lifetime (died)/avg end health (survived): SR: 53.4 sec/ 0.0 IN(sl): 92.8 sec/ 0.0 RG(slt): 182.3 sec/ 0.0 DA(slfc): 56.7 sec/ 0.0

(3.0 seconds per attack - 1.0 second forced average delay)
# deaths in 10000 runs/survival %: SR: 10000/0.00% IN(sl): 10000/0.00% RG(slt): 5377/46.23% DA(slfc): 10000/0.00%
avg lifetime (died)/avg end health (survived): SR: 69.2 sec/ 0.0 IN(sl): 123.5 sec/ 0.0 RG(slt): 733.8 sec/1870.0 DA(slfc): 100.6 sec/ 0.0

Notice that at the 3.0 second mark, regen becomes so hardy that it actually starts surviving for more than 1800 seconds - about 46% of the time, regen lasts more than half an hour. Relative to the other sets, regen is very strongly influenced by incoming damage rate; and in PvP, regen scrappers (like most scrappers) have significant control over the rate at which they are attacked. That control isn't strong enough to completely avoid getting killed for sets like SR or Invuln, but its more than enough for regen, who doesn't need much to swing from "dead" to "unkillable."

DA is also significantly improved as per-attack delay increases. SR and Invuln don't benefit to anything remotely near the same degree.

It isn't that regen is purely superior to the other sets: the other scrapper sets don't lag behind regen as much as much as it might otherwise appear on paper. Its really the small edge regen has coupled with the effect of the controllable variables in PvP that make regen so tough. That "looking good until dead" truism works in regen's favor because unlike most sets, that have only a small ability to affect their overall damage mitigation effectiveness with defensive tactics (ignoring offensive tactics for the moment), regen scrappers have high leverage in gaining an advantage with small defensive tactical moves. Jousting, knockdown, short retreats - anything that prevents even one attack from being launched against regen for even a fraction of a second of time changes regen's survival equation dramatically.

Regen's PvP advantage is three fold:

1. Regen's overall damage mitigation is higher than the other sets. Invuln can sometimes come close, DA can sometimes come close. When Regen isn't first, its essentially always second.

2. Dull Pain is a very good PvP power: its damage mitigation cannot be bypassed by unresistable damage, high accuracy, or heavy debuffing, and it acts to reduce vulnerability to high damage attacks. Only Regen and Invuln have Dull Pain.

3. Healing and Regeneration are easier to leverage by controlling the pace of engagements than Resistance and Defense. Only Regen and DA have high order healing, and Regen's healing is not situationally dependent like DA's is.

Regen isn't just stronger than the other sets, it actually has the damage mitigation mechanisms best suited to PvP combat.

And that is *not* easy to "fix" - its a consequence of having the finely balanced low downtime ultrahigh regeneration capability. No regeneration number would both give regen a balanced mitigation capability overall, and simultaneously eliminate this ability to control its own destiny with very small tactical nuances. That situation is frozen into the regeneration equations.

Wanna fix it? Simple: just change the way regeneration works altogether. Good luck.


---> Maximum Performance: Elude, Unstoppable, Instant Healing <---

Time to look at the maximum performance situations. I'm going to load up the four sets with Health and Hasten. Invuln is getting unstoppable. SR is getting Elude. Regen is getting Instant Healing. DA is getting maximum benefit from heals. Regen and DA are getting Tough. Gentlemen, start your engines.

Maximum sustainable 180 second (< 1 defeat per 1000)

6 attacker even level:
SR: 241
INV: 294
RG: 193
DA: 217

3 attacker even level:
SR: 321
INV: 484
RG: 277
DA: 380

1 attacker even level, +0.66 acc, attacker defeats off
SR: 343
INV: 566
RG: 579
DA: 483

3 attacker +3 level (note: defeat speed scaled downward)
SR: 224 (291.2)
INV: 296 (384.8)
RG: 206 (267.8)
DA: 229 (297.7)

3 attacker +5 level (note: defeat speed scaled downward)
SR: 166 (249.0)
INV: 245 (367.5)
RG: 229 (343.5)
DA: 207 (310.5)

The overall winner seems to be unstoppable (really, unstoppable + dull pain + invincibility); it has the best overall 180 second survivability numbers of the four sets. Elude does not wipe the floor with the other sets, in fact, its actual performance overall is average: it tends to come in second (to unstoppable) most of the time, and occasionally does much worse. This so runs counter to the perception of Elude's power that its worth examining in closer detail: something unusual is obviously going on here. Unfortunately, a full analysis of why these numbers at least *appear* to contradict experience will have to await a more in-depth look-see (I have a couple ideas).


---> Do you feel lucky? <---

Throughout this analysis, we've been treating "< 1 defeat per thousand" as essentially "sustainable." What happens if you play more aggressively? Each scrapper set responds differently to being pushed beyond its limits. Lets look at that assumption in more detail. To start, lets go all the way back to the beginning and reexamine three minute survival numbers again.

We saw in Part One that the average calculations showed the following damage levels as being the estimated damage survivable for three minutes (actually, 185 seconds):

SR: Best case s/l/f/c/e/n: dps = 177.08% / (0.5 - 0.273) / (1 - 0.24) / 185s = 5.55%/s
IN: smash/lethal: dps = 226.2% / (0.55 - 0.129) / (1 - 0.497) / 140.6s = 7.60%/s
RG: smash/lethal/fire/cold: dps = 655.88% / 0.449 / 0.649 / 185s = 12.17%/s
DA: smash/lethal/toxic: dps = 747.1% / 0.5 / (1 - 0.088) / 140.6s = 11.65%/s


What we saw as the "actual" survivable damage levels were (for three attackers):

SR: 78 (3.50%/s)
IN: 104 (4.66%/s)
RG: 141 (6.32%/s)
DA: 151 (6.77%/s)

We briefly touched on one of the causes of this, which was that the discrete effects of very high per-attack damage caused a "compression" in actual survivable damage: anything that gets strong enough eventually enters a level of performance where the discrete effects act as a "drag" on increasing performance (eventually, it becomes a wall to further increases in performance beyond which its very difficult to penetrate). But there is another reason for the discrepancy in the numbers. The average numbers represent the precise level of damage that is just survivable in three minutes. That means all levels of damage *lower* than that value are survivable, and all levels of damage *higher* than that value are not survivable. If a random stream of damage has an average value of exactly the calculated amount, then (to a first order approximation), half the time the random stream will be a bit higher than that value, and the other half of the time the random stream will be a bit lower than that value. In effect, the average calculations from Part One are predicting the point where your survival odds are about 50/50. But in the simulator, we were looking for essentially 99.9% survival odds, which is a completely different thing. What happens if we actually ask the simulator to look for the 50/50 point?

50% survival odds (approximate)

SR: 115 (5.16%/sec)
INV: 142 (6.37%/sec)
RG: 205 (9.19%/sec)
DA: 229 (10.27%/sec)

These numbers are much closer to the calculated immortality line numbers; thats because in actuality, that is what those numbers really represent.

Of course, not many players think that 50/50 are good odds in the average fight, so of course few scrappers will ever really push themselves to that point. But it points to an interesting question: which sets are more difficult to push beyond their "safe" limits; *if* a player attempts to push beyond the one in a thousand chance of defeat point, just exactly how much of a chance are they really taking, and to what degree can they mitigate the extra risk?

Lets see what happens to each set when they push themselves 10%, 20%, and 50% beyond the "survivable" mark:
(1.1x, 1.2x, 1.5x survivable)
SR: 98.87% / 93.6% / 44.49%
INV: 98.22% / 89.27% / 21.99%
RG: 98.79% / 94.79% / 44.85%
DA: 99.89% / 98.45% / 55.60%

For the standard damage mitigation values (no health, hasten, or tier 9 powers/IH), DA appears to be the most resiliant to pushing beyond its limits, followed by SR and Regen, and then in last place Invuln. Weirdly, that is almost exactly the opposite of what I think most people would predict. Mainly, though, thats because when people think of pushing the limits, they are thinking about much higher damage and mitigation situations. Regen and DA fall off much more rapidly when they are running at more extreme damage mitigation: i.e. with instant healing, or tough, or well-targetted Dark Regeneration. Under those circumstances, the fall off tends to be stronger. Interestingly, though, Invuln has the worst response to increasing damage beyond "safe." That's mainly due to the Dull Pain downtime, where Invuln is much more vulnerable, and the lack of a heal, which makes it difficult to recover from low health: the two combine to create situations where small increases in incoming damage can kill an Invuln during the Dull Pain downtime window. This doesn't happen to SR mainly because SR doesn't benefit from the higher damage mitigation afforded by Dull Pain in the first place.

This doesn't take the probabilistic nature of Dark Regeneration into account, though. That significantly impacts DA's ability to push beyond critical limits. Unfortunately, a complete analysis of DR will have to wait for the next generation of the simulator code: I have standalone scripts that look at DR, but I'd like to integrate those results with the general damage mitigation code before releasing results.


---> Back from the Dead: Revive powers <---

Revive and Soul Transfer are probably among the most villified powers out there, and with some good reason. The presumption, of course, is that essentially *any* power, *however weak* that *mitigates* damage would be better than a power that only works after you're dead, death being the metric of ultimate failure in a set to do its job. And if you weight death as having basically infinite cost, then of course you're right, self-revive powers are worthless, because they are always offset by a cost that nullifies *any* benefit they can convey.

But that's not necessarily the right way to look at those powers from a balance perspective. CoH is not a perma-death game: players can die and rejoin the fight, in normally a relatively short period of time. The "cost" of death is the inconvenience of returning from the hospital, and the xp opportunity cost of travelling, and the xp cost of xp debt. All other perceptions of death's cost are - at least for scrappers - personal preference, and sets shouldn't be balanced based on personal preference.

So in fact, just because "you have to die for them to be useful" does not mean its a truism that their benefit is automatically insufficient. The real question is what benefit does a self-revive convey to a set, and does it make any sense for that set to have such a power.

Curiously the weird problem is that both sets with self revive powers are the ones with the highest damage mitigation potential, and the ones most able to push their sets beyond normal limits for short periods of time. This stands in stark contrast to the notion that Regen and DA are more vulnerable to burst damage: they are, but that is more than compensated by their ability to recover from bursts that don't kill them outright. The effects of high damage bursts that hit Invuln or SR linger for a long time and can contribute to an early defeat for longer periods of time. This counterbalancing effect is not easy to calculate, and it isn't obvious, although its probably not a surprise to many players who play all four sets: SR at full health is a surprisingly sturdy set, but damaged, its highly vulnerable to damage bursts.

The problem is that there is a Catch-22 situation here. Because Regen and DA have the highest damage mitigation potential, they are the sets that least need self-revives. However, because they are the highest damage mitigation sets, they are also the sets with the least justification for replacing the revives with more damage mitigation powers.

*IF* Regen and DA were significantly lowered in effectiveness, you could create a situation where Regen and DA players had a choice: play at "safe" levels with damage mitigation comparable to SR and Invuln, or play "riskier" strategies that pushed the envelope of the set's capabilities, but created increasingly higher chances for accidental defeats - which the self-revives would then mitigate in some fashion (there are other mechanical balancing problems with how the self-revive powers work, and where they are positioned in the sets, but those are ancillary issues).

That's a big IF. I can hear the objection now: lowering the effectiveness of the two sets just to make the self-revives useful is crazy, stupid, and unjustifiable. If CoH was still being designed on paper, I would say "tough" but with CoH being already live, I tend to agree: reducing a set's effectiveness *solely* to make another power more attractive is highly unpalatable. However, the revives do represent a theoretical way to balance sets with wildly different damage mitigation potential: the catch is to do so without radically altering the maximum potential of any of the sets. How can you keep Regen's "maximum" potential intact, while increasing its risk-load when attempting to exploit it? Well, one theoretical way to do that is to take away or reduce the strength of Dull Pain, and commensurately boost all of Regen's +regen powers by about 60% (or less, if Dull Pain remains in a less powerful state). Net regeneration would remain basically the same, but Regen would become more vulnerable to burst damage. I'm not recommending that change specifically, but it illustrates the principle involved.

The problem with the self-revive powers is that very ironically, the wrong sets have them.

1. The sets with the higher performance have them, and the higher performance sets don't need a safety net.

2. The sets more resiliant to pushing performance too far have them, and they are less likely to use them.

3. The sets with the best concentration of abilities in a smaller number of powers have them, which further concentrates their powers into less power choices (SR, the lowest performing set, is forced to take all nine powers; Invuln does not lose as much performance dropping two or three powers, Regen loses practically nothing dropping two or three powers, and while DA loses effectiveness in dropping some powers, its currently being analyzed on the assumption it already did - DA is *always* better than I've analyzed.

The four sets would make much more sense if SR and Invuln had the self-revives than DA and Regen. The problem is that replacing the self-revives in DA and Regen with "useful" powers would further widen the gap between SR/Invuln performance and DA/Regen performance. Grr...


---> Inspirations <---

One thing that is still difficult to analyze is the impact of inspirations. In a future article, I intend to look at inspirations in a lot more detail than here - once I have the proper tools to look at them more carefully. But I do want to look at a couple of cases in particular:


Who benefits from Lucks more?

Of course that's SR, right?

(three attacker maximum survivable damage, normal / with +25% defense)
SR: 125 / 275
INV: 204 / 331
RG: 198 / 247
DA: 206 / 286

Yes, SR does benefit from using a single +25% defense luck inspiration more than the other sets, on a proportional basis. SR's survivable damage increases by 120%. Invuln benefits a lot, but somewhat less than SR - 62%. DA and Regen benefit the least on a proportional basis - and Regen (25%) less than DA (39%).

Of course, SR benefits more not only because it has the highest defense to stack with Lucks, but because it has a lower starting damage mitigation (in fact, SR's defense is high enough that it can't get the full benefit of even a small luck outside of environments with defense debuffing, so its actually not benefitting as much as it could, which also contributes to the contracting of the gap between SR and Invuln).


Who benefits from Sturdies more?

Invuln, or possibly DA, right?

(three attacker maximum survivable damage, normal / with +5% resistance)
SR: 125 / 136
INV: 204 / 230
RG: 198 / 209
DA: 206 / 230

Invuln benefits the most (12.7%), followed very closely by DA (11.7%), which makes sense. SR benefits less (8.9%) and Regen the least (5.6%).

There is clearly an imbalance in Lucks and Sturdies. Even when factoring stacking issues, discrete issues, and damage escalation issues, Sturdies have a much lower impact on survivability than Lucks - in fact, the effect of a base Sturdy on Invuln and DA (the strongest effect of Sturdies on any AT) is less than the effect of the base Luck on Regen (the lowest effect of Lucks on any AT).


---> Random Numbers and Random Number Generators <---

People are probably the worst judges of what is random. Ask someone to write down as "random" a sequence of numbers as they can, and its all but certain that the actual entropy content of that sequence is very low (very non-random). But at least, over time, random numbers should average out, right?

Well, in discrete systems, not always. In all discrete systems, you can generally find avalanche states; areas that, while not exactly chaotic, can shift in general state very rapidly with very little change in input. Even far away from such areas, discrete systems do tend to amplify certain random changes into much less random results (sometimes called "stochastic pumping").

What this all means is that sometimes, purely "normal" random events can conspire to look highly nonrandom, and random events can sometimes be naturally amplified into nonrandom results. None of this has anything to do with the quality of the random number generators.

Its been stated that City of Heroes uses the stdlib rand() function for its random numbers. Standard C does not actually specify how this random number should be generated, so different C standard libraries actually have different implementations of this function. Traditional older libraries often have pretty crappy random number generators for rand(), but more modern libraries have cryptographically sound rand() implementations. The question, though, is whether or not it actually matters if the random number generator is bad.

There's no real way to be sure without examining the source code for the CoH engine (and sadly, I lack a copy of it), but I can conduct an experiment: I can run my own simulator twice: with the normal python random(), and with a deliberately constructed bad random number generator and see if there is any noticable difference.

The "bad" random number generator I'm going to use in the test is the old K&R/ANSI rand(): seed = (seed * 1103515245 + 12345) mod 2^31. Worse, I'm going to use the low bits:

[ QUOTE ]
rstate = (rstate * 1103515245 + 12345) % (2**31)
return (rstate % 10000) / 10000

[/ QUOTE ]

That's *really* bad.

Results:

Three runs with the good random generator:

# deaths in 100000 runs/survival %: SR: 42032/57.97% avg lifetime (died)/avg end health (survived): SR: 122.5 sec/390.4
# deaths in 100000 runs/survival %: SR: 41605/58.40% avg lifetime (died)/avg end health (survived): SR: 122.7 sec/390.7
# deaths in 100000 runs/survival %: SR: 41934/58.07% avg lifetime (died)/avg end health (survived): SR: 122.6 sec/389.3

Three runs with the crap generator:

# deaths in 100000 runs/survival %: SR: 41945/58.06% avg lifetime (died)/avg end health (survived): SR: 123.0 sec/390.0
# deaths in 100000 runs/survival %: SR: 41717/58.28% avg lifetime (died)/avg end health (survived): SR: 122.7 sec/390.1
# deaths in 100000 runs/survival %: SR: 41631/58.37% avg lifetime (died)/avg end health (survived): SR: 123.4 sec/391.0

Not really a measurable difference: the differences are comparable to the margin for error. I've run a lot of tests: its very hard to create a random number generator that is so bad it starts to throw off the probability of defeats by any measurable amount. Is it possible for a bad random number generator to cause problems? Theoretically yes. But as a practical matter, even within the extremely limited area of this simulation, its very difficult to induce such an error, even deliberately.

Its *just* possible that

a) the C standard lib used to compile City of Heroes is amazingly bad

and

b) the rand() implementation has weak seeds

Then, its *just* possible that occasionally, the really horrendously bad random generator is occasionally seeded with an extremely weak (low cycle) seed. But, if that was the case, it would show up as *highly* non-random behavior clearly visible, probably until the next server reset.

If there are issues with the tohit calculator, I'm 99.99% sure its *not* in the random number generator.


---> How accurate are any of these numbers <---

In one sense, none of these numbers are "accurate" in that they are statistical samplings. Pretty large ones, but statistical samplings nonetheless. Down the road (much down the road) I intend to look at things with even more sophisticated tools - specifically non-stochastic ones (I'm taking a calculation break first, though, don't expect that one any time soon). Run this simulator a hundred times in a hundred different days, and you'll get slightly different numbers.

And possible significantly different numbers: the simulator itself has evolved in subtle ways that - sometimes - fundamentally alter the assumptions built into the simulation. Fortunately, cross checking has convinced me that none of those changes (designed to improve the simulator in different specific areas) has ever altered the relationships between the scrapper sets (in some cases, its increased or decreased everyone's numbers by small amounts). But the simulator is there for anyone to take and play with, and generate their own data points (instructions for getting and using the simulator are in the following post).

There are also opportunities for judgement to affect the results. Although the simulator spits out precise numbers, interpreting those numbers is sometimes tricky. Curves are not always smooth, and time constraints sometimes prevented me from running the simulators for as long as I would have wanted to gain more accuracy. The simulator is about five thousand times faster than the one I first wrote, in terms of simulated player-seconds per second (it currently simulates something between 200,000 and 500,000 player-seconds per second on my laptop, and about 3 million player-seconds per second on my desktop) but some of these calculations represent several billion player-seconds of time (trivia factoid: over nine months, I've probably simulated about two trillion player-seconds of time - my best guess is that City of Heroes itself has only generated a similar number of player-seconds). As a result, there is some interpretation in the survival curves as to when they cross the 1 out of a 1000 level. This is why I've decided to clean up and release the simulator code: if you can figure out how to use it, you can look at the numbers for yourself. It seemed only fair.


---> Conclusions <---

To really conclude anything, you'd need a lot more data than I'm presenting here: that's the problem with a statistical analysis. The amount of data necessary to be conclusive would be a huge blizzard of numbers unsuitable for posting. So in actual fact, I've shown just enough numbers to demonstrate my conclusions, rather than fully support them. For those who trust I've looked at things well enough to buy my conclusions, the numbers are just icing. For people who don't trust I've done that, I'm releasing the simulator code (really, a version of the simulation code I use). You could run your own numbers if you want to look at things in more detail, or if you really want to, you could look at the simulator code to see if I've made a mistake in my assumptions or calculations themselves. Have fun with that: I've done my best to make the simulator code readable, but there are some tricky algorithms in there that optimize for speed.

The fundamental conclusions I've made (at least to this point) are the following:

1. At damage levels comparable to Invuln's performance, the average calculations offer very good guidence as to how well the sets are balanced. Nothing in the discrete examination suggests that performance would change wildly enough to alter the ordering of the sets: they just all go down a bit.

2. Its very hard for bad random number generators to hurt the behavior of CoH combat.

3. At high enough damage levels, the broad behavior of Defense and Resistance changes for long term survival: Resistance increases the level of damage sustainable, while Defense increases the average time between bursts capable of overcoming regeneration. This change means that at sufficiently high levels of damage, Defense's effectiveness in increasing average sustainable damage decreases relative to Resistance. However, its ability to increase survival times for constant damge remains effective.

4. At this point, I'm sufficiently convinced SR underperforms the other sets under essentially *all* reasonably fair metrics. Sufficiently so, that I'm disinclined to waste any more time calculating in great detail in what way it underperforms. On basically *every* scale it underperforms, period. I'm shifting the burden of proof to the proposition that SR exceeds *any* of the other three scrapper sets in performance, under *any* reasonable conditions. Besides, its a thousand times easier to point out flaws in other people's calculations, than generate the proper due-diligence calculations to assert the point, and I wouldn't mind being on the other side of the table for a while.

5. Invuln's performance consistently appears higher than majority opinion would indicate, both on average calculations and in discrete calculations. Obviously, its performance in certain areas (like psi) are much lower than its smash/lethal performance, but except for extreme cases (i.e. Elude verses Unstoppable) that doesn't stand out as sufficiently low to negate its large smash/lethal advantage.

6. Overall, if Regen doesn't use instant Healing, in very broad terms it looks like you could make the case for Regen ~= DA > Invuln > SR sometimes, and Regen ~= DA ~= Invuln > SR at other times. Keep in mind, this is without IH, and without OG.

7. Health and Hasten have significant impact on survivability. It would be crazy not to take them, except just possibly Health in the case of Regen, and Hasten in the case of SR.

8. Tough and Weave are more interesting. Everyone benefits strongly from tough - even SR (passive resists). Not everyone benefits much from Weave - and Regen seems to benefit (in the long run) hardly at all - as measured by whether or not Weave can increase the amount of sustainable damage (what Weave actually does to Regen is decrease the net damage taken at the same survivable levels - which is a mathematical, but not especially beneficial effect). This probably warrants additional study: is there something wrong with the basic analysis, or is there something wrong with Weave?

9. Elude doesn't look as good as it ought to. Not sure why. Definitely something worth investigating further. Its entirely possible that the presumption of requiring Elude to only cause a defeat once every two million seconds or so is too high to be realistic, and in fact everyone tends to discount when Elude (rarely, but not that rarely) malfunctions, moreso than discounting the situational circumstances under which powers like unstoppable are less effective. In any case, there aren't a lot of people who have used Elude for the two million seconds it takes to see some of these defeats.

10. Lucks benefit everyone. They oddly don't make SR outperform everyone else consistently, which is weird because consistent application of Lucks is effectively perma-elude. Again, something to study some other time (I haven't looked deeply enough to look at all the different combinations of powers and damage situations). Sturdies are much weaker in performance, even for resistive sets. Its an interesting question as to whether sturdies are too weak, or lucks are too strong (although in my opinion, Lucks are too strong, especially in I7).

11. Given how many people actually care, I think I've spent too much time on this.


---> What's next <---

What's next is I'm taking a break. I'd like to take the average calculations, and the results from the simulator, and derive something simple: something that passes the ten year old rule. But don't hold your breath on that one. The next part was slated to deal with set balancing: how one might go about actually balancing the sets. I have some ideas there, but I think I'm going to let that one sit for a while, and come back to it.

I'm also planning on making the simulator more user-friendly: right now its really for programmers more than the general audience. But that, too, I'm taking a short break from. Mainly because its starting to feel too much like work, and because real work is taking up too much of my time now for me to be able to devote much time to this. I have some interesting ideas on improving the simulator: I think I can improve its performance by about two more orders of magnitude, and I'm going to maybe actually put a real interface on it, or something, maybe. What started off as a bunch of quick and dirty scripts is turning into a genuine simulator, and fixing its major flaws (hasten, DR acc, plus some other stuff) is something I'm going to think about. Basically, at this point, I think the best of all possible scenarios is to design a better simulator that can show everyone the numbers, rather than have me articulate them for pages and pages. We'll see.

To be honest, I wasn't terribly interested in looking at these discrete cases at first. Mainly, the reason for looking at them wasn't so much to see what they said, but rather to see if the average calculations closely tracked reality (aka discrete calculations). Its easy to say "the average calculations don't take this or that into account, ergo they must be wrong." Its not so easy to prove that they actually *do* work, most of the time. Rather than try to prove they do, it made more sense to put the CoH combat system into a bottle, and see what it did. Now we know: and now *that* we know, I hope no one ever really needs to figure it all out again, unless they enjoy that sort of thing. Conclusion #1 above is the most important one, and its (for me) set in bedrock. Its now up to others to take that in stride, and happily scribble a few calculations in a few minutes that they know will be at least close to the mark, or for others to try to create an even more massive pile of numbers to attempt to disprove.

I'm looking forward to pouring the boiling oil, rather than climbing up the ladder.


[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]

In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)

 

Posted

This analysis is astounding. The depth, attention to detail, and effort that have gone into this are unmatched by any guide or analysis I've seen on these boards. Many good guides or analyses set a new bar for those that follow them, but I don't think it's reasonable to hope for this kind of a feat to be repeated.

Thanks for doing this. I've done some calculations on my own to try to measure the relative benefit of various tanker primaries and scrapper secondaries under various situations, but my work is very basic compared to this, and I was never able to quantify the effects of +regen in any meaningful way, mainly because I was shy about introducing an explicit time dimension. Some of your conclusions demonstrate things I've suspected but never been able to demonstrate to myself mathematically (Health is worth taking and worth slotting), some things I knew (Tough is of considerable benefit as both a stacked resistance and as a burst-attenuation layer on top of defense, recharges instead of heals in self-heals provide a nice Keynesian effect on health over time), and some things I never knew (Weave's relative value to Regen is very small).


I may try to make similar analyses for the Tanker primaries. If I can do it in a way that doesn't look too ham-handed, and assuming that I have the requisite skill to follow your methods, I might even have something postable. Then again, that may be irresponsible - if I do make an error, I'm not sure I'd have the ability to correct it. Statistical analysis isn't for the inexperienced ;-)


[ QUOTE ]

I'm looking forward to pouring the boiling oil, rather than climbing up the ladder.


[/ QUOTE ]

I'll keep alert for opportunities to send the barbarians to your gate.

Scrap


 

Posted

[ QUOTE ]
Many good guides or analyses set a new bar for those that follow them, but I don't think it's reasonable to hope for this kind of a feat to be repeated.

[/ QUOTE ]

There are other posters that have attempted similar comparisons. Starsman has looked at things with somewhat less depth, but across all the melee sets instead of just scrappers. He's currently attempting a more in-depth analysis, I understand (and I understand even more how much effort that takes). Circeus has looked at much more situationally applicable circumstances for tankers in the past, and his work (based partially on Havok's old spreadsheets, if I remember correctly) actually formed the basis for getting Ice tankers fixed. Hard to match that accomplishment.

In the european forums, there's a poster Dr Rock that has a program that automates some of the calculations that form the basis of this analysis; an interesting tool I didn't have the patience to write (in a way anyone else would find especially useful to use). He also has certain perspectives on comparing the performance of various mitigation sets.

I'd say there are points of disagreement I've had with each and every one of these posters in terms of certain specifics of their analyses, or their extrapolated conclusions, but I would recommend all of their prior analyses as both interesting, and informative reads, although many of the threads that encapsulated them may no longer exist on the forums.

If there's a unique thing I've contributed in the various threads that lead to these analyses pieces, I think its that I've laid bare all of my thought process involved in all of the calculations, all of the judgement calls, and all of the qualitative comparisons. Its longish, but I hope if you're willing to plow through it, you get a sense for the whys of what I do, even more than the whats of what I do.


[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]

In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)

 

Posted

Regen's toxic analysis is off. Recon has a 15% toxic resist buff and resilience is 7.5%.

Good job BTW.


The City of Heroes Community is a special one and I will always look fondly on my times arguing, discussing and playing with you all. Thanks and thanks to the developers for a special experience.

 

Posted

[ QUOTE ]
Regen's toxic analysis is off. Recon has a 15% toxic resist buff and resilience is 7.5%.

Good job BTW.

[/ QUOTE ]

I had the wrong number for resilience, which I think was corrected in the threads this first appeared in, but I didn't correct it for the repost of the original pieces - a little bit lazy, and a little bit it didn't seem to alter the basic conclusions much. I assumed the resistance was the same for everything, so didn't specifically test toxic damage - oops. I specifically didn't include the resistance in reconstruction, because then I would have a weird catch-22: I presume you get the full benefit of reconstruction, which is calculated as firing as often as possible, but in reality is firing at the best moment, but that can make the total toxic resistance for reconstruction not constant. So to be honest I punted that one. If regen was near the bottom, instead of near the top, I would have attempted to count it to give regen a more realistic minimum toxic protection number. As it is, its pretty good against toxic either way.

The one *major* correction from the original posting is the SR numbers, which were discovered after I originally calculated everything. That was a significant enough change (it raises SRs scores relative to everyone else, and SR was at the bottom originally) that it was important to factor that in to be fair.


Actually, there is one other significant uncorrected deviation from reality in here: I still have the old numbers for luck inspirations; obviously, because this stuff was done many months before I looked at luck inspiration strength.


[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]

In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)

 

Posted

Oh, I guess that makes sense for Recon. I'll tell you though, in a heavily toxic environment (pun not intended) (like Warburg underground) I use Recon enough to keep the buff up permanent. Also, you still have the old numbers for the Unyielding debuff for invul.


The City of Heroes Community is a special one and I will always look fondly on my times arguing, discussing and playing with you all. Thanks and thanks to the developers for a special experience.

 

Posted

[ QUOTE ]
Also, you still have the old numbers for the Unyielding debuff for invul.

[/ QUOTE ]

Yep, that too was changed after this was originally written (back in April) and after the last revisions I made on this repost (back in June). Invincibility is also off by about a percent or so, another revelation that occured after this was first written. Coincidentally, the UNY change and the new invincibility numbers largely cancel each other out.


[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]

In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)

 

Posted

I began work on a comprehensive Scrapper Secondary balance analysis document a few months ago (inspired by the protracted debate over your work) that makes probabilistic performance range comparisons of all of the sets in a variety of conditions. It started out entitled "A Simple Man's View of Scrapper Secondary Balance," but that got scrapped in a hurry, as it grew to over 20 pages of lists, complex and, at times, confusing verbiage, differential equations, and cross reference documents (there are currently four or six spreadsheets [depending on how I decided to break it out] of varying complexity to aid in completing the picture).

Recent health concerns and a desire to just play the damn game "encouraged" me to put completion of the project on hold, perhaps indefinitely, although I do hate to leave projects unfinished. Considering that much of what I was doing was essentially lining up within the range of the same basic conclusions that you came to in this discrete analysis, I felt justified in not finishing it. The real value of the document for anyone who could stand to slog through it is that I was in the middle of doing a pretty good job of explaining "why" things stack up the way that they do and why people have such different perceptions of relative performance.

My "new perspective" on dealing with balance is centered on encouraging people to play to their strengths. SR and Inv should strive to end fights quickly and take advantage of their ability to initiate combat gracefully. DA and Regen should build to stretch things out a little bit, strategically reducing the initial risks of entering combat, and availing themselves of the strength of their recuperative powers. If there's one thing that I have learned, it is that if you ask someone to do something that they cannot, you will, more often than not, be disappointed.


 

Posted

[ QUOTE ]

There are other posters that have attempted similar comparisons. Starsman has looked at things with somewhat less depth, but across all the melee sets instead of just scrappers. He's currently attempting a more in-depth analysis, I understand (and I understand even more how much effort that takes). Circeus has looked at much more situationally applicable circumstances for tankers in the past, and his work (based partially on Havok's old spreadsheets, if I remember correctly) actually formed the basis for getting Ice tankers fixed. Hard to match that accomplishment.

In the european forums, there's a poster Dr Rock that has a program that automates some of the calculations that form the basis of this analysis; an interesting tool I didn't have the patience to write (in a way anyone else would find especially useful to use). He also has certain perspectives on comparing the performance of various mitigation sets.


[/ QUOTE ]

Thanks, I'll dig around for some of those.

[ QUOTE ]

If there's a unique thing I've contributed in the various threads that lead to these analyses pieces, I think its that I've laid bare all of my thought process involved in all of the calculations, all of the judgement calls, and all of the qualitative comparisons.


[/ QUOTE ]

This is an integral part of the value of what I read in your posts above, and part of what lay behind my "I can't expect to see something like this again" statement. Unless the process is transparent to me, I have a hard time getting behind an analysis.

Thanks again for the work.

Scrap


 

Posted

This is an incredible job - kudos for working it out in such detail. Hopefully people will pay attention to it. I have one thought. It doesn't seem like you factored SR's Quickness into the numbers. While the recharge effect shouldn't effect the raw survivability (after all, Hasten does not), it nevertheless does have an in-game effect by allowing the SR scrapper to defeat enemies faster.


 

Posted

[ QUOTE ]
This is an incredible job - kudos for working it out in such detail. Hopefully people will pay attention to it. I have one thought. It doesn't seem like you factored SR's Quickness into the numbers. While the recharge effect shouldn't effect the raw survivability (after all, Hasten does not), it nevertheless does have an in-game effect by allowing the SR scrapper to defeat enemies faster.

[/ QUOTE ]

This issue was discussed in the original thread, and in two threads I started discussing quickness. In brief, the notion is this:

All four sets have capabilities beyond the damage mitigation that I looked at. Dark Armor has a damage aura (and I didn't even quantitatively look at CoF or OG either, although I do mention them). Invuln has the tohit buff from invincibility. Regen has quick recovery. SR has quickness. Each of these can be parlayed into defeating the enemy quicker, which improves survivability. Its debatable which one is stronger: quickness' speed boost is limited by the activation time penalty (a 0.2 speed boost doesn't boost attacks by 0.2, only their recharge *after* activation) and the limitations of full attack chains (it helps some sets more than others because of that). Quick recovery doesn't direct translate into damage, but if the regen can skip one endurance slot for recharge in their attacks relative to SR, QR can effectively "buy" quickness and then some. Invuln's tohit buff is relatively slight, but it scales upward with more targets. And that means Invuln is most accurate when attacking the most things: useful if you have PBAoEs (Claws, Katana, Broadsword).

Overall, I elected to deliberately consider all of these factors roughly equal. However, if I were to judge them based on their ability to kill faster, I would have to say that death shroud probably is first, quick recovery is close second, then quickness is third with a significant gap, and invincibility is a close fourth.

Which is, coincidentally, just about how the sets actually ranked, and so wouldn't have thrown them off relative to each other.


[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]

In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)

 

Posted

[ QUOTE ]
All four sets have capabilities beyond the damage mitigation that I looked at. Dark Armor has a damage aura (and I didn't even quantitatively look at CoF or OG either, although I do mention them). Invuln has the tohit buff from invincibility. Regen has quick recovery. SR has quickness. Each of these can be parlayed into defeating the enemy quicker, which improves survivability.

[/ QUOTE ]
You could also make the argument that avoiding debuffs that require a tohit also improves either the ability to defeat foes faster or provides a ghetto resistance to these effects. I am not saying that it fully balances the sets but SR and Invulnerability would stand to gain from this idea.


 

Posted

[ QUOTE ]
[ QUOTE ]
All four sets have capabilities beyond the damage mitigation that I looked at. Dark Armor has a damage aura (and I didn't even quantitatively look at CoF or OG either, although I do mention them). Invuln has the tohit buff from invincibility. Regen has quick recovery. SR has quickness. Each of these can be parlayed into defeating the enemy quicker, which improves survivability.

[/ QUOTE ]
You could also make the argument that avoiding debuffs that require a tohit also improves either the ability to defeat foes faster or provides a ghetto resistance to these effects. I am not saying that it fully balances the sets but SR and Invulnerability would stand to gain from this idea.

[/ QUOTE ]

This is true, and its also a very long-standing debate point as to just how important this factor actually is. I did a significant amount of testing regarding this effect in I5, and felt the results were reasonably definitive, but since its *still* a debated point, its on my list to re-examine more thoroughly.

Its worth noting, though, that secondary effect avoidance wasn't a critical balance issue even in I3, when SRs were perma-eluded and avoided practically everything, while Regens had zero defense and were getting hit by practically everything (scrappers were fighting +5s and up back then, and therefore anything without defense like Regens were consistently right at the tohit ceiling).

I'm not saying Regens and DAs didn't notice, just that it wasn't a critical balance issue relative to the differences in damage mitigation mechanics and strength.


[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]

In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)

 

Posted

[ QUOTE ]
HighDA > Regen > LowDA > Invuln > SR

[/ QUOTE ]
Subjectively, I agree. I find the biggest difference in DA to be if I can get an external endurance buff. I might also want to argue "Invuln = SR" on the end of the equation. But that's a subjective feel. Obviously some primaries work better with some secondaries and vice versa, and some people work better with some secondaries and primaries and vice versa. 8-p

/thumbs up


 

Posted

Excuse me while I find some porous material to sponge up my melted grey matter.

5 stars and a job interview for you.


 

Posted

That is one HELL of an in-depth thread. I congratulate you on your efforts, and hope they don't change much in I8 so you need to redo it.


 

Posted

I'm a bit late to this party, but fan-[censored]-tastic. 2 hours well-spent plowing through this guide. You mentioned a link to download the simulator code?

DS


 

Posted

[ QUOTE ]
I'm a bit late to this party, but fan-[censored]-tastic. 2 hours well-spent plowing through this guide. You mentioned a link to download the simulator code?

DS

[/ QUOTE ]

Yes, but that link might be broken now: I'm in the process of making files such as that available for download again from another place. When that is available, I will post a link here.

As discussed previously, the sim is in python. Its as cleaned up as I can make it, or rather want to spend time to make it. It does have graphics dohickies, but plastered on just for fun. I'm thinking of rewriting it as a project to familiarize myself with the XNA framework, which would make it a bit more user friendly. But that's quite a ways off given the free time available.

Originally, it was just a bunch of code to run calculations for me, then it grew into a script to evaulate the behavior of dull pain, then damage ticks, then the passive resistances, and then suddenly it was a damage/defense calculator. So I threw out the original code and rewrote it as a per-tick attack/mitigation simulator. It isn't a *game* simulator, its more of a discrete calculator: if you want to know what happens when you have damage that looks like this, and defense that looks like that, but you don't know what happens if reconstruction is still recharging then, while an attack lands over there, this is designed to do that. Millions of times if necessary, to determine the average case.

I'll probably be posting a link to the original python-based simulator within a couple of weeks in this thread, if you are interested.


[Guide to Defense] [Scrapper Secondaries Comparison] [Archetype Popularity Analysis]

In one little corner of the universe, there's nothing more irritating than a misfile...
(Please support the best webcomic about a cosmic universal realignment by impaired angelic interference resulting in identity crisis angst. Or I release the pigmy water thieves.)

 

Posted

Just found this - again, I have to say the amount of effort put into this is incredible.

It's got me wanting to try something similar in my downtime at work...other than reading the boards, that is :P


Quote:
Originally Posted by Psychoti View Post
"....so I headbutted the blind chick."
I used to have superhuman powers, but my therapist took them away...

[ cruise / casual-tempest.net / transference.org / xenogamous.com / wytedragon.net / quantam sufficit ]

 

Posted

This is a brilliant and fantastical statistical analysis. Not an end-all (nothing can be) but very, very well compiled and presented.

My question is, knowing that some melee types take Aid self, how does it affect survivability as compared to tough/weave, or other efficiency/survival maxers? Also, how about when comparing a 100% success rate with a 75% successful heal rate using said power? (as aid self is interruptable)


 

Posted

Just found this thread today. All I can say is Great! As in Arcanaville the Great!! Deeply appreciate the time and effort that you have dedicated to this subject. Thanks for the education.


Fate is what you make.