Designing efficient systems for expressive matchmaking
Here are some practical strategies for creating and implementing a flexible and practical matchmaking system.
At GDC 2023, Heroic Labs CEO Chris Molozian gave a talk discussing challenges in massive multiplayer online matchmaking, and how to approach customizable and scalable solutions using open source technologies, emphasizing the company's game server Nakama, which they've made available for developers on GitHub.
Opening the talk, Molozian discusses various matchmaking principles, emphasizing that good matchmaking brings players together by using criteria, like level or win-loss record, to create the most ideal level of challenge.
Some of the biggest problems that arise in this process are that the algorithms for matchmaking are game-specific and ever-changing, and must evolve as the size of the player base grows or new content is added in. The goal is to select the most appropriate matches based on specific parameters, minimize the player's wait times, scale efficiently to the volume of players, and easily change those criteria over time as the base grows and changes.
Molozian highlights two different types of matching: probabilistic, and search-based. A probabilistic system will calculate and rank players' skill levels and allow probability distributions to predict the outcome of the game. A search-based system, meanwhile, will use input data to create search documents and then index them for relevancy, providing a search query to filter documents.
Both have their pros and cons; a search-based system will offer no prediction of outcomes, and a probabilistic one can't be applied to all games (in some cases, it may even be overkill). A search approach is more easily achieved but a probabilistic one gives better player experiences.
Technologies to use in probabilistic matchmaking
The approach that Heroic Labs uses combines elements of both systems of matchmaking, building a search-based matchmaking system called Bluge (a text-search library written in Go) and then applying an "escape hatch model" that facilitates scalability by using probabilistic scoring for more complex, skill tree-oriented matchmaking.
More importantly, while these tools might normally be inaccessible (as the probabilistic approach Molozian speaks of is facilitated by TrueSkill, a proprietary Microsoft product), he notes that there is an open-source alternative in the multiplayer ratings system OpenSkill, and that the Nakama game server is available on GitHub. Overall, the talk demonstrated that complex matchmaking systems do not have to be inaccessible, and can be scaled and implemented appropriately for your project using a combination of approaches.
Read more about:
FeaturesAbout the Author
You May Also Like