AWS for Games Blog
Updates to Amazon GameLift FlexMatch for greater flexibility- Now Available
We are excited to announce three updates to Amazon GameLift’s FlexMatch, an Amazon Web Services (AWS) managed service. The service updates expand existing matchmaking functionality that will allow customers to create more evenly matched player teams with greater precision.
GameLift FlexMatch is a customizable matchmaking service for multiplayer games. The service launched in 2017 as a feature that uses a powerful matchmaking algorithm and flexible developer-defined rules to create high-quality matches scalable to hundreds of players. Whether you choose to configure your matchmaking rules based on player skill, latency, or custom criteria, FlexMatch’s simple but powerful rules language makes it easy for anyone to quickly create robust player matchmaking.
The latest feature updates and benefits are as follows:
Support for compound rules:
The behavior in a FlexMatch matchmaker rule set is that all of the rules must hold true to form a match. Effectively this means that all rules use the “AND” logical operator. Now with support for compound rules, more complex constructs are possible.
For example, you might say that if a player’s mode is “serious” then we require skill to be very
close together, but if a player’s mode is “casual” then we are laxer on skill. A rule like that might look something like:
{
"name": "CompoundRule1",
"type": "compound",
"statement": "or(and(SeriousPlayers, VeryCloseSkill),
and(CasualPlayers, SomewhatCloseSkill))"
}
SeriousPlayers, VeryCloseSkill, etc would all be rules defined elsewhere in the rule set that get replaced by the compound rule when we search for matches.
FlexMatch now supports the following additional logical operators in addition to “AND”: “OR”, “NOT”, and “XOR”.
Longer string lists:
Customers are able to pass in different player attributes to FlexMatch, e.g., numbers, strings, or a list of strings. String lists are currently limited to 10 strings. With today’s update, that limit is increased to 100.
One common use case by customers is to use the string list as a “blocklist” for players. Now, instead of blocking only 10 players, you can block up to 100.
More flexible team selection:
FlexMatch “property expressions” are used to perform logical operations with player attributes regarding team selection. Previously, they were limited to apply to one or all teams, only. With today’s update, you can use property expressions to target more than one team without having to target all teams. An example might look like:
teams[red, blue].players.attributes[skill]
This selects the skills of players on the red and blue team. Note you would only use this syntax if you had more teams, such as a “spectators” team in addition, but only wanted to look at the skill of red and blue. Then you’d use the syntax shown immediately above.
All FlexMatch users have access to the above features starting today. To learn more about Amazon GameLift FlexMatch, visit the FlexMatch feature page or see how FlexMatch works in the Developer Guide.