Lets talk about latency in PvP and the tools to diagnose it!
I am not going to go into too much detail, but there are significant problems with latency in this game. I will mainly be focusing on PvP and talk about the problems and a few solutions that have been implemented in many games for the last two decades.
This game can be fun, but you can have a total different experience in a situation where you are playing with low latency, or when there is someone 500 or 5000 miles away in the lobby and breaking the game.
[b]The problem[/b]
1. There are many problems caused by latency, from melee trades, to whiffed attacks, to lack of hit registration.
2. When the game moved from Battle.net to Steam, we lost the ability to select geographical regions, therefore all players are now globally being matched. With the BNET client, we could at least select from Americas or Europe. We don't have this at all with Steam. Latency issues significantly increased during this time.
3. The introduction of crossplay exacerbated latency issues, to where the game simply isn't enjoyable when you have a console in the lobby, especially if they are a long distance from you. Most games with p2p networking and crossplay suffer from this.
4. We don't have any way of diagnosing where the problem with connectivity is during a given scenario.
5. Latency affects performance differently with controllers compared to mouse and keyboard.
[b]The solution[/b]
Note: The following options would be on a toggle to display locally . If you don't care to see them, you don't have to enable the option.
1. Destiny 1 and a majority of online games have a latency display. Destiny 1 used a meter, but a numerical display is always preferred. Destiny 2 needs to have this enabled. The Steam UDP relay service used by Bungie for ALL platforms has functions to quickly get latency between two hosts through the network. If you are going to use my network infrastructure at home, I should at least have visibility into what is going on with the health and performance. Based on Wireshark data, you already actually get these values during matchmaking, so rendering to the roster shouldn't be too much of a lift.
2. Allow PC players to disable crossplay like you do with consoles. I don't want to match a console playing alone or a console in his PC friend's lobby until the connectivity can be stabilized.
3. Show a country flag/region name. The country is obtained using the SteamWorks SDK upon login already for the local user, now do it for other users and display it on the roster. This will help to immediately identify how far geographically you are from someone.
4. Display the user's current input method in the roster as well as disable changing input methods during a match. There have been a few bugs in the past that gave mouse the AA of controllers. Knowing what input method they are using, seeing the latency, and tracking the feel of the match will help to diagnose how much the other user is being affected or make it easier to tell if they are using a cheat or device used for accessibility.
4. Add in a toggle to opt-in for low latency matches with a warning to indicate the queue times might be elevated. If a queue is long enough, prompt the user to suspend the filter for this queue only and risk poor connection queues.
5. Add in toggle to opt-in for regional matching, where some larger areas will have subregions (ie. US-West, US-Central, US-East), following the same prompts as the above item.
This a rather informative post. But if I'm being honest, and I mean no disrespect as it was very well thought out, the title sounds like the name of a video someone would show in a school health class.