Our matchmaker is a constant source of fierce discussion amongst our players. It is commonly considered to be the main source of undeserved wins for a rival team or the bitter losses for any individual player, and regularly inspires guesswork as to how it actually works that tends to evolve into full-blown conspiracy theories. It has been almost two years since we updated you on the actual mechanics of matchmaking, so it is time to post the current state of this feature.
The basic principles of matchmaking have not changed since the release of Update 2.0. In general, the matchmaker became simpler than the version from 1.9. The main reasons for this are the changes in game modes introduced since 2.0. The battle outcome is more affected by capturing territories than simple dogfights, and since all classes can now achieve that through various means, we needed to balance teams accordingly.
Currently the matchmaker picks players from the queue based on two categories of classes – PvP and PvE. The former includes all three fighter classes, the latter includes attack aircraft and bombers. When the matchmaker starts composing teams, it only assesses the number of players in each team that are piloting aircraft from these categories, not specific classes. This means that if one team has 7 dogfight-oriented aircraft on its side, the matchmaker will balance them with 7 machines from the same category, but it will not aim to mirror these teams in terms of classes. This allows us to reduce queue time significantly.
The main factors that the matchmaker takes into account are aircraft tiers, number of flights, and the aforementioned ratio between aircraft from the two categories in each team. The general rule is that the maximum tier difference between the battle and any aircraft in it should be “-1”. This means that a Tier VII battle can include Tier VI aircraft, but not vice-versa.
Every 2 seconds, the matchmaker checks the queue for aircraft waiting for battle and initiates matchmaking.
The algorithm is as follows:
Step 1. Flights are added from the queue, maximum one per team. At this stage, it only considers aircraft tier in these flights and ignores classes completely. If there is a single flight that has been waiting for more than 70 seconds, the matchmaker can add it to one team without waiting for another pair of players to balance them.
Step 2. The matchmaker starts pulling single players from the queue. Firstly, it balances the class group ratios that appeared after adding flights. For example, if one flight included an attack aircraft and a fighter, while the other two players are piloting two “heavies”, the matchmaker will add a PvP aircraft to team A and a PvE aircraft to team B. When doing this, it will additionally consider the totals of aircraft tiers in these flights and try to equalize them with single players.
Once the initial balance is achieved, the matchmaker continues to add pairs of single players from the queue (one per team) with same-tier aircraft when possible. When doing this, it considers desirable ratios for PvP and PvE classes, which depend on the game modes. For example, in the Conquest game mode, a team may have up to 7 PvP-oriented warplanes and up to 4 PvE machines (not simultaneously). In other game modes, these limits are different because the ways to gain victory in battle are significantly different there. For instance, in the Escort game mode, one of the teams cannot have any PvE aircraft at all.
The current maximum number of players per team is 9.
When forming teams, the matchmaker is constantly adding up their aircraft tiers and comparing them, aiming to equalize the result. This is done to reduce the waiting time and make the teams’ chances of victory as equal as possible. When there is only 1 player per team in a battle, there can be no difference in their aircraft tiers. When there are 2 player per team, the matchmaker may allow a difference of 1 tier for them. In 3vs3 and more, a 2-tier difference is allowed. This is subsequently negated by adding bots.
Step 3. The matchmaker balances the teams using bots based on aircraft tiers and additionally makes their class composition as close as possible. It aims to make team aircraft tier totals equal and make the number of aircraft of each class (not class group anymore!) as close as possible to a desired ratio that we set for each game mode.
For Conquest mode this ratio is:
- 2 fighters;
- 5 multirole fighters;
- 2 heavy fighters;
- 2 attack aircraft;
- 1 bomber.
Bots are added until the battle is full, which is 12 aircraft per team. 1/3 of the bots will fly the same tier aircraft as the battle tier, 2/3 of them — 1 tier lower. Depending on the battle tier, their skill level will vary: for Tiers I-III, all of them will be beginners, for Tiers IV-V — warriors, and for Tiers VI-X — veterans.
Once this process is completed, the battle starts.
A separate process is used when there are players in the queue who have been waiting for more than 100 seconds. A new battle is created for them to battle against bots. Then the matchmaker checks if there are more single players with suitable tier aircraft who have been waiting for more than 80 seconds and adds all of them to the same team. This team is filled to 12 aircraft with bots, and balanced against a rival bot team in terms of tiers and classes. Then the battle starts immediately.
There are no other factors that affect the team composition. We do not consider: aircraft model and configurations (such as Specialist), the presence of any consumables or equipment, Premium Account, the players’ win ratios, “karma” (number of recent wins or losses), specific accounts, etc.