Hearthstone

Sacadas do desenvolvedor: classificação e pareamento no JxJ de Hearthstone Mercenários

Blizzard Entertainment

Saudações! Eu sou Tian, cientista de dados principal da equipe de Hearthstone. Nesta publicação vou falar sobre alguns detalhes por trás da classificação e do pareamento do JxJ no Ringue de Luta do nosso novo modo de jogo, Mercenários!

O sistema de classificação e pareamento de Mercenários é o mais complexo de todos os nossos modos de jogo! Em essência, ele carrega duas ideias simples:

  • Para a classificação, nosso objetivo é avaliar melhor a habilidade do jogador ao longo do tempo, e não os níveis dos Mercenários, níveis dos Equipamentos/Habilidades e a composição da equipe.
  • Para o pareamento, nosso objetivo é conseguir partidas “justas” com pouco tempo de fila, considerando a classificação, os níveis dos Mercenários, os níveis de Equipamentos/Habilidades e Funções do Grupo.

Existem vários fatores que influenciam a forma como atualizamos as classificações no fim da partida e como encontramos um oponente durante o pareamento, incluindo: sua classificação, o nível dos seus Mercenários, os graus das suas Habilidades e Equipamentos, a divisão das Funções no seu Grupo e o tempo de espera na fila. Vamos falar sobre cada um desses fatores aqui.

Classificação

Assim como nos Campos de Batalha e nos Duelos, existem duas classificações nesse sistema: a classificação interna e a externa.

A classificação interna é um valor que consideramos ser o seu nível atual de habilidade e não é zerado no início de cada temporada. Ela é definida quando você joga algumas partidas de posicionamento e depois se ajusta à medida que você joga (ou passa muito tempo fora do Ringue de Luta). Você não pode ver esse valor.

A classificação externa é o número que você pode ver, que é zerado no início de cada temporada e adiciona marcos significativos e progressões a cada temporada. Conforme você joga mais partidas em uma temporada, ela pode se aproximar do que consideramos ser o seu nível de habilidade.

A tabela de classificação usa sua classificação externa e o pareamento, sua classificação interna. A diferença entre a sua classificação interna e a do oponente é um fator importante para a previsão da probabilidade de vitória contra seu adversário antes de cada partida (outros fatores serão explicados a seguir). Depois, a probabilidade de vitória é comparada com o resultado para calcular as mudanças na classificação.

Para saber mais sobre o sistema de classificação dupla, confira minha publicação anterior sobre os Campos de Batalha (https://playhearthstone.com/pt-br/news/23523064 ).

Níveis de Mercenários

Os níveis de cada Mercenário no seu Grupo são importantes para as atualizações das classificações após as partidas e para o pareamento antes das partidas. Por exemplo, o sistema tenta fazer com que você enfrente alguém com Mercenários do mesmo nível que os seus (principalmente quando as classificações e os outros fatores são iguais). Se você for colocado contra um oponente com um Grupo de nível mais alto, isso reduz a sua probabilidade de vitória. Em compensação, se você vencer essa partida, é provável que você ganhe mais pontos de classificação e, se perder, perca menos pontos.

Obviamente, os jogadores nem sempre têm Grupos de níveis equivalentes. Criamos uma fórmula para avaliar essas situações. Matematicamente falando, a fórmula considera o nível máximo, o nível médio, a variação e a obliquidade dos Mercenários no seu Grupo para gerar uma “projeção” da força desse Grupo de Mercenários. Chamamos isso de “pontuação de nível”.

Depois de cada partida, sua pontuação de nível é considerada, além das suas classificações internas e das outras coisas mencionadas nesta publicação, para encontrar um “valor de compensação de classificação” que define a classificação que você pode receber ou perder na partida.

Graus das Habilidades dos Mercenários

Os graus das Habilidades dos Mercenários também são levados em conta no pareamento e no sistema de classificação. Assim como a pontuação de nível do seu Grupo, a “pontuação de habilidade” é calculada para representar a força das Habilidades dos seus Mercenários. Essa pontuação de habilidade é transformada através de uma função não linear para ajudar a prever suas chances de vitória contra o adversário e calcular as atualizações de classificação após a partida.

Perceba que sua pontuação de habilidade é muito menos relevante se você e seu oponente estiverem com os Mercenários no nível máximo (30 durante o lançamento). Nesse caso, os outros fatores, incluindo as classificações internas relativas, são muito mais pertinentes.

Graus do Equipamento dos Mercenários

Os algoritmos para o cálculo de pontuações e probabilidades de vitória que consideram o Equipamento dos Mercenários são muito parecidos com os dos Graus de Habilidade que mencionei antes, mas têm parâmetros diferentes. Uma grande diferença é que seu Mercenário não precisa usar Equipamento. Nesse caso, ele é tratado como se tivesse um Equipamento de “grau 0”.

Funções dos Mercenários

Como vocês devem saber, existem diferentes Funções em Mercenários: Lutador, Lançador e Protetor. Cada Função causa dano em dobro a uma e recebe dano em dobro de outra.

A escolha da Função do Mercenário não afeta em nada as atualizações de classificação após a partida, mas influencia o pareamento. O impacto é muito menor que o dos níveis do Grupo e dos graus de Habilidade/Equipamento, mas levamos em conta as Funções para reduzir as chances de partidas “extremas” que podem criar experiências desagradáveis, como seis Lutadores contra seis Lançadores ou um confronto espelhado de seis Protetores. Para isso, usamos algo muito parecido com o conceito matemático de “entropia da informação”, em que mais entropia indica mais variedade na composição das Funções de Mercenários. Então, multiplicamos essa pontuação de entropia por uma função característica para garantir que apenas as partidas extremas sejam afetadas. Nosso objetivo é encontrar o equilíbrio perfeito em que os jogadores podem jogar com os Mercenários que quiserem, mas são incentivados a levar em conta o sistema central das Funções.

Tempo na fila e oponentes da IA

O tempo na fila de espera é um fator importante para o sistema de pareamento. Jogar uma partida de qualidade é importante para a diversão, mas longos tempos de espera podem criar experiências maçantes. Com tantas variáveis consideradas no sistema de pareamento de Mercenários, queremos evitar situações muito demoradas na busca por um oponente ideal.

Atualmente, em Mercenários, se seu tempo na fila passar de 1 ou 1,5 minuto e suas classificações internas e externas estiverem abaixo de certos limites (o limite de classificação externa é 7.000), você enfrentará um oponente da IA. Esse limite foi feito para que jogadores mais casuais sempre encontrem partidas rapidamente, mas os jogadores mais comprometidos ainda possam competir entre si pelas posições mais altas da tabela.

No momento, só temos um nível de dificuldade da IA, então ajustamos a dificuldade dela alterando o nível do Grupo da IA para que ele seja compatível com a sua classificação interna. Se você usar um Grupo com níveis muito diferentes, a equipe da IA espelhará os níveis da sua equipe (em vez de fazer uma média dos níveis) e depois ajustará o nível do Grupo dela de acordo com a sua classificação. As atualizações de classificação após a partida também serão afetadas se você jogar contra a IA.

Outras informações

Não levamos em conta a Habilidade, o Equipamento nem o Mercenário específico que você leva para o Ringue de Luta nem nas atualizações de classificação nem no pareamento. Dois Mercenários diferentes com o mesmo nível e graus de Habilidade e Equipamento serão tratados como iguais. O cálculo não se importa se a Tyrande ou o Rexxar são mais fortes “objetivamente” ou se estão no meta. Decidimos deixar esse tipo de detalhe para a comunidade descobrir.

E, para encerrar, quero dizer que existem vários hiperparâmetros que controlam o sistema de classificação e pareamento, dos quais a maioria é obtida por meio de previsões com simulações em massa de partidas de IA x IA. Observaremos de perto o sistema de classificação e pareamento após o lançamento e atualizaremos os algoritmos e/ou as variáveis com os dados do servidor. Estamos sempre abertos a críticas e sugestões, então compartilhem seus comentários sobre o sistema de classificação e pareamento com a gente.

Esperamos que vocês gostem de montar seus Grupos, entrar no Ringue de Luta e subir no ranqueado. A gente se vê na Taverna!

HS_Blog_YearoftheGryphon_Divider_600x100_EK01.png

Mana Crystals Page Footer Image