A Primer on Snapshotting

Wyatt Cheng talks snapshots, and the limit on Torment difficulty levels

Diablo III Legendary Gem - Bane of the Stricken
The issue of snapshotting in Diablo III is a contentious one, and has come up again in Season 4 with the Bane of the Stricken Legendary gem. Developer Wyatt Cheng gave a lengthy explanation about how the mechanic works in Diablo III, and what sort of snapshotting the developers encourage. He also provided thoughts about why there are limits on Torment difficulty levels, and a PTR issue with the Legendary weapon Hack. Check out what he had to say!


Snapshotting in Diablo III
The next Public Test Realm build for Patch 2.4 will contain fixes for certain issues of snapshotting that bring about negative gameplay. The developers are requesting help from the community, to find other long-term snapshotting instances, that may need to be fixed.
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 - Looking at changing to update continuously.

Chantodo stack speed - Stack rate should be updating continuously soon

Obsidian Ring of the Zodiac - Currently under investigation to update continuously based on attack speed.
Posted by: NathanM

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)
Posted by: Apothus

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.

In a related thread at reddit, Mr. Cheng specifically addressed the issue of potion snapshotting. This primarily has been an issue with the Bane of the Stricken gem, seen above.
The technical details get pretty complicated but the issue isn't with the potion per se it's with Bane of the Stricken. Bane of the Stricken locking in a value at the time we recalculate continuous effects is fixed.

This is the call to arms! There may be other continuous effects that a potion can snapshot that need to be fixed.

(Slightly technical note, but we recalculate a number of properties on your character at various key points in time such as when you equip an item, socket a gem, or wait for it drink a potion. The potion just happens to be the most commonly used in a Greater Rift context because we lock gear)


Crowd Control on the PTR
The first build of patch 2.4 on the PTR has a bug with crowd control, where monsters can (once again) be perma-crowd controlled. That is not intended, and the upcoming PTR patch will fix it.

Torment Difficulty Limit
The difficulty scale in Diablo III was recently increased to go up to Torment X (10). Another reddit thread asked the question: why have a limit at all? Wyatt Cheng jumped in to provide a designer's viewpoint on the current 10 Torment difficulties.
The main reason we put a cap on torment is because the viability of builds is often gauged against the ability to do either a) Bounties the best b) Greater rifts the best c) Normal Rifts the best

If Normal Rifts had no cap in the same way Greater Rifts had no cap, there's no longer room for a lot of fun, experimental, or wacky builds that are perfectly capable of doing high Torments but would fall apart if the most efficient way to play were to take on a Torment level much higher.

The public games reason mentioned below is also good - and feel we've already fragmented the Public Game matchmaking pool too much.


Patch 2.4.0 Focused Feedback Threads
With patch 2.4 getting tested on the PTR, there are certain areas in particular that are receiving big changes. Battle.net forum threads have been set up to get focused feedback on four topics: Set Dungeons, Set Items, Buff Bar Revisions, and Monsters. Be sure to click through if you are playing on the PTR, and want to leave feedback on one of those topics!
Welcome, nephalem, to the Patch 2.4.0 PTR!

This upcoming patch features a slew of new features and items for Diablo III: Reaper of Souls. For more information on the scope of Patch 2.4.0, please check out our latest patch notes here and our Patch Preview here.

In order to help guide your testing efforts, we are currently looking for focused feedback discussions on a variety of topics.


To help keep feedback organized, we ask that you post your thoughts in the appropriate thread where applicable. If you have feedback that does not fall into one of the above categories, feel free to make a new thread!


PTR Bug with Hack
The Hack Legendary weapon has a bug on the PTR that is causing it to activate multiple times. That will be fixed in the upcoming PTR patch.
There is a major bug with Hack right now causing it to trigger multiple times off of certain DOTs. This has already been fixed internally but not yet deployed.

The design of Hack is that it will trigger exactly once every time you make an attack that actually requires you to push a button. The bug currently causing it to trigger continuously off steed charge - Nightmare, Firewalkers boots, Heaven's Fury, etc. will be fixed in the next PTR patch.

We appreciate the testing we've gotten so far and appreciate further testing of this once the next PTR patch goes live!

P.S. Invoker Pants now roll with 2 guaranteed sockets.

The next PTR build will hopefully be up in the next few days, with all these fixes and many more, including getting the Mac PTR client running properly. That next Public Test Realm build will also update the Legacy of Nightmares ring set, to allow for better testing of Patch 2.4.
Feedback for Diablo Somepage