Skip to content

Instantly share code, notes, and snippets.

@nessus42
Last active November 6, 2021 01:35
Show Gist options
  • Save nessus42/3738647a2052c4758c6f46f0464c47a6 to your computer and use it in GitHub Desktop.
Save nessus42/3738647a2052c4758c6f46f0464c47a6 to your computer and use it in GitHub Desktop.
Destiny Networking Article FAQ

Q. Bungie says that there will be no more host migrations, ever, in Destiny 2. Is that right?

A. Yes, it's true that that's what they've said. I'm not sure that I believe it, however. I certainly believe that what Bungie said will be true for PvP matches and for raids. For both of these cases, the console-hosted Physics Hosts of D1 did not always prove reliable-enough for a seamless experience.

On the other hand, the console-hosted Physics Hosts, in my experience, worked flawlessly in almost all other situations. Why fix something that's not broken? While at the same time spinning up expensive servers for no good reason?

Consider too the situation where you are playing the story campaign by yourself in an instanced Bubble. You don't need a remote Physics Host for this. Clearly, the entire game (except for the Mission Host) can run on your console. Why spin up a Physics Host in the cloud for solo play?

So let's assume for the moment, that when playing missions solo, there is no Physics Host, other than your own console.

Now let's say that a friend jumps into your mission. Suddenly you now do need a shared Physics Host for the two of you. There are two ways this could be handled by Destiny 2: (1) Your host remains the Physics Host, and your friend ends up using your console as his Physics Host. Alternatively, his console could become the Physics Host, but that's more or less the same thing. (2) Bungie spins up a Physics Host in their server cloud just for the two of you, and a host migration occurs, just as happened in D1, only now the host migration is migrating the two of you into the cloud.

Considering how well choice #1 worked in D1, it's not clear why Bungie would chose #2. But maybe they have. One advantage of choice #2 is that Bungie could implement complex raid-like mechanics in every mission and strike, should they decide to, while maintaining glitch-free game-play.

As I described things above, even for choice #2, there is a host migration that occurs when your friend joins your mission. Or for choice #1, there would have to be a host migration if you quit the mission when your friend joins. (Maybe you don't really like him all that much.) But Bungie said that you would never experience a host migration. If we are going to take Bungie 100% literally, then this would mean that when playing Destiny 2, you will always be using a Physics Host in Bungie's server cloud, even when you are doing solo missions.

I tend to doubt that we are to take Bungie this literally. But I certainly can't say for sure. Maybe for reasons that I can't fathom, Bungie did decide to have your Physics Host reside in the cloud all the time, every time, even when playing only by yourself.

There's one more additional reason why Destiny 2 might still have host migrations: Infinite Warfare PvP, for instance, now runs using dedicated servers. But I have read that it will revert to using a P2P host if the latency to the dedicated server is too great and Infinite Warfare's netcode decides that in this case the game will perform better on a P2P host.

We might also imagine that there could be times when there just aren't enough dedicated servers available to handle peak load. In this case, falling back to a P2P host might be more reasonable than refusing to let players play the game.

Will Destiny 2 do anything like this? Who knows? All we can do is speculate, but I would claim that if Destiny 2 were to implement these kinds of measures, they would be completely reasonable things to do.

Q. Regarding Destiny not having "dedicated servers" for PvP: The problem is Trials, when you're on your ninth match and already lost mercy (likely thanks to cheaters/laggers) and then risk the same from happening. IMHO, it's the only time I care about it. Standard Crucible/Iron Lagger? No problem, annoying, but not as "serious" since you can just run another match. Trials? In the above scenario, you're screwed out of your Flawless, your time, and have to start over invalidating those eight wins. Trials should be a cut n' dry, no BS, no exception mode, that demands certain network conditions to be met or you're removed. In your opinion, could they gate off Trials and create a more demanding criteria?

A. They probably could and probably should, but they probably won't.

It might make sense for Bungie to implement a true dedicated server model for Trials, but I think that there's precious little chance of this happening. Consider, for instance, the challenge of getting two different netcode implementations to "feel" exactly the same. And then consider the small fraction of the people who buy Destiny that actually play Trials regularly. Is Bungie going to put in that kind of effort for such a niche? (Sometimes I worry that if Bungie doesn't figure out a way to make raids more popular that they'll stop making them. I doubt that will happen, however, since I think that raids are too important to Bungie's "legacy".)

Personally I think that Bungie should spin off a competitive PvP game to be called "Destiny Arena", or something like that. It could use dedicated servers, be fully e-sport ready, and Bungie wouldn't have to worry about balance between that game and PvE, or about it feeling exactly the same. Unfortunately, I doubt that this is going to happen either.

For those who might object about the extra price for such a game, it could be bundled with Destiny, but it would be a separate game.

Regarding having your valuable time and effort robbed from you, I feel your pain. As a die-hard raider, it's not uncommon to be working on a raid challenge for several hours, and then when you are finally just about to succeed, you are robbed of your victory by one of Destiny's notorious raid glitches.

Despite this, I love Destiny raids. And yes, I might complain bitterly from time-to-time about the glitches. Realistically, however, I know that raiders are a small fraction of Destiny's player-base, and so fixing these glitches is not going to be super-high on Bungie's priority list of bugs to fix. I'm sure there are bugs that affect many more players that Bungie feels they need to work on first.

I think that Trials players are in a similar position. Bungie loves their raid audience and their Trials audience to death, but they have to worry about the needs of the plebs first.

Q. Why are things like "trading" and being killed by someone who is already dead so common in Destiny PvP?

A. I posted a whole nother article to answer this one.

Q. It seems that you're just a sock puppet for Bungie. Isn't that true?

A. Well, I said at the start that I was primarily summarizing a technical talk given by Bungie at a Game Developers Conference. My goal was to present technical information that Destiny fans might be interested in, in a form that is hopefully more approachable than the technical conference talk itself.

If summarizing a technical talk given by a respectable company counts as being a "sock puppet", then I guess I am.

Q. But you've done more than just summarize what they've said. You've written all sorts of extra nonsense defending their indefensible, cheap, and lazy "netcode". Why would you do that if you aren't a sock puppet fan-boy?

A. After I wrote the original draft, people had all sorts of questions for me. E.g., "If Destiny is supposed to be kind of like an MMO, why doesn't it have huge WoW-sized zones?" I have tried to answer these questions to the best of my abilities.

As for being a fan-boy, I have plenty of criticisms of Destiny myself. E.g., I do not at all like the constant nerfing of PvE weapons and abilities for the sake of better PvP balance. Personally, I think that PvE and PvP should be balanced separately.

This being said, I do enjoy Destiny a great deal. And I also thoroughly enjoyed Marathon, Halo, and Halo 2. If that means I'm a fan-boy, so be it.

Q. But you're not a game developer, so what qualifications could you possibly have to summarize a gaming technical talk or to answer questions about it?

A. I may not be a game developer, but I am a senior software engineer with many years of experience, so I'm not completely ignorant on these issues. I can watch technical talks and make sense of them. I also have a degree from a very highly respected STEM university, and so I have been trained to analyze and to think critically about technology.

Additional factoids about me: (1) I redesigned all of the networking and server infrastructure for a world-famous laboratory. (2) I adapted brain imaging software to visualize radio astronomy data. (3) I was a teaching fellow for a graduate-level computer-science class at an Ivy League university. And (4) I even developed critical software for a NASA space telescope, including software involving its telemetry.

So perhaps you will grant that I'm at least not just some random ignoramus.

If someone who is a true expert in gaming "netcode" development wishes to annotate my article with all the ways in which it is putatively ignorant and misleading, then get in touch with me and you can go to town.

Q. You seem much more a fan of PvE than PvP, so you just don't understand the needs of a serious PvP player, do you?

A. It is true that I'm more of a PvE player than a PvP player. I have however, played many hundreds of hours of FPS PvP in my life. I don't claim to be terribly good at it. I consider myself to be a casual PvP player.

This doesn't mean that I don't have some understanding of the needs of "serious" PvP players. In dealing with criticisms of my write-up, I've been forced to do a lot of research on the state-of-the-art for competitive PvP "netcode". I understand what serious PvP players want.

What such players need to understand is that Bungie has given no indication of wanting to cater to the "serious" PvP market segment. Destiny has zero presence in the e-sport world. And Bungie has not provided PvP netcode that works in the way that competitive players want PvP netcode to work. Nor have they provided one iota of evidence that they ever intend to do so.

Bungie certainly knows how to implement a "dedicated server". Their Halo games were played competitively. The "hosts" in Halo Reach, for instance were authoritative about all game state. If you took such a host and ran it in a server farm, instead of on a peer console, you'd have a "dedicated server".

But this is not the route that Bungie decided to take for Destiny. Instead, they took that netcode from Halo Reach and instead of perfecting it for even better PvP play, they modified it to be ideal for PvE play instead.

When Bungie set out to implement Destiny, this was their goal, in their own words, from the mouth of their CEO:

"We like to tell big stories and we want people to put the Destiny universe on the same shelf they put Lord of the Rings, Harry Potter or Star Wars"

Here is the full interview.

Notice that Parsons talks about the importance of story a whole lot, and how Destiny is going to innovate by making a very "social" game. He mentions "competitive multiplayer", on the other hand, for half a sentence.

Okay, so clearly Bungie failed in delivering the Star Wars of video games with Destiny 1, and clearly PvP is important to Bungie, but by all accounts PvE is more important to Bungie. (Please note that I do not mean to imply here that you should consider PvP to be less important than PvE. You should prioritize the parts of Destiny that you personally enjoy the most. My only claim is about where I think Bungie's priorities lie.)

By "all accounts", I mean the amount Bungie's spent talking about the importance of their story and of the social aspects of their game, the amount of money they've spent on developing a PvE experience, and the fact that their netcode is optimized for PvE. Also, Bungie published this chart in early March 2015 which shows that only 15% of the time spent playing Destiny was spent in PvP. Now that the PvE content is exhausted, the percentage of time playing PvP is probably significantly greater, but if we look at this chart from Destiny Tracker, we can see that even now the number of PvE players is consistently greater than the number of PvP players. And Destiny Tracker is almost certainly skewed towards PvP players since it tracks so much PvP information, that the discrepancy between the number of PvE players and PvP players is probably even greater than represented by this graph.

My conclusion from all of this is that Bungie is not targeting the truly serious, competitve PvP player in a way that will make them happy. I know what the serious PvP player wants, and I know that Bungie is not giving it to them.

Does this make Bungie a terrible company, deserving of your ridicule? Maybe. If you believe that you have an instrinsic right for Bungie to be making the game that you want, rather than they game that they want to make. Personally, Bungie is serving my gaming needs okay, so I have no desire to aim huge amounts of ire at them, despite the numerous little gripes that I like to make from time to time.

If you feel personally insulted that Bungie is not catering to your PvP needs, then I guess rant at Bungie all you want.

Q. Admit it: Bungie and Activision are just trying to maximize their profits at the expense of their loyal serious PvP fan-base by providing the cheapest-possible solution for PvP. One that is only suitable for the most casual of PvP players. Why won't you just admit to that already?

A. Well, Bungie has provided you with dedicated Physics Hosts to make you somewhat happier, and that comes at significant and continuing costs, but okay: Cost is always a consideration when you've made a product that was very expensive to develop and you have to turn a profit to stay in business.

The percentage of Destiny 1 players who played Trials regularly is a small fraction of the players who purchased Destiny. When Destiny 2 is sold, likewise, only a small fraction of the purchasers is likely to play its highly competitive PvP modes regularly. Consequently, the amount of resources that Bungie is going to dedicate to make these players happy is not going to be hugely out of line with their numbers.

Let me reword the above in the way that you would prefer: Bungie and Activision are just trying to maximize their profits at the expense of their loyal serious PvP fan-base by providing the cheapest-possible solution for PvP. One that is only suitable for the most casual of PvP players. (Even though many serious PvP players seem to make do with it anyway, and managed to play well enough with this terrible PvP netcode to make it to the Lighthouse dozens or hundreds of times, despite the constant complaining of a large number of serious PvP players.)

Happier now?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment