Visão geral
Ao configurar uma fila de matchmaking, você pode atribuir a cada regra um valor de Weight (peso). O peso é um multiplicador numérico que controla quanta influência uma determinada regra tem quando o sistema de matchmaking classifica e ordena os tíquetes qualificados. Ele não altera se um tíquete passa ou não em uma regra; afeta apenas a importância dessa regra em relação às outras ao determinar quais tíquetes são os melhores candidatos para uma partida. Entender o peso é essencial para ajustar a qualidade das partidas. Ajustando os pesos das suas regras, você pode priorizar o que é mais importante para o seu jogo, seja o equilíbrio de habilidade, a proximidade geográfica ou o conteúdo compartilhado.Como o peso funciona
Cada regra que dá suporte a peso calcula um valor de distância para cada par de tíquetes avaliado. Essa distância representa o quanto dois tíquetes são semelhantes ou diferentes de acordo com essa regra:- Uma distância de 0 significa que os tíquetes são uma combinação perfeita para essa regra.
- Uma distância mais próxima de 1 significa que os tíquetes estão no limite do que a regra permite.
- Uma distância infinita (rejeição rígida) significa que os tíquetes não podem ser combinados de acordo com essa regra, independentemente do peso.
O peso não substitui restrições rígidas. Se uma regra determinar que dois tíquetes são incompatíveis, os tíquetes serão totalmente excluídos. Por exemplo, isso acontece com uma regra de diferença em que os valores excedem a diferença máxima permitida. O peso influencia apenas a ordem de prioridade entre os tíquetes que já estão qualificados.
Como cada regra calcula a distância
Antes de ver os exemplos de peso, é útil entender como cada regra ponderada calcula seu valor de distância. A distância é sempre um número entre 0 e 1, em que valores menores indicam uma correspondência mais próxima.Quais regras dão suporte a peso
O peso se aplica aos tipos de regras padrão que participam da ordenação baseada em distância. As seguintes regras dão suporte à propriedade Weight:
Os seguintes tipos de regras de equipe não dão suporte a peso. Essas regras atuam como validadores: elas aprovam ou reprovam uma partida e não participam da ordenação baseada em distância:
Valores de peso válidos
O peso deve ser um número maior que 0 e até 1000 (inclusive). Um peso de 0 não é permitido. Se nenhum peso for especificado, o valor padrão será 1.Exemplos
Os exemplos a seguir usam uma fila com uma regra de diferença para habilidade e uma regra de interseção de conjuntos para mapas de jogo preferidos. Três jogadores (Alice, Bob e Charlie) estão na fila. O sistema de matchmaking precisa decidir qual dos dois candidatos (Bob ou Charlie) é a melhor combinação para Alice.Configuração da fila
Atributos dos jogadores
Etapa 1: Calcular as distâncias por regra
SkillRule (regra de diferença) usa a fórmulaabsoluteDifference / maxDifference:
- Alice vs Bob:
|20 - 24| / 10 = 4 / 10 = 0.4 - Alice vs Charlie:
|20 - 17| / 10 = 3 / 10 = 0.3
1 / (1 + sharedItemCount):
- Alice vs Bob: eles compartilham “Dustbowl” e “Summit” (dois itens) →
1 / (1 + 2) = 0.33 - Alice vs Charlie: eles compartilham “Lakeside” (um item) →
1 / (1 + 1) = 0.5
Exemplo 1: Pesos iguais
Com ambas as regras com Weight = 1, a distância total é:Exemplo 2: Priorizando a habilidade (Weight = 10 em SkillRule)
Se o seu jogo for competitivo e o equilíbrio de habilidade for o mais importante, aumente o peso de SkillRule:Exemplo 3: Priorizando mapas compartilhados (Weight = 10 em MapRule)
Se o seu jogo for casual e os jogadores se importarem mais em jogar em seus mapas favoritos, aumente o peso de MapRule:Exemplo 4: Quando os jogadores não podem ser combinados (rejeição rígida)
Agora, adicione um quarto jogador, Dave, cuja habilidade está longe da de Alice e que não compartilha nenhum mapa preferido:
SkillRule:
|20 - 35| / 10 = 15 / 10 = 1.5, mas a diferença de 15 excede MaxDifference (10), portanto a regra retorna distância infinita (rejeição rígida).
MapRule: Alice e Dave compartilham 0 mapas, e MinIntersectionSize é 1, portanto esta regra também retorna distância infinita.
Resumo dos exemplos
A tabela abaixo mostra como o peso altera qual candidato é preferido, usando os mesmos atributos de jogadores e as mesmas regras; apenas os pesos são diferentes.
As distâncias subjacentes nunca mudam; apenas a importância relativa atribuída a cada regra muda. Dave é sempre rejeitado porque os atributos do jogador excedem os limites rígidos, independentemente do peso. Esse é o poder do ajuste de pesos.
Peso e expansões de regras
Quando uma regra se torna opcional (por meio de Segundos até se tornar opcional ou de expansão), ela deixa de rejeitar tíquetes de forma rígida. No entanto, os tíquetes que seriam rejeitados ainda recebem um valor de distância diferente de zero. O peso continua dimensionando essa distância, o que significa que as regras opcionais ainda influenciam a ordem de classificação: elas empurram os tíquetes “violadores” para uma prioridade menor, em vez de excluí-los totalmente. Esse comportamento é útil para garantir que, mesmo quando as regras relaxam ao longo do tempo, as melhores combinações continuem sendo preferidas.Práticas recomendadas
- Comece com pesos iguais e ajuste com base no feedback dos seus jogadores sobre a qualidade das partidas.
- Use pesos maiores nas regras mais importantes para a experiência do seu jogo (como habilidade para títulos competitivos ou conteúdo compartilhado para jogos casuais).
- Lembre-se de que o peso afeta apenas a ordenação: ele não pode tornar possível uma partida impossível. Use expansões para relaxar as restrições rígidas ao longo do tempo.
- Evite proporções de peso extremas (como 1000:1), a menos que você queira intencionalmente que uma regra se sobreponha completamente a todas as outras.
