Back in December, we announced we were working on a new matchmaking system.
The purpose of this system is to make queue times fairer for all players and reduce the edge cases where some people, under certain conditions, wait for a long time. For a full overview of the system, you can read the announcement blog post which was released back in December.
Today, we want to give you a status update on the upcoming matchmaking system. We sat down with Rémi Lefebvre, Online Systems Specialist, who answered our questions around the deployment of this new system.
Back in December, you announced you were going to deploy a new matchmaking system.
What is the status of this new system?
The system is fully implemented and has already gone through several short tests on the live environment over the past eight weeks. We still need a few iterations until we feel confident that it fully meets our expectations.
When can we expect new tests? What is the target release date?
The system is compatible with the existing one and can be tested on a whim as soon as a potential fix is ready. This happens without players noticing and normally has a short duration. This will happen as many times as necessary to reach our goals, which are within reach. We don’t have an official deployment date yet.
How complicated is it to release a new matchmaking system in a live environment? Why do you need to run multiple tests?
Despite our efforts and extensive tests conducted at many different levels (functional, load), we cannot fully predict how the system will behave under real load. Real players just do not behave in the same way as our fanciest simulations. While we could theoretically build foolproof validation systems, I favour the non-disruptive live experimentation approach as it is fast to iterate upon and truer to the nature of the problem we are solving.
What type of data are you gathering when doing the test?
Well, we track everything. We know how many players are waiting to play each role, whether they are playing solo or in a group, how many incomplete matches are waiting for extra players, and of course, all the player variables we are trying to optimize during the matchmaking process.
Based on all this, we can tell whether matches are forming, if players are accepting them and moving into gameplay, or whether they are “dodging” and searching again. This tells us how well the system performs and can be compared to some extent to how the current implementation behaves.
Can you specify the main issues you are currently facing with the new matchmaking system? How are you working towards fixing those?
When players “dodge” lobbies, they leave holes that must be filled in. So, the process of matchmaking has to both create new matches and fill existing holes, using an ordered queue of groups of varying sizes. All of this while finding optimal solutions in terms of assignments to matches, without sacrificing our ideals of a “fair” queue. This has turned out to be full of pitfalls and required several improvements, which are currently being tested and refined.