AoD Matchmaking or the Guide of Mysterious Labyrinth Players’ Pairing
Age of Defenders is mostly a multiplayer tower defense strategy game. So if we want our players to have a unique experience of the game, we have to find an adequate rival. How would we find out which rival is adequate without having any previous playing experience? This question was, fortunately, answered more than fifty years ago by the American physics teacher, Arpad Elo, who proposed a rating system of the player's forces for chess. This system has been proved to be reliable, so it is still used, and no only in chess but also in countless multiplayer games (League of Legends World of Warcraft, Ranked Arena, StarCraft, DotA) and sports. We use the Elo system to evaluate the strength of our players. However, the original system did not meet our expectations, so it had to be adjusted slightly. How does the Elo system work for us?
Each player starts at 1,500 Elo points. After each game, the winner takes away the rival’s points. The number of points depends on the difference in the strength of the players. For instance, if a player with 1,400 Elo played with a player with 1,800 Elo (which is unlikely in our case), and he lost the game, then he would lose only 1 Elo. However, if he won, he would gain 32.
On the other side, his rival would gain 1 Elo in the first case and lose 32 Elo in the second case. The maximum values that the player can gain/lose can vary, depending on which Elo range they are located in. One rule has to be obeyed - what one player wins, the rival must lose in order to avoid the inflation of Elo.
After playing a sufficient number of matches, each player gets his real Elo rating. Having this situation in an ideal world where he would have played with adequate rivals, he would have a prediction ratio of about 50%. Unfortunately, we are not placed in an ideal world, and adequately defining a player’s strength does not appear to be enough.
We need to have two players. When an ideal rival is not situated in the lobby, we have to make compromises because we want people to have fun and enjoy playing. Therefore, after some time we do not look for rivals with identical Elo scores but we look for the most appropriate one. How does it work?
When the player enters the lobby, he has the tolerance of his rival’s strength, 1,000 Elo. This tolerance is increased every second by two. That means that players who waited a minute have a tolerance of 220 (100 + 2 * 60). If they had, for example, 1,800 Elo, they would look for a rival in a range of 1,700-1,900, and after one minute the range would be 1,580-2,020. If there is a player with an Elo score of 1,580, they will be connected and can play together.
Ideally, in order to protect all new players from being caught by players who look for adequate rivals for a much longer time, there is a several-second protection, depending on the number of games they have played. During this protection time period, only adequate rivals with a range of 100 Elo are taken into consideration and paired together.
However, after the time expires, the player can be combined with a less adequate rival. When there are a sufficient number of players, they will play just with adequate rivals. If there are not enough people, nobody would be willing to look for an adequate rival for a long time because it would be better to play with a less appropriate rival from time to time instead of not playing at all.
Hope now it is clear that sometimes it pairs you with too good or too bad player. It is simply because there is not enough players to choose from. If you want to get better matchmaking, you should support the game :) Tell about it to your friends, on your blog, or youtube channel, comments. Embed the game into your site or help us translating it. Any kind of help is appreciated.See you on the battlefield