We are in the process of improving the player experience for combat when there are multiple players in the same instance. THE PROBLEM: As many of you may know, much of the combat system runs peer-2-peer. So actions initiated by one player happen on that player's machine first, and then propagate to the other clients via networking messages*. Another important detail: One client in an instance (the "master" client) controls the AI's. Actions initiated by the AI on the master client might be delayed by 200-400 ms in reaching your machine. It's always best to be on the master client. THE GOAL for this release was to reduce the impact of peer-2-peer latency, so that players have a more consistent play experience, regardless of which machine initiates actions. The SOLUTION involves accounting for latency in the action timing. First, a bit of background. Every skill use has two parts: a wind-up and an execute. During the wind-up, the casting actor plays an animation or starts charging an effect or something. The duration of the wind-up is determined by the action and the accompanying animations. The execution of the action is when things really happen: sword swings, missiles fly, and damage is applied (and any other effects). First change: The initiating client broadcasts "action starting" to all clients _including itself_. We made a change so that the initiating client visually starts the action immediately, but now waits for the message to bounce back from the server before logically starting the action. This means that all clients now receive notifications about an action starting at nearly the same time. Also, actions are received and processed by all clients in the same order. (Added consistency.) Second change: All clients estimate the elapsed time since the message was sent and adjust (reduce) the windup time accordingly. In most cases, the wind-up time completely covers the latency. On slow connections, a player may see a small delay in windup duration due to a longer client-server round trip time. CONCLUSION: Now the timing of actions on all clients is much closer to being in-sync, and the advantage to being on the master client is much reduced. If you were wondering about the stability of multiplayer combat over the first weekend of the release, you now know why. This is a major undertaking that affects many areas of the game, so it's taking some time to work out the kinks. What's next? We are looking to improve the consistency of combat by reducing the impact of player/creature positioning being different on everyone's machine. More on that later. * Client machines aren't directly connected. Broadcast messages from a client actually go to the server first, and then get distributed to the clients. So the latency of the message include client -> server, plus server processing time, plus server -> client latency.