Sponsored By
Read the Game Developer team's GDC 2023 coverage here, including Talk writeups and interviews from the show, as well as our favorite GDC Vault videos covering 2023 Talks.

Designing efficient systems for expressive matchmaking

Here are some practical strategies for creating and implementing a flexible and practical matchmaking system.

Holly Green, Community Editorial Coordinator

March 20, 2023

2 Min Read

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:


About the Author(s)

Holly Green

Community Editorial Coordinator, GameDeveloper.com

Holly Green has been in games media for fifteen years, having previously worked as a reporter and critic at a variety of outlets. As community editorial coordinator, she handles written materials submitted by our audience of game developers and is responsible for overseeing the growth of iconic columns and features that have been educating industry professionals under the Game Developer brand for decades. When she isn't playing about or writing video games, she can be found cooking, gardening and brewing beer with her husband in Seattle, WA.

Daily news, dev blogs, and stories from Game Developer straight to your inbox

You May Also Like