What is GameLift FlexMatch? - Amazon GameLift

What is GameLift FlexMatch?

GameLift FlexMatch is a customizable matchmaking service for multiplayer games. With FlexMatch, you can build a custom set of rules that defines what a multiplayer match looks like for your game, and determines how to evaluate and select compatible players for each match. You can also customize key aspects of the matchmaking process, including fine-tuning the matching algorithm, to fit your game.

FlexMatch is available for use either with a GameLift game hosting solution (including Realtime Servers), or as a standalone matchmaking service. You can implement FlexMatch as a standalone feature with games that use peer-to-peer architecture, or host game servers on-premises or on other cloud compute solutions (including GameLift FleetIQ). This guide provides detailed information on how to build a matchmaking system for any of these scenarios.

FlexMatch gives you the flexibility to set matchmaking priorities depending on your game requirements. For example, you can do the following:

  • Find a balance between match speed and quality. Set match rules to quickly find matches that are good enough, or allow players to wait a little longer to find the best possible match for an optimum player experience.

  • Make matches based on well-matched players or well-matched teams. Create a match where all players have very similar characteristics, such as skill or experience. Alternatively, form matches where the combined characteristics of each team are similar, even if the characteristics of individual players are more varied.

  • Prioritize how player latency factors into a match. Set a hard limit on latency for all players in a match, or make sure that everyone in a match experiences very similar latency, or both.

Ready to start working with FlexMatch?

Follow these guides for step-by-step guidance on getting your game up and running with FlexMatch: guide.

Key FlexMatch features

The following features are available with all FlexMatch scenarios, whether it is used as a standalone service or with GameLift game hosting.

  • Customizable player matching. Design and build matchmakers to suit all of the game modes that you offer your players. Build a set of custom rules to evaluate key player attributes (such as skill level or role) and geographic latency data to form great player matches for your game.

  • Latency-based matching. Provide player latency data and create match rules that require players in a match to have similar response times. This feature is useful when your player matchmaking pools span multiple geographic regions.

  • Support for match sizes up to 200 players. Create matches of up to 40 players using match rules that are customized for your game. Create matches of up to 200 players using a matching process that uses a streamlined custom matching process to keep player wait times manageable.

  • Player acceptance. Require players to opt in to a proposed match before finalizing the match and starting a game session. Use this feature to initiate your custom acceptance workflow and report player responses to FlexMatch before placing a new game session for the match. If not all players accept a match, the proposed match fails and players who did accept are automatically returned to the matchmaking pool.

    Player parties support. Generate matches for groups of players who want to play together on the same team. Use FlexMatch to find additional players to fill out the match as needed.

  • Expandable matching rules. Gradually relax the match requirements after a certain amount of time has passed without finding a successful match. A rule expansion lets you decide where and when to relax the initial match rules, so that players can get into playable games in a reasonable amount of time.

  • Match backfill. Fill the empty player slots in an existing game session with well-matched new players. Customize when and how new players can be requested, and use the same custom match rules to find additional players.

FlexMatch with GameLift hosting

For games that are hosted with GameLift, FlexMatch offers the following additional features. These features are available when using the GameLift service to host custom game servers, or when using Realtime Servers. Games that are hosted on Amazon EC2 resources with GameLift FleetIQ must implement FlexMatch as a standalone feature.

  • Game session placement. When a match is successfully made, FlexMatch automatically requests a new game session placement from GameLift. The data generated during matchmaking, including player IDs and team assignments, is provided to the game server so it can use that information to start the game session for the match. FlexMatch then passes back game session connection information so that game clients can join the game. Game session placement with GameLift can also use regional player latency data, if provided, to minimize the amount of latency experienced by all players in the match.

  • Automatic match backfill. When this feature is enabled, FlexMatch automatically sends a match backfill request when a new game session starts with unfilled player slots. With this feature, your matchmaking system start the game session placement process with a minimum number of players, and then quickly fill the remaining slots. Automatic backfill cannot be used to replace players who drop out of a matched game session.