Skip to content

Instantly share code, notes, and snippets.

@nessus42
Last active July 14, 2017 23:04
Show Gist options
  • Save nessus42/167e581ef58679624f59d3678a0a680f to your computer and use it in GitHub Desktop.
Save nessus42/167e581ef58679624f59d3678a0a680f to your computer and use it in GitHub Desktop.
Footnotes for "How Networking Works in Destiny 1 and How It Will Differ in Destiny 2 (According to Bungie)"

Footnotes

Footnote 1: Your console communicates with the Activity Hosts ten times per second. When you are in an instanced Bubble—e.g., when in a Darkness Zone or in a non-public raid checkpoint—I believe that Bungie merges the Bubble Activity Host and the Mission Activity Host into just a single Mission Activity Host. My reason for believing this is that Bungie states that "Mission Hosts fully control Private Bubbles".

Footnote 2: The typical seamlessness of Physics Host migration in Destiny is in stark contrast to many other multiplayer games of the past. For instance, I have not-so-fond memories of host players quitting in Modern Warfare 2 (even though I loved Modern Warfare 2 PvP). The game would stop for a while, locking up with a message about "host migration", and then eventually the game would continue. Until the next time the host player quit, and then the game would lock up for a while again.

In contrast, Destiny was architected so that the vast majority of the time that a Physic Host migration occurs, you'd never even notice at all. In fact, Bungie boasts that in a public Bubble, a Physics Host migration happens on average every two minutes and forty seconds, and that this happens seamlessly, without you noticing. (I do not know whether Destiny forces these host migrations, or if that's just how often the current Physics Host tends to come and go from a public Bubble.)

Note that this is one of the reasons that Destiny cannot support huge WoW-like zones. A zone (or rather a Bubble) must be completely runnable by every console in a Bubble. (One reason for this is so that every console is always in a state that is suitable for immediately becoming the new Physics Host when a host migration is required.) Consequently, you should be very happy that Destiny dropped support for PS3s and Xbox 360s, since their weaker CPU and RAM capabilities limited the size and complexity of Bubbles in Destiny.

In Destiny 2, host migrations are a thing of the past. Despite this, each console still simulates the physics of an entire Bubble, and so the capabilities of the slowest console supported by Destiny 2 still limits the size and complexity of a Bubble in Destiny 2. (In Destiny 2, why does every host still simulate the physics of an entire bubble if a console will never be tasked with the job of becoming a Physics Host? The answer to this question is discussed in detail elsewhere in this article.)

In fact, the reason that Destiny 2 will still be limited to 30 frames/sec on consoles rather than being upgraded to 60 frames/sec on PS4 Pros and Xbox Scorpios, is due to the limited CPU capabilities of the PS4 Pro and the Xbox Scorpio. One would naively think that any frame rate limitation would be due to the graphics cards in these consoles, but for Destiny 2, this is not the case. The Destiny 2 physics engine cannot simulate the physics in the complex Bubbles that Bungie would like to implement at a rate much higher than 30 ticks (i.e., 30 Bubble-states per second) using the CPUs that come with even the souped-up versions of the current generation of consoles. If Bungie wanted to support 60 frames/sec on consoles, they would have had to make the Bubbles smaller and/or less complex.

You might object here and point out that World of Warcraft (or your favorite MMORPG) supports huge zones with zillions of active players and is able to do so at high frame rates because WoW doesn't require that each gamer's computer duplicate all the work of Blizzard's dedicated servers. Why doesn't Bungie take the same approach as WoW?

Hold your 4th Horsemen! We'll get there!

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