7/7/2017

Operation Health: diagnóstico – complexidade da Hibana

Depois de uma abordagem minuciosa, acreditamos que praticamente todos os casos de mau funcionamento do gadget da Hibana tenham sido isolados e corrigidos. A partir da atualização 2.1.1, dia 11 de julho em todas as plataformas, será possível notar um comportamento mais adequado no lançador X-KAIROS, da Hibana.

O caso: design único da Hibana

Antes do lançamento da Operation Health, tínhamos recebido relatos de problemas sobre a inconsistência do lançador X-KAIROS, da Hibana. Após investigarmos as causas desses problemas, nossa equipe descobriu problemas fundamentais na arquitetura do gadget da Hibana, o que significava que teríamos de reconstruir a forma como os projéteis dela são usados. Falamos com o programador de animação Alex Busby, que descreveu nossa abordagem inicial à mecânica da Hibana e como planejamos solucionar os problemas de uma vez por todas.

Mas primeiro, há certos detalhes que devemos comentar sobre o que torna Hibana diferente dos outros Agentes, depois podemos explicar como nossa abordagem ao criar seu design único causou os problemas conhecidos. Hibana usa o seu gadget para disparar até seis munições de X-KAIROS, que podem ser detonadas ao seu comando. Para construir Hibana, a equipe criou objetos independentes e separados para o corpo dela — seu gadget (o lançador) e cada munição separada de X-KAIROS. Nenhum outro agente tem tantos objetos ativos ao mesmo tempo.

“Apesar de já termos algo semelhante, que é Ash, esta é a primeira vez que temos múltiplas fases em que você pode atirar várias vezes; múltiplas munições e fases em que você pode lançar, detonar ou recarregar munições." – Alex Busby, programador de animação

O que são esses objetos independentes? Para que possamos processar eventos em uma partida, temos que dividir itens e aceitá-los fora de ordem quando necessário. Para ficar claro, atribuímos autoridades diferentes a alguns desses processos para garantir que tudo aconteça para todos os jogadores exatamente da forma que esperam — nos referimos a elas como autoridade do servidor e autoridade local. Basicamente, temos um cronograma dos eventos em cada partida sendo executados tanto no servidor quanto na máquina local de cada jogador — se houver discordância entre máquinas, a autoridade do servidor prioriza as informações do servidor enquanto a autoridade local prioriza informações da máquina local (seu console ou PC). Geralmente, todos esses cálculos e comparações acorrem em tão pouco tempo que não é possível perceber qualquer discrepância a olho nu.

O problema: discrepância entre autoridades locais e de servidor

Com Hibana, tivemos que monitorar muitos eventos ocorrendo ao mesmo tempo com esta agente por si só — ela tem o lançador, que pode enviar mensagens ao servidor reportando quando é disparado, qual a trajetória dos projéteis e quando pode ser recarregado; ainda há a posição dela no mapa para monitorar, caso outro jogador a veja ou atire nela; finalmente, há até seis cargas de X-KAIROS enviando mensagens sobre suas posições e estado de ativação. Para poder monitorar todos esses itens separadamente, atribuímos cada um como objeto independente para comunicação com o servidor.

No entanto, logo após o lançamento da Hibana, começamos a notar uma degradação na capacidade dos nossos servidores de processar todos os dados que os objetos dela estavam enviando. Por exemplo, o lançador da Hibana poderia disparar seis munições, mas às vezes o fluxo de informações era interrompido devido a uma latência (lag) extremamente alta ou por condições de rede ruins. Há diversas combinações diferentes que podem causar o mau funcionamento do gadget da Hibana devido a esse tráfego de mensagens; e grande parte disso está ligada a questão de atribuirmos os passos a autoridades de servidor ou locais.

A solução: objetos independentes simplificados

Após meses de trabalho duro, simplificamos a forma como lidamos com os objetos independentes da Hibana. Começamos reduzindo o número de objetos independentes que precisamos monitorar em geral. Ao fazer isso, os conflitos em potencial nos cronogramas entre autoridades de servidor e locais foram reduzidos e, com isso, os jogadores não vão enfrentar complicações resultante de má sincronia entre os dois.

“As alterações que fizemos migraram bastante coisa para autoridade de servidor e ao mesmo tempo tentamos manter o máximo possível de capacidade de reação. Isso foi o ponto principal da correção. Isolamos os pontos que poderiam causar problemas ou perder sincronia e alteramos o gadget para estar cada vez mais ligado à autoridade de servidor.” - Alex Busby, programador de animação

Além disso, fizemos uma revisão meticulosa de outros cenários com problemas, tais como uso de munições e erros visuais, e os corrigimos também. Você poderá conferir todos os detalhes sobre as correções que a Hibana receberá na atualização 2.1.1 nas notas que serão publicadas segunda-feira, dia 10 de julho.

Além de essas mudanças trazerem melhorias para a jogabilidade com a Hibana, também nos dão liberdade de possivelmente incluir mais variedade para Agentes futuros com gadgets semelhantes.

Esperamos ter conseguido explicar o quão profundos são esses problemas com a Hibana e por que precisamos direcionar nossos recursos na solução deles durante a Operation Health.

Muito obrigado por seu suporte contínuo!

Visite Outros Canais de Rainbow Six Siege

facebook icontwitter iconyoutube icontwitch icon