Hello GameLift devs,
Today, the GameLift team is excited to announce the launch of a new rule type called “BatchDistance”. When creating a rule set for FlexMatch matchmaking, this new rule type allows for a string or numeric attribute to be specified, giving you more flexibility and improving matchmaking quality for large matches (>40 players). There are also benefits to smaller matches (i.e., less than 40 players), with simplification of syntax.
Previously, large match support in FlexMatch only allowed for balancing teams according to a single numeric attribute (with skill being the typical example). While this allowed for evenly-matched teams, your players could still end up in a match playing against players with varying skill variances. The following example demonstrates how this can happen:
- You are creating a match where teams are balanced by “skill”, where GameLift would try to ensure that the “skill” of each team is as close as possible to each other.
- Let’s say one team has two players with“skill” values of 1 and 99, and another has two players that have “skill” values of 49 and 51. In both cases, the two teams have an average skill value of 50, so they are evenly balanced.
- This results in one team with a high variance in ability (i.e., the team with skill values of 1 and 99), while the other team has a very low variance, leading to a potential mismatch.
Now, with this new rule type “batchDistance”, you have the ability to create a large match with players with similar attributes. For numeric attributes, you can also specify a “maxDistance”, where all formed batches will contain players where that attribute is within a certain distance of each other. So using the above example, if you set a maxDistance of 25, you would end up with matches that contain players will skill 0-25, 15-40, etc.
There are many other ways the new batchDistance rule type can help you create higher quality, balanced matches:
- For large matches (>40 players), you can also balance based on modes and maps. Ensure everyone in the match is in a skill band, band multiple numeric attributes like league or playstyle, and group according to string attributes like map or game mode.
- For small matches (up to 40), you can use a simpler syntax to express certain common rules.
- For both large and small matches, you can create expansions over time. For example, you can create an expansion to allow a greater skill level range to enter the match the longer the player is waiting.
Mark Choi, GameLift PM