25 de fevereiro de 2022

Diários do Desenvolvedor: Liga de Batalha GO

Diários do Desenvolvedor: Liga de Batalha GO

Treinadores,

Desde que a Liga de Batalha GO foi lançada há dois anos, estamos coletando feedback e trabalhando para aprimorar as experiências dos Treinadores. Com a temporada de intervalo chegando, queríamos dar uma olhada nos bastidores das melhorias nas quais os engenheiros de batalha do Pokémon GO estão trabalhando atualmente.

Áreas de foco

Nossos engenheiros projetam os sistemas de batalha de forma holística, ou seja, têm como obejtivo equilibrar o funcionamento das reides, batalhas da Equipe GO Rocket, batalhas de Ginásio e batalhas de Treinador. Para a Liga de Batalha GO, veremos quatro áreas.

Manutenção do código de batalha

  • Reescrever e reestruturar o código para adicionar mais estabilidade e flexibilidade para trabalhos de engenharia futuros.

Correções de ataques ágeis

  • Resolver inconsistências de ataques ágeis.

Registros de batalhas

  • Fornecer uma maneira para os Treinadores enviarem relatórios detalhados após experiências ruins em batalhas, para que nossa equipe possa diagnosticar problemas com mais eficiência e corrigi-los mais rapidamente.

Priorização de bugs urgentes

  • Resolver os bugs que ocorrem na Liga de Batalha GO em um método que proporcione o maior impacto aos nossos Treinadores.

Estamos empolgados em usar esta Temporada de Intervalos como uma forma de trabalhar na implementação das mudanças que vocês pediram! Se desejarem conhecer mais detalhes sobre o funcionamento interno da Liga de Batalha GO, continuem lendo para obter informações diretamente dos nossos desenvolvedores.

Suas perguntas sobre a Liga de Batalha GO

Desde o início da Liga de Batalha GO, os Treinadores fizeram muitas perguntas sobre o que é e como funciona. Passamos algum tempo com a equipe para ouvir as suas opiniões e perguntar o que está por vir.

O que causa a latência na Liga de Batalha GO e como podemos reduzi-la?

A latência existe quando há um atraso entre a ação tomada por um Treinador e a resposta do servidor, e isso é particularmente problemático quando o atraso é desequilibrado entre dois jogadores. Isso pode acontecer no lado do servidor ou no lado do Treinador, mas na maioria das vezes é causado por um atraso nas informações que chegam ao servidor do dispositivo do Treinador. A equipe de batalha está avaliando maneiras de reduzir a latência, especialmente a latência externa, e tem muitas opções na mesa.

Enquanto a equipe de batalha examina a redução de latência, também pode haver maneiras de reduzir sua própria latência, como trocar de uma conexão Wi-Fi para dados móveis ou vice-versa. Para descobrir se vocês devem usar Wi-Fi ou dados móveis, recomendamos o seguinte.

  • Desativar os dados móveis do dispositivo.
  • Conectar-se a uma rede Wi-Fi e usar uma ferramenta de ping para verificar a resposta entre o dispositivo e o servidor.
  • Desconectar-se da rede Wi-Fi e ativar os dados móveis.
  • Usar a ferramenta de ping novamente.

Qualquer que seja a opção que forneça a resposta de ping mais rápida, provavelmente será a melhor escolha. Isso pode mudar com base na localização em que estão e na quantidade de pessoas que estão usando a rede escolhida.



Stephen - diretor de Engenharia

Como funciona o sistema de pareamento da Liga de Batalha GO?

Nosso pareamento é baseado na habilidade e desempenho prévio de cada jogador individual. Cada competição da Liga de Batalha GO é um campo de jogo único para os lutadores aprenderem e experimentarem novas estratégias e Pokémon.

A Comunidade de Batalha fez um trabalho incrível analisando e utilizando os melhores Pokémon para maximizar suas vitórias. Não há algoritmo que combine Treinadores com base nos Pokémon selecionados, mas adoramos ver a comunidade construir as próprias estratégias com estruturas de equipe novas e inventivas. No entanto, existem “camadas” de níveis de habilidade de treinador que são combinadas entre si, o que pode criar estratégias diferentes em determinadas faixas de habilidades.

Vocês podem ver isso mais claramente em algumas das copas especiais (por exemplo, a Copa de Kanto ou Copinha). Quando esses requisitos exclusivos são introduzidos, desafia os treinadores a capturar Pokémon diferentes e experimentar o que acharem mais eficaz nessas restrições. À medida que sobem para níveis mais altos, os Treinadores descobrem quais equipes são as mais eficazes, levando a uma grande variedade de Pokémon sendo jogados em comparação com os ranques.



Steve Wang - Produtor Executivo Sênior

O que é registro de batalha?

Estamos adicionando um recurso de registro de batalha, que é bastante semelhante ao recurso de registro de reide adicionado em 2021. Esse recurso permitirá que os Treinadores enviem voluntariamente um registro detalhado da atividade do jogo deles durante uma batalha da Liga de Batalha GO. Esses registros detalhados nos darão mais informações técnicas sobre os problemas que os Treinadores relatam à equipe de suporte. É especialmente útil se os jogadores enviarem um tíquete de suporte e um registro de batalha. A equipe de suporte pode então associar esses dois relatórios uns aos outros, e os engenheiros poderão usar esses registros para ter uma visão detalhada de quais problemas estavam ocorrendo durante a batalha. Esperamos que isso nos ajude a identificar e corrigir bugs mais rapidamente na Liga de Batalha GO.



Jess C - engenheiro de Software

O que é manutenção de código de batalha?

À medida que o sistema de batalha do Pokémon GO cresce, precisamos continuar melhorando nossa infraestrutura existente. Fazemos isso com a manutenção do código de batalha, que chamamos de “refator de combate”, que torna os problemas mais identificáveis para nós quando eles surgem. Agora podemos corrigir de forma mais rápida e eficaz os problemas que estão afetando a comunidade da Liga de Batalha GO. O código agora tem mais salvaguardas e os efeitos visuais agora são menos propensos a causar problemas de desempenho. Com essas mudanças, também podemos desenvolver novos recursos e introduzir mudanças maiores no sistema com menos risco para o código existente, permitindo iterar e adaptar.



Alex Hardinger - engenheiro de Software Cliente

Quais são os problemas com os Ataques ágeis e como estamos corrigindo-os?

As três questões principais são as seguintes.

  • Dessincronizações de ataques ágeis:Ataques ágeis podem demorar mais para serem ativados
  • Inconsistências de ataque ágil: esse se comporta de forma inconsistente quando ativado como um ataque carregado
  • Dessincronizações de ataque pós-carregado: ataques ágeis podem ser inutilizáveis ​​logo após um ataque carregado

Dessincronizações de ataque ágil

Esse problema ocorre quando um Pokémon não está executando o número certo de ataques ágeis ou não realiza ataques ágeis enquanto seu oponente continua a batalha normalmente. Esse problema é mais perceptível em ataques ágeis que podem ser usados ​​rapidamente, como Sopro do Dragão. Esse problema está relacionado à sincronização do relógio. Às vezes, o estado do jogo no dispositivo de um Treinador e em nossos servidores é diferente, e o resultado é um jogo que não responde. Para resolver esse problema, adicionaremos mais pontos de sincronização ao longo da batalha, na esperança de manter o cliente em sintonia com o servidor. Essa sincronização não deve ser percebida pelos Treinadores.

Continuamos trabalhando em várias abordagens para corrigir ainda mais essas dessincronizações do ataque ágil na esperança de encontrar a solução que funcione melhor de forma consistente.

Inconsistências de ataques ágeis

Esses são casos em que um Treinador parece ser capaz de fazer um ataque ágil extra enquanto o outro está usando um ataque carregado. O que realmente está acontecendo é que o ataque ágil de um Treinador é concluído ao mesmo tempo em que o ataque carregado do outro Treinador é usado. O sistema atual prioriza o ataque ágil para resolver qualquer dano causado antes de permitir que o ataque carregado continue.

Nossa solução de curto prazo é remover o adiamento de ataques carregados de um concorrente ao final de um ataque ágil. Esta solução ajuda a sincronizar o tempo de ataque rápido e carregado, permitindo que os ataques ágeis terminem suas durações durante o minijogo com ataque carregado. Ele também manteria a prioridade atual de resolução de danos, o que significa que ataques carregados podem efetivamente negar um ataque ágil se executados na janela em que o ataque ágil é concluído.

Essa solução também permite que a comunidade mantenha seus conhecimentos e habilidades.

Dessincronizações de ataque pós-carregado

A última questão que gostaríamos de abordar hoje é o cenário em que os Treinadores podem às vezes não conseguir agir logo após o término de um ataque carregado. Isso é algo que a equipe está ciente e, embora não tenhamos uma solução imediata, estamos analisando esse problema e testando correções. Verifiquem a página de problemas conhecidos da Liga de Batalha GO durante esta temporada da Liga de Batalha GO para se manterem atualizados.



Ben Li - engenheiro de Servidor Sênior

O que vem a seguir?

No momento, nossa prioridade é continuar a estabilizar a experiência de batalha, o que ajudará a equilibrar o campo de jogo de todos os Treinadores, independentemente do dispositivo ou da conexão.

Portanto, decidimos que a próxima temporada da Liga de Batalha GO será uma temporada de intervalo. As recompensas serão baseadas nas batalhas vencidas, mas as classificações não serão visíveis nem afetarão o ranque. Vocês ainda poderão encontrar uma variedade de Pokémon e ganhar recompensas incríveis na Liga de Batalha GO enquanto trabalhamos nos problemas acima. Vimos o quanto a comunidade de batalha de Treinador se une a eventos como o dia de Batalhas GO, então esses eventos continuarão nesta temporada, mas com alguns incentivos extras. Fiquem atentos às atualizações sobre nosso progresso e o que esperar a seguir.

Estamos ansiosos para compartilhar atualizações futuras com vocês e convidar mais Treinadores para se juntarem à diversão da Liga de Batalha GO.

Prestem atenção aos seus arredores e sigam as diretrizes das autoridades locais de saúde ao jogar o Pokémon GO. Os próximos eventos estão sujeitos a alterações. Sigam-nos nas redes sociais, selecionem a opção para receber notificações por push e inscrevam-se nos nossos emails para ficar por dentro. Para obterem as últimas novidades sobre eventos no jogo e atualizações de recursos, verifiquem este artigo da Central de Ajuda.

—A equipe do Pokémon GO

Preste atenção aos seus arredores e siga as diretrizes das autoridades locais de saúde ao jogar o Pokémon GO. Os próximos eventos estão sujeitos a alterações. Siga as nossas redes sociais, selecione a opção para receber notificações por push e inscreva-se nos nossos emails para ficar por dentro.