Learn About How Matchmaking Works

If you have ever found yourself wondering how Halo 4 matchmaking works, you may find the below information interesting. I initially asked Thomas, someone on our Matchmaking Systems Team, to provide a quick-and-dirty explanation of the matching process for our overseas players (as the “Good Connection” searching option was removed from the menu in favor of automatically prioritizing it in the backend), but I thought his write-up may be interesting to more than just that group. So, here is a high-level view of how matchmaking works. Hope you find it informative/helpful/intriguing/useful in some teeny tiny way!

When it comes down to it, finding a good match is a lot like trying to buy a car.

Let’s say that you need a car immediately. You want to buy a red 2008-2010 sedan from a specific car maker and you want to pay less than $15,000 for it. When you get to a dealership, the first thing you’re going to do is try to find all the cars that match your requirements. If you find a few, great – now you can figure out which one of them is best and go with it. If you don’t find any that meet your requirements, there’s still a bunch of other (though less appealing) cars you can choose from. After looking at what they have in stock, you pick out the best car you can (with a few compromises), and drive off!

That’s pretty much how matchmaking works. We start out with a list of requirements for an ‘ideal’ match, and if we can’t find one, we try to pick a match that’s as good as we can make it with what’s out there.

When you initially start searching in a playlist, we limit certain variables to try to give you the best possible match - these are our requirements for an ideal game. In this ‘best game search’ phase, we limit maximum latency (to a low enough value to ensure a good experience), and we limit the maximum skill difference between players (to help prevent one-sided fights). Both of these are controllable on a per-playlist basis, which allows us to have a different definition of an ‘ideal match’ per game mode.

(In case you’re curious, ‘skill’ here refers TrueSkill, the Xbox LIVE system for tracking player skill. How that works in the context of Halo 4 is too complex for the scope of this post, but you can find a nice article here with some basics of the underlying system: TrueSkill™ Ranking System - Microsoft Research

We start our search by asking Xbox LIVE to give us a list of existing game sessions that match these requirements. Because we can’t know latency values ahead of time, we begin with an estimate of what latency values are going to be based on where we think players are located geographically. The results that we get back are sorted by an aggregate score that combines this estimated latency, skill, and the presence of DLC. Each one of these requirements is weighted differently and has a different impact on the final score of each possible match. If we like the results we see, we query the top few results for their real latency to you, update the session scores, and then try to start joining games in the order of best score to worst score. Sometimes this means forming a new game; sometimes it means joining a game already in progress - the session with the highest score wins.

If we can’t find any ‘ideal match’ results within a certain amount of time, we switch over to what we call ‘acceptable search mode’. In this mode, we realize that you’ve been waiting for a while to play a game, so we’re willing to accept a less-than-perfect match in order to get you into a game. In this phase, there are no restrictions on latency and skill. However, we still sort the final results by latency, skill and DLC (although in a different ratio, with less emphasis on DLC and more emphasis on latency). The end result is that we give you the best possible game out of what we can find at any given time.

In an ideal world, if we allowed players to search in matchmaking forever, we could create perfect games every time. However, we have to make compromises in order to form games in a reasonable amount of time. inding a good balance between game quality and search times is a constant challenge.

In the end, we really want all our fans to experience Halo 4 the way it was meant to be played as often as possible: Lag-free, challenging and fair. We have a lot of tools in our toolbox, and those of you playing in our Infinity Challenge tournament hopper are already seeing some of them at work in order to help prevent boosting and improve the experience for participants. We are committed to doing the best we can when it comes to balancing these factors, and we will continue to monitor and adjust the matchmaking system as time goes on.