On the back of news that the Trapsin bug has been fixed, CM Adam Fletcher has added a comment regarding the NHAM (Next Hit Always Misses) ” Bug”.
In the update, Adam explains that although they have “fixed” it, they have not really “fixed” it in the true sense but made it so you will see what you should be seeing. It’s a little confusing but Adam does his best to explain.
Depending on how you look at it, we didn’t touch it, but in another way we fixed it.
First, let me explain what D2 Legacy does and what you see as a player and why it is perceived as a bug. There are two places where logic is happening when you play D2. One is on the client, that is your computer, and the other is the server, that’s our computers here. When you play with other players, they are doing things on their client, and updating the server as well. The server sorts it all out and sends information back to everyone. When the information on one of them is different than the other, we call that a de-sync. A good example of this is when you are standing in one spot, and the server thinks you are in another. This causes the “rubber banding” when you snap back to a spot where both locations are the same. This is why you tend to see rubber banding more if you have a poor connection versus a strong one. As we modernized D2L for D2R we did a lot of work to keep our de-syncs to a minimum.
One other example of a de-sync is when a player that is doing something (ie: teleport or frost nova) takes a hit. On the client, the player starts playing the animation. Attacks and other abilities don’t actually occur on the first frame of animation, they will occur at a later point in time. With the teleport, you’ll start to see the lightning form, but the actual translocation of your character doesn’t occur till later in the animation cycle. If you were to get hit while you were playing that animation, you would get knocked out of the ability, and it would be canceled. In D2L it was common for you to see the animation continue for much longer than it should have. This then caused it to look like your next ability missed because what the client saw, and what the server saw were two different things. The client would then reject any successful abilities because it knew you were still in the “get hit” state, however as a player, the client had become de-synced and let the animation continue. This would then make it look like your teleport went off, or your frost nova fired off but in reality, nothing happened.
This NHAM bug people are seeing is slightly tied to the example above as your next attack/skill after a hit reaction just wouldn’t work. The reason that occurred in D2L is that you would act on your client, but the server was still in hit recovery and rejected/ignored the command. D2R has made significant improvements so that if the player now sees what the client has been doing all these years much more accurately. So when you take a hit on the client, and are STILL taking a hit on the server, you’ll see the same thing in both places. The logic is still the same as it always has been, but we now have fixed how it is being shown on the client.
I think feedback post-launch will be important to see and hear from everyone regarding this. As Rod mentioned, we will continue monitoring feedback post-launch but we think getting it in front of more people and for more time will help build a better idea of how it feels with the community.