Unconditional fan: “Hey, this game is awesome! I wonder how they always find the right rivals for me...”
You already know how we connect you to the best server according to your latency and the current load of each server. EduardoLM explained it some time ago in his news Matchmaking I. That’s a hell of a process to arrive to the correct server, but the job is not done yet.
Once you are in the best server, we have to choose your opponents. There are several things to look at when doing this as it is not a simple task.
We have to know if you are going to race by your own or if you come in a group, it being a custom group or a team. First I will show you how we manage things if you come by your own. Being this the case, we will use your skill level to do the matchmaking.
Each server has a list of groups waiting to be completed by adding new players to them. When you arrive to the server we check each of these groups and see how well you would do in them. This is done in a way you will only be assigned to groups where the players have the same skill level as you.
These levels are as follows:
In the case that there is no such group, a new one will be created and you will be added to it.If you fit in the group it is added to a new list. Once all the groups have been checked we sort that list and get the first group which will be the group with the most similar skill to you.
Things change if you come with more people as you have to be in the same group as them.
To do so, each server will also have a list of groups waiting for known participants. When you arrive, we check all those groups to see if you are in the participants list of any of them.
If that is the case, you will be added to the group that is waiting for you. If not, a new group will be created and you will be added to it, as well as the list of participants you are waiting for. When all the participants of one of these groups have arrived, we will try to merge your group with one of the “waiting for new players” list, using the average skill level of the group as matchmaking criteria. If it is not possible, it will be added as a new group to that list.
Once a group is full of players or has been created for enough time, it goes to play.