One of Swords just linked to this article on support.activision.com about how matchmaking works. Thought you all might find it interesting since there is a lot of discussion about how this works. Thoughts? Would respectfully ask that we have a discussion, and not a rant session.
Do you think it works? Does this explain things to you or do you still have questions? Do you have ideas for how to improve matchmaking?
Note: This article is intended to dispel some of the mysteries surrounding this feature, as the matchmaking process happens largely behind the scenes. The article does not cover the skill-based matchmaking of League Play, which matches players more strictly on skill rank.
The first step in the matchmaking process starts at the playlist level. Playlists divide players into collections of maps and gameplay rules. Playlists are a set of rules that form a mix of gameplay experiences and should not be confused with game modes. The specific collection of gameplay rules defined in playlists can change over time based on the changing tastes of the online community.
Once a playlist is chosen, the game starts the search for the best match within the playlist’s population. Playlists will typically range in population from 500 to 100,000 players around the world at any point in time. The number of available games in a playlist is around 10-20% of the total player count. At the lowest end, for example, a playlist of 500 players may have only 50 possible games from around the globe to join. The search query takes the list of all available games and filters it down using these steps:
- Filter all games that can be joined by proximity to the player. Proximity does not adhere strictly to city, state or country as seen on a map. Rather, it breaks down into four tiers of geographical region surrounding the player. The query starts in the tier closest to the player and expands from there if it cannot find enough matches. The query also ignores all full or “non-joinable” games, which could be half or more of the total available games in a playlist.
- Filter by broad skill range. This step takes the proximity-filtered list and narrows it further to the set of games that fall roughly in the same broad skill range. This is very loose criteria in Public Match and is a broad-stroke filter that avoids games at the extreme ends. A player of very high skillshould generally not get matched to games where the average skill of players is very low, and vice versa.
- Steps 1 and 2 normally take a fraction of a second and result in a list of “top 50” available games. From here, the game tests for the best connection quality of those 50 games. Connection quality includes a measure of ping, bandwidth between you and the host, and NAT compatibility. The game attempts to join the you to the game with the best connection quality of all possible matches, starting at the top of the list.
Note: The total process of all three steps could take several seconds, depending on your connection to the internet and the games available in your playlist and region at that point in time. In the best-case scenario, you should get matched to game hosts in your region, where the average skill is not at an extreme above or below your level, and where the game is the best connection quality you can find.
There are several factors that can decrease the quality of matchmaking and degrade the quality of your online matches:
- The first is your local network connection quality which itself is determined by a number of variables. If the quality of your network doesn’t meet minimum criteria, the matchmaking won’t matter – the game cannot control variables that are general aspects of internet connectivity. For steps on improving your local connection quality, see the article on decreasing lag. Here are some factors that can decrease your quality of network service:
- Low bandwidth to the internet due to ISP bandwidth limits.
- High bandwidth usage by other services in your home (video/audio streaming or high-volume concurrent downloads, for example).
- Your local home network has restrictive NAT settings.
- You are playing the game over a WIFI connection rather than wired Ethernet.
- Your ISP is throttling data throughput from your location. Some ISPs erroneously flag online games as “spam” and will throttle the speed at which data can transfer in and out of those games. If you experience consistently laggy games or games that lag during the same time periods every day and there are no other problems with your home network, check with your ISP to ensure that they aren’t throttling specific types of data.
- The second variable is your region. If you live in a remote region, it will be more difficult to find hosted games that match your profile. The best option for those in extremely remote regions is to play during local peak hours in playlists with high player counts.
- The third variable is time of day. Since matchmaking works to find the game with the best connection quality, it will have a much easier time finding high quality connections when there are more players online in your area. As a general rule, peak usage occurs during the late afternoon and evening hours in each time zone.
- One last variable to be aware of is DLC. DLC map packs divide matchmaking pools into groups of players who have DLC and players who don’t have DLC. The more map packs that are released, the more matchmaking pools there are. Nine months after the initial launch of the game, for example, the highest single population of players is that which owns all map packs.
Now that you understand how matchmaking works, you know what factors contribute to the quality of games available to you at any point in time. If you frequently find yourself in games with lag, first check your local internet settings for ways to improve performance. Then, check with your ISP to make sure they aren’t throttling bandwidth. If your internet and home network are both in good shape, but you still find yourself in games with lag, you may want to schedule your online sessions for times of day when there are more players online in your location, typically late afternoon and evening.
The game also provides the option to change matchmaking search preferences to favor getting into games faster (which may result in lower-quality network connection between you and the host) or getting into better-quality games (which may extend the time it takes to find games). In the “Find Match” selection screen, press the button labeled “Search Preferences” and select your preference: “Normal” (default) follows the exact steps outlined above; “Any” reduces restrictions in the query and will return results faster, although they may not be the best results; “Best” increases requirements for connection quality and may result in longer search times.