Appearance
Appearance
Work in progress
This feature is currently in active development, and the synchronous matchmaker is not available yet.
MMR, or matchmaking rating, is an estimate of a player's progression, power level, or skill rating in the game. It is used in the matchmaking algorithm to find opponents that match the player's power level.
A Bucket is a section of the matchmaking cache that groups similar players based on their qualities, like their MMR. Buckets provide fast access to opponents with power levels close to the player.
Matchmaking is selecting a group of players to match against or alongside one another in online play. The matchmaker's purpose is to find players with similar skill or progression levels in the game so that the matches are fun and balanced. By using the SDK's matchmaker, all you have to do is implement the algorithm to assign an MMR to each player, and the matchmaker does the rest, that is, bucketing and finding players for you. No need to reinvent the wheel!
Assigning players' MMRs is part of your game's design and can be done in many ways, but it usually falls into two categories: skill-based and progress-based matchmaking. Progress-based means both players are comparable in some qualitative measure, such as power level, upgrades, number of troops, or town defenses. Skill-based matchmaking can be more complicated as it requires interpreting metrics and analytics of match results to deduct a player's skill level. Progression-based matchmaking is mainly used for asynchronous or co-operative PvE gameplay, while skill-based matchmaking is more common in real-time PvP matches. Either way, a game's MMR algorithm can also use a mix of both.
The asynchronous matchmaker is used primarily when the defending player is offline or otherwise not actively participating in the match. This means, for example, raiding a player's village or racing against their recorded time in a racing game. The synchronous matchmaker is used for simultaneous competitive (or cooperative) play, such as facing against a player on a turn-based strategy or deck-building game. The SDK asynchronous matchmaker works by scanning the database to find players for the in-memory matchmaking cache, while the synchronous matchmaker only matches players when both of them have sent a matchmaking request.
Testing the synchronous matchmaker is naturally more complicated than its asynchronous counterpart as it requires other live players. In addition, for games starting with a smaller playerbase, timezones significantly limit the number of players searching for a match at a given time. Making sure players find balanced matches can therefore be a more significant challenge.
As of the Release 19, the synchronous matchmaker is not yet available. Stay tuned for Release Notes on upcoming releases.
Now that you've had a brief introduction to matchmaking and the different types of matchmakers, you can start looking into integrating it into your game.