Formula Wincars is a multiplayer game. So, much effort has been invested in the player pairing system. It is our greatest priority to keep this system equitative, challenging, and comfortable for you.
Nonetheless, behind the scenes a lot of “magic” is going on. This topic is so huge that we have splitted it in two posts:
I. Network & Matching architecture
II. The matchmaking criteria
Today, we will talk about how a player is accepted into the system and paired with other players of similar skill, but we will not delve into details of the matchmaking system and the criteria used to determine what "similar skill" is . We reserve that for a later post!
Deciding the server
To begin with, your computer connects to a very big and single Formula Wincars server we call “Metalobby”. This meta-server is responsible of controlling all players and servers and keep all transactions between players safe. This server is actually very complex on its own, and it’s protected against DDoS attacks, has a backup system and other measures.
So, once a player has entered in the Metalobby and granted access to the system, the Metalobby will determine the best server for you to play on. Among other parameters, we will check your latency against all of our servers, and the load of these servers, so you and the friends you have invited to play with will be sent to the best server available, anywhere in the world.
This server will receive you and your friends in the placer waiting list. When the server is ready, it will create a Game Group with you, your friends, and other players of similar skill. Of course you can choose to play only with your friends (private matches) but if the match is public, the game will try to pair you with the most adequate players depending on your skills and the overall competitiveness of the game group in general.When the group is ready, you will start playing!
Everytime we check a candidate to play in your group with you and your friends, we make a decisión based on two different “filters”, so we can check how apt that candidate is for you.
This is a technology-related filter. The main purpose of this subsystem is to filter out player pairings that would be uncomfortable for you. This means players with a high latency, or players you have banned, won’t be paired with you.
This is what we really call “Matchmaking”. It is a whole subsystem in itself and uses a lot of variables and a complicated algorithm. The purpose of this filter is to determine if a player is really competitive against your group so the matches will be as challenging and interesting as possible. It is not fun to have a very skilled player play against a novice!
We will talk about our matchmaking algorithm in another post, but we can say that this is no trivial matter and lots of serious companies don’t take it lightly...