The Matchmaking Technology Of Destiny

Multiplayer in Destiny is set to be unlike anything that’s come before. We spoke with Bungie technical director Chris Butcher about how it works under the hood and what displays to the player in the game. Find out the nuts and bolts of how Destiny differs from both MMOs and multiplayer shooters to carve its own path.

How did the big idea for Destiny’s multiplayer philosophy start?

You have all of these examples of people who are doing big server cluster things like World of Warcraft or something like that. But we didn’t really want to do that, because if you think about those kinds of games, you’ve got a centralized server that’s simulating everything in the world, but that can only scale up to some number of players. Maybe it’s 1,000. Maybe it’s 5,000. Maybe it’s 20,000. You compare that to the population of a console game and it’s tiny.

So what that means is that you have to have dozens or hundreds of these separate servers. So we started out by thinking, “We want to have a single world that everybody can be in.”

We took this mesh-based networking that we’ve been developing for years and years with Halo and adapted that networking to work in a seamless interconnected world full of other players and AIs. So when you’re playing a destination you’re moving from area to area and every one of those areas has got this mesh networking with a group of players that are in it at this one time. And then it has its own servers for that particular area so you’re continuously moving around between these groups of both consoles and also dedicated servers that are hosting it.

That’s the thing that I’m really excited that we’ve been able to do because I think it’s been really hard for us. And I don’t really think anybody else is going to be able to pull it off in the timeframe we’re talking about on consoles.

How does this mesh-based network play out in the game?

What happens is everybody in the world can play together. There aren’t these barriers that are in place. You’re all playing in one connected online world. When you’re moving from location to location you’re always going to have people to play with because there’s this huge population. You never have to go to an area of the world that’s deserted because there happens to be no one here on the server at this time.

There are these artifacts that you get when you have, when you do a simulation that runs on a single server on a big mainframe type thing, there are two problems that you get. One problem is all of the 5,000 people on your server nobody is playing in Old Russia at the moment so it’s just empty when you go there. Or the other problem is all 5,000 people logged in and tried to go to the same place at the same time and the server crashes or it gets so full up that it’s totally lagged out. And if it does get full then there are some of those games that will start having different instances, but typically they don’t handle that very well because it’s not a core part of the game design.

For us we’ve kind of said we want this game world to be able to work with millions of players online at once. And that means playing to the strengths of the consoles. Being able to use these very powerful machines to run a lot of the simulation. Being able to use the servers in a seamless fashion so that as you’re moving from place to place you’re switching networks with all of the different people that are around you. You’ve got a very high quality fast action gameplay experience. If you have all of these calculations taking place in a central server that’s one place in the world you can’t really have a fast action experience.

What if you’re playing from Brazil or the West Coast of America? When we have this big pool of global players to matchmake with we’re able to use all of our technology to make sure you’re playing with people who are physically located near you so you have good ping to everybody else. So you’re able to have this great action experience that you’re used to in these action games. But at the same time you can do it in this global fashion.

We’re always storing data about how good your connection is to everybody else. We have all of this logic that’s going on about who’s got the fastest connections and therefore who the best person is to be coordinating the activity in that particular region.

It’s as if you’re the host right there. There’s a ton of technology that goes into it. When it works it feels like you’re playing a single player game because everything that’s being simulated near you is running on your local machine and there’s no lag and no latency or anything like that. But at the same time you’re in this world full of lots and lots of players.

Next page: Will current-gen multiplayer be limited? How will competitive multiplayer work?