Thursday 17 September 2015

Archon Attack Speed Stacking

Playing archon is like rolling a snowball with some carpal tunnel thrown in for good measure. When you attack in archon you get a stack that gives you +1% attack speed. So your next attack comes faster, and the next one faster than that. Then when archon runs out you keep those stacks when you cast your twenty spells to get back into archon. Since your attack speed is 1.4 attacks per second, you get through those 20 attacks in 9.5 seconds if you have 50 stacks, 7.9 seconds if you have 80 stacks, and 7.1 seconds if you have 100 stacks. If it only takes you 7.1 seconds to restack Vyr's and cooldown Archon then you'll have almost 13 seconds of 100% increased attack speed when you go back into Archon, meaning you'll generate those stacks way faster.

I made a spreadsheet to figure out how many stacks you'd rack up if you were attacking a target dummy. With my current gear with 15 stacks on my Fazula's Improbable Chain and 11% increased attack speed from gear, I would steady state about 100 stacks of archon. Well, not quite, I'd have 100 when I left around, spend about 8 seconds out of archon, then build up to 80 stacks - so 180 total - before the old ones wore off at which point I'd keep going from 80 to 100 before Archon wore out again. Take off the 11% increased attack speed and it's only 96 stacks. If I had a 20 stack Fazula's chain then would stabilize at 100 stacks.

This speadsheet make doesn't match my real experiences well. For one thing I don't press buttons perfectly. For another, enemies rarely live through a full cycle of Archon so this model doesn't take into account travel times that shoudl be taken into account. This model assumes you'll never have to avoid attaks. Finally this model assumes you can't run out of arcane power, and I certainly get most of it done without worrying about arcane power, but when I have over 100 stacks and I actually can stand still and nuke at optimal speed I can run myself right out.

In reality in something like a rift guardian fight I usually have high 70's. Running around killing groups of enemies can produce well over 100 but that is largely off the back of the extra stack provided with each kill.

All of these calculations, though, made me realize that attack speed is better than I thought. Attack speed stacks poorly with Archon stack attack speed, but it does mean you start from a higher number and that means you end up with more total stacks. The 11% increased attack speed I haven't shed from my sub-optimal gear nets me about 5 stacks in an ideal situation, so maybe 4 in reality. Of course Archon stacks account for so much of my damage that 4 more stacks is only about a 4% damage increase, but that's more than I would have expected in total from 11% increased attack speed. Of course better than bad doesn't make this good, and I will be getting rid of it as soon as I can.

I seem to have firmly entered endgame now, as the next tier of my Season's Journey requires me to complete a conquest. I wish there was some way to more quickly level a very low level legendary gem. When you complete a tier 40 rift and want to get a new gem started, it feels pretty bad to only get to put 3 levels on it. Maybe that will learn me to not level the wrong ones in the first place.

Tuesday 15 September 2015

Archon Wizard Toughness Stacking

I've written before about how to maximize a formula of the form (1 + ax) (1 + by). There is a fixed difference between x and y that should be maintained. For example, if you could choose to put points into either "life gain A" which increased your life by 2% per point or "life gain B" which gave only 1% per point - but stacked multiplicatively with A - then if you had 100 points you'd want 75 in A and 25 in B. But if you had 1000 points you'd want 525 in A and 475 in B. With 1,000,000 points you'd want 500,025 in A and 499,975 in B. You want to keep them at a fixed difference of 50 points. In general, the difference is (a - b) / ab, or to put it another way, x = k/2 + (a - b) / 2ab where k is the number of points to spend.

What's a little weirder is that if option A gave a billion percent and option B gave one percent, the ideal difference between them would be only 100. You can try it yourself and see, though. Calculate (1 + 10,000,000 * x) * (1 + .01 * y) for x = 300 and y = 200. Then for 301 and 199, and 299 and 201 respectively. It goes down, not up, when you move a point from the 1% option to the billion percent option.

If you have an equation that goes (1 + ax) (1 + by) (1 + cz) then the formula becomes a lot more complex really fast, but the essential idea that this is a fixed level you want to get them all to before increasing them all equally is still there. That is, x - y should be constant and x - z should be constant. The magnitude of a, b and c only modify what the constant is. The nice this is that there is any easy way to solve for the ideal difference, and that is to simply imagine z was constant, figure out the difference between x and y, then imagine y was constant and figure out the difference between x and z.

This is the formula for Diablo 3 toughness, with four variables. You have vitality, percent life increase, armor and resistance. Each one follows the (1 + ax) formula. For armor, a = 1/3500. For resist all, a = 1/350. For percent life a = 1/100 and for vitality a = 20/79. Based on this, if you could assign points any way you chose, you'd put 1748 points into vitality, 1700 into percent life, 1575 into resist all, and then distribute the rest of your points evenly.

You don't get to just spend points, though. You certainly don't get to have 1700% increased life increase. Instead, you get to choose items with random stat values. Even if we set the randomness aside, we still have itemization values. A point of one thing is not the same as a point of another thing. On your chest piece, for example, you have have up to 595 bonus armor, 15% increased life, 100 resist all, and 750 vitality. And the value of some of these varies from item to item, but the value of others don't. Every item have have 100 resist all except weapons and off-hand items. Some items can have 15% increased life, and the amulet can have 18%. Some items have up to 595 armor others have only up to 397. For the most part those items that can have only 397 armor can also have only 500 vitality, but the pants slot has only up to 500 vitality and can still have 595 armor.

Let's take things easy and ignore all the different itemization. We'll look at the chest piece. We know how to choose if you have the choice between 1 point of each stat, but what about points in sizes they really come in? If we know that one item worth of armor gives 595 armor, one item worth of resist gives 100, one item of life give 15% and one item of vitality gives 750, then we can readjust our parameters.

Now, instead of use 1/3500 as the armor coefficient, we can use 0.17, which is 1/3500 times 595. Resist All 0.2857. Life percentage is 0.15 per item and vitality is 185.87 per item. Those numbers little misleading if we are talking in items, though, since you can't shed the 147 vitality you got from leveling up and you'll have 5598 armor for just wearing items. Instead we'll use 4.97 for a vitality item and count the 147 base vitality as base life, and we'll have 0.065 for armor since you actually need to get 9098 additional armor to double your toughness, not just 3500. If you are a wizard then you probably have at least 900 base resists, making the number to double your life with resists 1250 instead of 350, so that resist number should be 0.08. Now we have the following: You want 7.5 vitality items, 5.9 resist all items, 4.3 percent life items and then you begin taking them in equal numbers.

What if you are an archon wizard, though? If you have energy armor on then you typically have 100% or more bonus armor and nearly the same bonus resists. Suppose I add 110% more armor and 100% more resists, then what happens?

The effect might be a little counter intuitive. If you double the value of armor, you double the base armor as well. The amount of armor you need to double your life is the amount of armor you have plus 3500. If the value of armor is going to be doubled then instead it becomes the amount of armor you have plus 1750. That's because the armor you have is doubled just the same as the armor you are going to get. So the coefficient for armor - the 'a' in the (1 + ax) where x is the number of items with bonus armor - only goes from 0.065 to 0.082. And the coefficient for resists increases from 0.08 to only 0.093. That does make a big difference in the item count, though. You'll want 6.1 vitality items, 2.8 percent life items, 0.7 resist items and then add all items equally.

Let's see if that can be translated into practical terms. Vitality can be found on every item, percent life bonus on only 8, armor and resist all on 10. Since percent life is the scarcest of the modifiers and the second best, it seems that focusing on percent life should be the goal for toughness. It's also worth noting that you can get a full 15% increased life on rings which roll lower bonuses for most stats.

Of course the life component of toughness is not as good as the damage reduction component of toughness because damage reduction also increases recovery. There's lots more math to do.

Monday 14 September 2015

Archon Stacking

Somehow I got suckered into playing some more Diablo 3. I think it's nearly ready for release now. The main things they have to do still are delete campaign mode and get rid of leveling to 70. I kid, a little. But given that they have seasons where people start over, it seems like they should do something, anything to the leveling game to make it not seem pointless.

Anyway, once an Archon wizard, always an Archon wizard, apparently. Archon with massive cooldown reduction seemed like a pretty good way to play with bad gear back before seasons and such started. This season it looks like Archon wizard is probably the best wizard build, or at least it is among the best. Plus it was the first set I found, so obviously I went with it.

Diablo 3 is basically a completely throwaway leveling game and an endgame composed of putting together item sets that multiply the damage you do by 20. That is more of an understatement than an exaggeration. If there were an item set that simply said, "Disintegrate does 20 times as much damage" then I really don't know if the Disintegrate build would be competitive. This seems pretty dumb to me as a concept, but I guess it's working okay as a game. It's almost like you have a skill tree that supports a few different builds, but instead it's gear you can just take on and off.

Most of these builds are focused around a six piece set. Usually the six piece set bonus provides you with some kind of absurd damage increase, like Tal'Rasha's set that provides you with a flat 600% damage increase for jumping through a few hoops. The six piece set bonus of Vyr's, though, isn't a times seven multiplier. Instead it's a fairly good but not absurd multiplier most of the time, and a very strong multiplier against high health opponents, which is good. But if you put on Vyr's with a strong set of legendary gear to fill your other slots you wouldn't be able to do high tier greater rifts. The Archon build's damage comes from Chantodo's set instead, which adds a completely passive damage source to Archon mode. Other important legendaries include a belt - Fazula's Improbable Chain - the Swami hat, and the Obsidian Ring of the Zodiac. Clearly if you don't wear all six pieces of Vyr's you need the Ring of Royal Grandeur.

Put all that together and what do you get? You begin Archon with 15-20 stacks of the Archon buff which makes you deal 6% more damage per stack and increases armor, resists, and attack speed by 1% per stack. Every time you hit an enemy with an archon ability or kill an enemy, you get another stack. Also, every second you expel a 30 yard wave of destruction that deals 7000% weapon damage. When Archon runs out your Archon stacks continue to function for 20 seconds. During this time your job is to cooldown Archon by casting resource spending spells which, thanks to the zodiac ring, reduce the cooldown of Archon by 1 seconds. Before your stacks run out you have hopefully cooled down Archon and returned to Archon form at which point you will start a second stack of Archon buffs while the first one expires.

For example, if you get 70 stacks of Archon then every second you expel a wave dealing 7000% times 5.2 to your enemies. Then you leave Archon form with a 70% increased attack speed buff on your 1.4 second attack speed, allowing you to cast about 2.4 times a second, meaning you pass 3.4 seconds of your remaining cooldown per second. If you have about 50% cooldown reduction then you had 30 seconds left on your Archon cooldown when Archon ended, so about 9 seconds later you are back in Archon, starting with 15-20 Archon stacks and with 11 seconds of 70 more stacks around, allowing you to attack faster and restack.

But key to understanding all of this is understanding how all of these different benefits stack. Archon increases your damage by 20% and your armor and resists by 20%. Energy armor increases your armor by 35%, and possibly your resists by 25%, depending on rune. Glass Cannon increases damage by 15%, and Magic Weapon by up to 20%.

In Diablo 3 there are a few different categories of damage increase. Setting aside attack speed and critical hits, your damage is the sum of the damage listed on your items, multiplied by one plus Damage From Skills, multiplied by one plus Elemental Damage, multiplied by one my Skill Specific Damage (e.g. Arcane Orb does 13% more damage). Within these categories, all bonuses are added. So if you have one item with 20% increase fire damage and another with 20% fire damage you get 40%, not 44%. Magic Weapon and Glass Cannon both add to the Damage From Skills category, so 20% + 15% = 35% rather than 38%, though that's a fairly small difference. I don't think Glass Cannon is a real option for the build anyway, so that doesn't actually matter, it's just an example.

What does matter, however, is that the 20% extra damage from Archon form and the extra damage from Archon stacks are also in the Damage From Skills category. If you have 100 stacks of Archon, that doesn't multiply your damage by seven, it adds 600% to that category which already has at least 20% from just being in Archon form. Instead of dealing 840% damage you deal 720%. The more stacks you get, the more anything that adds to that category loses importance. For most wizard builds Magic Weapon is a 20% damage increase. For the wizard build that basically doesn't use it's main bar and for which passive buffs seem like automatic includes, it is much weaker.

Also weaker is Energy Armor. It turns out that the basic Archon bonus, the bonus from stacks, and that bonus from energy armor are also additive. So if you have 70 stacks then rather then that 35% more armor, 20% more armor and 70% more armor come out to a total of 125% more armor, not the 198% more armor it would be if they were each applied separately. We can compare this to the 600% damage increase buff from Tal'Rasha's set. That doesn't show up anywhere on your character sheet, instead it just actually multiplies your damage by 7 after the fact. If you also have the 300% increased Arcane Orb damage from Triumvirate buff, then your Arcane Orb is multiplied by 4, then by 7 for a total of 28.

But when your base damage is 7000% per second, you can do with worse multiplication rules. Of course it isn't really 7000% per second either. Instead, it is each second - really each 59/60 seconds - you do 7000% of your weapon's damage - really 6883% - with a chance to crit. Attack speed increases don't make the waves happen more often, nor do they get averaged into your damage beforehand. When you have 100% attack speed increase, that's a pretty big deal.

Attack speed is especially bad for this build. Not only does it stack badly with archon attack speed increase - 70 stacks and 15% increased attack speed makes 85% increased attack speed, not 96% - but it also doesn't affect your primary source of damage at all.

Basically Archon doesn't stack well with anything. Magic weapon provides only a 4-6% increase in damage with the Force Weapon rune. Energy Armor with Prismatic Armor gives only about 18% more armor and 13% more resist. But on the other hand you can't really do damage when you aren't in archon mode, no matter what you put on your bar. You also don't want anything with a cooldown because that interferes to the Ring of the Zodiac resetting your Archon cooldown. So I use passive buffs after all, because there just isn't anything else to do. All this stacking information is great for making a spreadsheet, but it is not great for making decisions about while abilities to use, because there aren't really decisions to be made.

Wednesday 9 September 2015

Borderline Benefits

We react to a provocative interpersonal encounter with an affective response, which we experience in our bodies. We then try to make sense of this experience by creating a verbal/symbolic description. We also need to be able to sequence the experience, i.e. to connect our response to the initial provocation. As we begin to make these links, we can make reasonable attributions about ourselves and others, while relying on our memory of similar encounters, and finally come to a decision as to how best to respond. For example, when someone makes a demeaning comment, most people will respond by creating an internal dialogue, acknowledging to themselves how that person is making them feel. They may then perhaps question whether the demeaning comment is accurate or whether the person was making an unjustified attack and respond accordingly. 
A key hypothesized functional deficit of BPD is the ability to label and sequence emotional experiences. Persons with BPD often have a rich ability to employ abstract metaphors and visual symbols through poetry and art, but have much difficulty consciously linking language and other abstract symbols to their experiences. They often have difficulty interpreting their poetry or art, pinpointing a particular emotion, or even acknowledging words that they just employed.
http://www.upstate.edu/psych/pdf/education/psychotherapy/ddp_manual.pdf
I was with a person discussing their experience of reading Crucial Conversations, a book about how to handle emotionally charged conversations by a team of authors. A key piece of advice in the book relates to understanding the stories that you tell yourself. They remind you that if you think someone else made you angry, really you made yourself angry by telling yourself a story about that person and their motivations.

So one thing to do to reshape a conversation is to question these stories you are telling yourself. Recognize that you might have things wrong, think about whether there is a different way to think about or interpret what someone else did. The person talking about the book said how hard this seemed. It was as if the book was asking them to have an out of body experience and look at a conversation from a perspective that was not their own.

Now, obviously this is a skill that takes practice, and it probably is hard for a lot of people starting out. But it isn't hard for me. It's incredibly natural. That's because I have a functional deficit in forming those stories in the first place.

Actually considering that I might be wrong about nearly everything and anything comes pretty naturally. My explanations, to myself, of what is going on around me are provisional and intellectual, they are not about emotions or attributing praiseworthiness and blameworthiness. To the extent that I am willing to admit any emotion, I require a justification. I don't get angry merely because someone did something cruel to me, I get angry because I can explain why it make sense for a person in my position to get angry. Or at least that's how I experience anger. I'm sure I get angry at other times, but I might not be aware of that at the time,.

This was interesting to me because it hints at an actual function for the difference in my way of thinking. If Borderline Personality Disorder makes it easier to observe conversations objectively then maybe there is some actual benefit to thinking the way I think.