Como o Amazon GameLift Servers FlexMatch funciona
Este tópico fornece uma visão geral do serviço Amazon GameLift Servers FlexMatch, incluindo os principais componentes de um sistema FlexMatch e como eles interagem.
É possível usar o FlexMatch com jogos que usam a hospedagem gerenciada do Amazon GameLift Servers ou com jogos que usam outra solução de hospedagem. Os jogos hospedados nos servidores do Amazon GameLift Servers, incluindo servidores do Amazon GameLift Servers Realtime em tempo real, usam o serviço Amazon GameLift Servers integrado para localizar automaticamente servidores de jogos disponíveis e iniciar sessões de jogo para os jogos. Os jogos que usam o FlexMatch como serviço independente, incluindo o Amazon Amazon GameLift Servers, devem se coordenar com o sistema de hospedagem existente para atribuir recursos de hospedagem e iniciar sessões de jogo para os jogos.
Para obter orientação detalhada sobre como configurar o FlexMatch para seus jogos, consulte Conceitos básicos do FlexMatch.
Componentes de criação de partidas
Um sistema de criação de partidas FlexMatch inclui alguns ou todos os seguintes componentes.
Amazon GameLift ServersComponentes do
Esses são os recursos do Amazon GameLift Servers que controlam como o serviço FlexMatch executa criação de partidas para seu jogo. Eles são criados e mantidos usando as ferramentas do Amazon GameLift Servers, incluindo o console e a AWS CLI ou, alternativamente, usando programaticamente o AWS SDK para o Amazon GameLift Servers.
-
Configuração de criação de partidas do FlexMatch (também chamado de criador de partidas): um criador de partidas é um conjunto de valores de configuração que personaliza o processo de criação de partidas do seu jogo. Um jogo pode ter vários matchmakers, cada um configurado para diferentes modos de jogo ou experiências, conforme necessário. Quando seu jogo envia uma solicitação de criação de partidas para o FlexMatch, ele especifica qual criador de partidas usar.
-
Conjunto de regras de criação de partidas do FlexMatch: um conjunto de regras contém todas as informações necessárias para avaliar os jogadores em possíveis jogos e aprovar ou rejeitar. O conjunto de regras define a estrutura da equipe de um jogo, declara os atributos do jogador que são usados para avaliação e fornece regras que descrevem os critérios para um jogo aceitável. As regras podem ser aplicadas a jogadores individuais, equipes ou a todo o jogo. Por exemplo, uma regra pode exigir que todos os jogadores do jogo escolham o mesmo mapa do jogo, ou pode exigir que todas as equipes tenham uma média de habilidade de jogador semelhante.
-
Fila de sessões de jogos do Amazon GameLift Servers (somente para FlexMatch com hospedagem gerenciada pelo Amazon GameLift Servers): uma fila de sessões de jogo localiza os recursos de hospedagem disponíveis e inicia uma nova sessão de jogo para o jogo. A configuração da fila determina onde o Amazon GameLift Servers procura os recursos de hospedagem disponíveis e como selecionar o melhor host disponível para um jogo.
Componentes personalizados
Os componentes a seguir abrangem a funcionalidade necessária para um sistema FlexMatch completo que você deve implementar com base na arquitetura do seu jogo.
-
Interface do jogador para criação de partidas: essa interface permite que os jogadores participem de um jogo. No mínimo, ele inicia uma solicitação de criação de partidas por meio do componente de serviço de criação de partidas do cliente e fornece dados específicos do jogador, como nível de habilidade e dados de latência, conforme necessário para o processo de criação de partidas.
nota
Como prática recomendada, a comunicação com o serviço FlexMatch deve ser feita por um serviço de backend, não por um cliente de jogo.
-
Serviço de criação de partidas do cliente: Este serviço preenche as solicitações de junção do jogador a partir da interface do jogador, gera solicitações de criação de partidas, e as envia para o serviço FlexMatch. Para solicitações em andamento, ele monitora eventos de criação de partidas, rastreia o status de criação de partidas e age conforme necessário. Dependendo de como você gerencia a hospedagem da sessão de jogo no seu jogo, esse serviço pode devolver as informações de conexão da sessão de jogo aos jogadores. Esse componente usa o SDK da AWS com a Amazon GameLift Servers API para se comunicar com o serviço do FlexMatch.
-
Serviço de posicionamento de partidas (somente para o FlexMatch como serviço independente): esse componente funciona com seu sistema de hospedagem de jogos existente para localizar os recursos de hospedagem disponíveis e iniciar novas sessões de jogo para jogos. O componente deve obter os resultados do criação de partidas e extrair as informações necessárias para iniciar uma nova sessão de jogo, incluindo IDs de jogadores, atributos e atribuições de equipe para todos os jogadores no jogo.