Destiny is the only game I've played where AI lags.
I have a theory on why Destiny lags so much compared to other games:
I believe bungie has a very peculiar connection scheme. It's not pure P2P as we are led to believe. I use a netduma, so I see where the other connections are located. I can also click on a connection and see if it's a player, or server. I've noticed in every game I play, there's a dedicated server, however, we arent connecting through it to one another, but instead, it acts as a "referee", verifying our kills. This is why you can often kill someone in PVP without any damage numbers showing up, and/or the kill feed lags many seconds behind the kill. Basically, your machine and the enemy players machine are talking to one another P2P for player positioning and weapon orientation. When you get the kill, you send that info to the server, the server issues a kill command to the other player, gets a confirmation back, then sends you the data. Basically it's a mess, with far more latency than pure P2P.
Keep in mind my theory is just that, and is based on my observations, not from any official Bungie source.
Edit: Reading this, it all makes more sense to me: http://www.gdcvault.com/play/1022247/Shared-World-Shooter-Destiny-s (Credit to SebastienC for the link).
I believe this is not the ideal connection scheme for PvP. It makes perfect sense to use it in Destiny's PvE, though. For PvP, I'd much prefer a traditional P2P connection with CBMM. Dedicated servers would be nice too, but I'm not holding my breath.
English
-
Edited by Saxifraga: 8/30/2016 2:57:12 PMDestiny opens database connections to Bungie servers who have our guardians stored on it. Those databases use rollback savepoints so we are unable to cheat. We can't create doubles of weapons or other inventory stiff, but we are also lowed down by this. Takes ages to open inventory every time you want to use a heavy ammunition synthesis.
-
Yes, but thats the "Destiny servers". I don't believe that is the same server as the activity host. I've played entire PvP matches and PvE activities while viewing "contacting destiny servers". At that time, changing items in the inventory were massivley delayed, up to 30 or more seconds. The game "played" normally, though.
-
I believe it's called a "hybrid listen server" and it's role is to keep the master clock of the match running and to mediate between clients when they have too large of a discrepancy between timestamps on an event. It's supposed to give the benefits of a non player host which dictates the reality of the game whilst retaining the benefits of non centralised p2p networks which theoretically can be much faster if all players are in close proximity. Of course we all break it by doing things like running in transatlantic fireteams, using a busy badly configured WiFi router and playing using 3g and 4g phones as WiFi Hotspots.
-
You are quite correct. Bungie made a presentation at GDC 2015 in which they explained the network architecture of Destiny. Here's the link: [url=http://www.gdcvault.com/play/1022247/Shared-World-Shooter-Destiny-s]Shared World Shooter - Destiny[/url] This server you have observed is an "activity host". It does not run any simulation (that's one of the consoles in your P2P network, designated the "physics host"), it just runs scripts and maintains the consistency of shared information.
-
Just read the mission statement. It matches up with what I was thinking pretty well. I only wish they accomplished the "low latency", and "seamless" goals in the mission statement.
-
Yup, you are correct. One player is chosen as the Host, all "referring" goes through this host to the server and back again. Host to server to host to client/s. Client to host to server to host to client/s. This is the "Host advantage" that people refer to, you can see that a client has an extra hop for action verification. It is my understanding that Bungie has been using this schema since Halo 2. The Netcode has been improved since then obviously but the basics persist.
-
Edited by I am Skullshot: 8/30/2016 1:33:43 PMI had a similar idea, no way to test it and with only a couple semesters of networking I figured the lobby goes off p2p with a host but everyone holds a connection to a server while connecting to a lobby to that host, would explain why destiny uses so much internet. But clearly destiny does do too much at one time. Let's hope in destiny 2 they have fully dedicated servers cause this current shit seems very unnecessary