Showing Highly Rated Posts By MikeLewis:

Latency Tuning Experiments

in Account & Technical Support

Posted by: MikeLewis

MikeLewis

Lead Gameplay Programmer

Hi Tyrians!

We’ve been experimenting with some fine-tuning of our servers lately, with the goal of improving the feel of gameplay and minimizing the impact of “skill lag” and other server-based latency. You may be noticing small changes to the feel of the game, ideally for the better. Please keep in mind that these tweaks are experimental, and we can’t always fully predict the effects. As such, if you experience markedly worsened latency or significant gameplay smoothness issues, please do let us know.

There are a few things that this will hopefully impact and many things that it will not change.

  • Disconnects and other game errors will not be affected by these changes.
  • Slowness with game features like the Black Lion Trading Company is not meant to be affected by this work.
  • Frame-rate (FPS) problems will not be impacted in any way by this effort.
  • Ping times are unrelated to these changes in general, although dramatically varying pings may be related.

On the plus side:

  • Skill lag should diminish slightly, with things responding a tiny bit quicker in general during periods of high server latency.
  • Movement problems on slow/laggy connections should be improved visibly – rubber-banding, popping, stuck animations, and other symptoms of bad connections should be mitigated somewhat.
  • Gameplay over connections with a high ping should feel smoother and more responsive.

The goal of this experimentation is to find a sweet spot that delivers the best-feeling experience possible to as many players as we can. We appreciate your understanding if the experiments are not immediately (or dramatically) successful. Feedback is welcome as always.

There are only limited things we can do to tell what this feels like from the player perspective. Of course we’ve done internal tests and have people monitoring the game; but our capacity to test various kinds of connections and gameplay styles is naturally limited, and since the results are so subjective, it’s not really fair for a small number of us to decide “hey this feels good.” We’d love to hear if you’ve noticed any changes and if they feel better, worse, or about the same as before.

Thanks for reading and I hope you continue enjoying Guild Wars 2!

For the technically curious: the specific changes we are making are to a system known as latency compensation. The goal of this technology is to try to hide the delay of sending an electronic signal long distances through complex network circuits. The speed of electrical signals is not unlimited, and extra complications in the network can slow signals down even further.

Guild Wars 2 uses a fairly complex latency compensator. This has the advantage of yielding a lot of good experiences even on slow connections. It has the disadvantage of being very tricky to fine-tune and adjust.

The actual algorithm would take a proper academic whitepaper to explain in detail, so the following is a highly simplified look into how it works. In a nutshell, the compensator in GW2 tries to guess how long it took a player’s input to reach the server. Based on this information, it plays some tricks with time to make it look like the action happened immediately instead of many milliseconds ago, when the input was first sent. Imagine an action that takes 1 second, or 1000 milliseconds. If the compensator on the server guesses that you actually started that action 100 milliseconds ago, it fast-forwards the action and says “start the action at 100ms in and play for 900ms” instead of the usual “start at 0ms and play for 1000ms.”

Here’s the tricky part: instead of just doing this on the server, we also do this on other players’ clients. So if the server relays the action to another player, and that relay takes 50ms, the final action as seen by the second player will look like “start at 150ms and play for 850ms.” This can lead to significant popping and other visual artifacts. A few milliseconds is not typically visible to the human eye, but 150ms is absolutely noticeable.

What our experiments are doing is controlling how much time the latency compensator will mess with. In particular, the client-side secondary compensation is our current focus. We’re working on finding out what numbers result in the best game experience for the most people we can.

Beta Feature: Mobile Two-Factor Authentication

in News and Announcements

Posted by: MikeLewis

MikeLewis

Lead Gameplay Programmer

As part of our ongoing commitment to security in Guild Wars 2, I am pleased to announce that we are making a mobile two-factor authentication solution available for beta testing, effective immediately.

Mobile two-factor authentication is an alternative means of securing your Guild Wars 2 account, and like e-mail authentication, is optional but strongly encouraged. Rather than sending you an e-mail when unauthorized login attempts occur, the game (or any of our online web sites) will prompt you for a six-digit number any time you log in to a Mobile Authenticator-protected account. Using a freely available app on three major smartphone platforms – iOS, Android, and Windows Phone – you can obtain the correct six-digit number unique to your account. These numbers change every 30 seconds and can only be used once; this ensures that without your mobile device, an attacker would not be able to compromise your Guild Wars 2 account.

Please be advised that this feature is currently in beta and we are actively working to get it up to our standards of quality. Use of this feature should be considered “at your own risk” until we have completed the beta phase. We have already identified two major improvements to the feature that we will complete before releasing this system for general use:

  • To increase security of your account, unlinking the Mobile Authenticator will require additional six-digit codes.
  • We will be introducing an option to “remember my current network” so that you will not have to authenticate every login from trusted environments.

Of course we will also be interested in your feedback on this feature, and will make sure to take into account your suggestions and opinions during final development.

Setting it Up:
Steps will be associated with either [Computer] or [Mobile] for where the step is taking place.

  1. [Computer] Navigate to https://account.guildwars2.com/account/security/totp and log in with your Guild Wars 2 credentials.
    - If you are redirected to the Security home page (https://account.guildwars2.com/account/security), be sure to add /totp back into the URL.
  2. [Computer] Identify the correct app for your mobile platform. Here are some suggestions:
    - Google Authenticator for iPhones and Android.
    - Windows Authenticator for Windows Phones.
  3. [Mobile] Download the application to your mobile device.
  4. [Computer] Click ‘Next’ on the Account Management page
  5. [Mobile] If your version of the Mobile Authenticator app has the ability to scan QR codes, use it to automatically scan the QR code displayed in Account Management [Computer] and skip to step #7.
  6. [Mobile] If your version of the Mobile Authenticator app does not have the ability scan QR codes, or that ability is not working with the QR code displayed, enter your credentials manually.
    - “Account Name” is the same as your Guild Wars Account Name.
    - “Key” is the secret code displayed in Account Management [Computer].
    - Select “Time Based” and not “Counter Based”
    - Select ‘Add’.
  7. [Computer] In the field below the QR code, enter the six-digit code now displayed from your Mobile Authenticator app [Mobile].
  8. Click ‘Next’.

    For more information, please refer to this Knowledge Base article – http://en.support.guildwars2.com/app/answers/detail/a_id/9238

Thank you in advance for your support, and we look forward to hearing your thoughts on this initiative.


- Mike Lewis
Guild Wars 2 Security Coordinator