Wyatt Cheng: A Primer on Snapshotting

There have been debates on the good and the bad when it comes to DiabloWikiSnapshotting. Wyatt brings to light all of the things entailed in it. Plus the fact that it is built into the game and how important it is. Time your potions for this one its a long one.

I want to clarify a few things about many recent discussions of snapshotting and make sure we’re all on the same page as to what that means.

Snapshotting is very fundamental mechanic in Diablo III that allows the game to work correctly and according to player expectations most of the time. It’s a bit like having electricity in your home; you never really think about it when it’s working correctly, but you sure do notice when it’s not! By and large most skills should snapshot the state of your character at the time your ability is used unless there is a good reason not to. This is what allows you to cast Rend just before Wrath of the Berserker expires and retain the damage bonus. You hit that monster really hard didn’t you? Not only does Rend snapshotting the damage at the time the ability is cast allow for skilled players to time their abilities for maximum effect, it’s also what you would expect the skill to do mechanically—bleed a lot because you hit really hard! As another example, you wouldn’t want to have a character equip a very high-speed dagger, cast a bunch of projectiles, and then switch to a high-damage two-hander to artificially boost your damage by using the damage of your character at the time the projectiles landed. Projectiles should do the damage the caster had at the time the projectile was fired. They need to snapshot.

All of this is the intended and necessary design of Diablo III.

This brings us to the confusion we see when people refer to snapshotting as if it were a global bug. There’s a huge, important difference. While most skills should snapshot, some skills and items with long or persistent effects should instead update continuously. To use my analogy from earlier – sometimes the light switch doesn’t work and you REALLY notice.

Whether a skill is subject to snapshotting is not a black and white decision either. If I cast a 5 second Rend, I expect it to do damage based on the strength of my character at the time that I cast it. What about a 12 second Haunt? Should that damage be determined at cast time? What happens when that Haunt lasts 5 minutes? Rain of Vengeance snapshots your damage at the time you cast it, but what if we were to make a Legendary that made Rain of Vengeance last forever? No, we’re not doing that, but if we did then we would probably want to make it so that each Rain of Vengeance cast while that Legendary is equipped updates continuously. There are some skills where snapshotting is debatable, and there’s a tipping point over which you no longer want to snapshot because of negative gameplay that results. Huge thanks to those who have detailed instances (such as Bane of the Stricken) where a change is needed.

As you can see, general discussions about snapshotting don’t help as its existence is an important element of the game design. As you continue to play on the PTR and experience new item and skill behavior, please let us know when you encounter specific skills or instances where you feel a skill should update continuously rather than snapshot at the point of cast. Thank you for helping us make patch 2.4 awesome! 🙂

Examples brought up:

Bane of the Stricken – Updates now with your overall attack speed but NOT with the attack speed of specific skills (bracers of the first men). This is something we’re investigating but no promises and we may leave the design as being based on your overall attack speed.

Iron Maiden – Fixed in PTR Patch 1.

Uliana’s with Power Pylon – Under investigation

Chantodo stack speed – Under investigation

Could you also please address Potions and zoning snapshotting stats, such as Thorns.

Thorns snapshotting was due to the passive Iron Maiden – and is fixed and should work correctly next PTR patch (no ETA)

Uliana’s having to snapshot power pylons and spread it around the entire floor is terrible design. Has this been fixed so that Uliana can just be competitive on its own?

Will investigate.

What do you guys think of snapshotting now that Wyatt has brought everything forward?


You're not logged in. Register or login to post a comment.
  1. They’re not very smart over there are they? You get them though, had my fair share of these sorts of brainless fools which is exactly what they are! Idiots. Clearly if you need blue to explain something that straight forward either your rationale needs a lot of work ‘A-LOT-OF-WORK’ or you probably should be playing something a little more simplified than Diablo.

    • but its blizzard. all they make is super simple games for babies………

    • Except snapshotting is inconsistent and different skill to skill, item to item, set to set, etc. It’s a convoluted quagmire right now, and it’s almost impossible to determine the legitimate design from bugs if nobody knows “how it’s supposed to be.” Bane of the Stricken is a goddamn nightmare right now. Frankly, I hope they get rid of it and come up w/ something new that’s a little more fun.

  2. There is one example where I don’t want snapshotting. I use for a crusader bombardment and I want “champion of akkarath” to be launched before for the +450% dmg (due to snapshotting) but I use the rune which removes 12s cooldown so I need to have it launched after. This rune is particularly failed by snapshotting.

  3. It’s not so much about the things you can do with a snapshot it’s about the maths again I believe. Each snapshot has to be calculated (with oodles of different variables in play). With Uliana’s for example – if you do spread a power pylon across a floor of say, 100 mobs, then you make it continually refresh exploding palm instead of snapshotting it then that means you need to do 100 extra individual snapshot calculations every X number of seconds (where X is the time per refresh). That’s taking you into barb or WD territory and that creates crippling lag…

    • I was wondering about this as well. I suspect this is a major deterrent to implementing a 100% dynamic calculation model like so many posters on the forums are crying for. I also agree with Wyatt though in that if I fire off 3 arcane orbs with a power pylon and then a fraction of a second before they hit i lose the buff I am going to feel pretty crappy about that.

      I think dealing with these on a per item basis is the simplest and least resource intensive solution for right now. If they ever manage to fix their game code/server architecture/whateverTF is causing their server side lag then perhaps they can look at implementing a more permanent solution to snapshotting then.

Comments are closed.