As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Referência: Crie uma grande partida com várias equipes
Este exemplo ilustra como configurar um conjunto de regras para correspondências de várias equipes que podem exceder 40 jogadores. Este exemplo ilustra como criar várias equipes idênticas com uma definição e como as equipes de tamanho assimétrico são preenchidas durante a criação de correspondência.
O exemplo cria um conjunto de regras de correspondências usando as seguintes instruções:
-
Crie dez idênticas equipes idênticas de "caçadores" com até 15 jogadores, e uma equipe de "monstros" com exatamente 5 jogadores.
-
Critérios de balanceamento: selecione os jogadores com base no número de mortes de monstros. Se os jogadores não relatarem a contagem de mortes, use um valor padrão de 5.
-
Preferência de agrupamento: agrupe os jogadores com base nas regiões em que mostram a latência mais rápida.
-
Regra de latência: defina um máximo aceitável de latência de 200 milissegundos para o jogador.
-
Se a correspondência não for preenchida rapidamente, atenue a exigência para concluir uma correspondência em tempo razoável.
-
Depois de 15 segundos, aceite equipes com 10 jogadores.
-
Após 20 segundos, aceite equipes com 8 jogadores.
-
Observações sobre como usar o conjunto de regras:
-
Esse conjunto de regras define equipes que podem ter até 155 jogadores, o que faz a correspondência ser grande. (10 x 15 caçadores + 5 monstros = 155)
-
Como o algoritmo usa a preferência de agrupamento por "região mais rápida", os jogadores tendem a ser colocados em regiões onde mostram latência mais rápida e não em regiões de latência mas alta (mas é aceitável). Ao mesmo tempo, as correspondências podem ter um número menor de jogadores, e os critérios de balanceamento de monstros (número de habilidades) pode variar mais.
-
Quando uma expansão é definida para uma definição de várias equipes (quantidade > 1), ela se aplica a todas as equipes criadas com essa definição. Portanto, diminuir o tamanho mínimo da equipe de caçadores faz com que todas as dez equipes de caçadores sejam impactadas igualmente.
-
Como esse conjunto de regras é otimizado para minimizar a latência do jogador, a latência atua como uma regra genérica para excluir os jogadores que não têm opções de conexão aceitáveis. Não precisamos diminuir essa exigência.
-
Veja como FlexMatch os preenchimentos correspondem a esse conjunto de regras antes que qualquer expansão entre em vigor:
-
Nenhuma equipe atingiu a minPlayers contagem ainda. As equipes de caçadores têm 15 slots abertos, enquanto a equipe de monstros tem 5 slots abertos.
-
Os primeiros 100 jogadores são atribuídos (10 cada) às 10 equipes de caçadores.
-
Os próximos 22 jogadores são atribuídos sequencialmente (2 para cada) às equipes de caçadores e à equipe de monstros.
-
-
As equipes Hunter alcançaram a minPlayers contagem de 12 jogadores cada. A equipe de monstros tem 2 jogadores e ainda não atingiu a minPlayers contagem.
-
Os próximos três jogadores são atribuídos à equipe de monstros.
-
-
Todas as equipes chegaram à minPlayers contagem. As equipes de caçadores têm três slots abertos cada uma. A equipe de monstros está cheia.
-
Os últimos 30 jogadores são atribuídos sequencialmente às equipes de caçadores, garantindo que todas as equipes têm praticamente o mesmo tamanho (um jogador a mais ou a menos).
-
-
-
Se você tiver habilitado a alocação para correspondências criadas dentro desse conjunto de regras, não diminua os requisitos de contagem de jogadores muito rapidamente, ou você pode acabar com muitas sessões de jogos parcialmente preenchidas. Saiba mais em Diminuir os requisitos de correspondências grandes.
{ "name": "monster-hunters", "ruleLanguageVersion": "1.0", "playerAttributes": [{ "name": "monster-kills", "type": "number", "default": 5 }], "algorithm": { "balancedAttribute": "monster-kills", "strategy": "balanced", "batchingPreference": "fastestRegion" }, "teams": [{ "name": "Monsters", "maxPlayers": 5, "minPlayers": 5 }, { "name": "Hunters", "maxPlayers": 15, "minPlayers": 12, "quantity": 10 }], "rules": [{ "name": "latency-catchall", "description": "Sets maximum acceptable latency", "type": "latency", "maxLatency": 150 }], "expansions": [{ "target": "teams[Hunters].minPlayers", "steps": [{ "waitTimeSeconds": 15, "value": 10 }, { "waitTimeSeconds": 20, "value": 8 }] }] }