A Atualização 9.16 inclui novas otimizações no sistema de visibilidade, que é uma parte importante do jogo. Veículos detectados são exibidos na tela muito mais rapidamente, e a diferença será notável ao detectar veículos inimigos a uma distância de mais de 300 metros.
Aqui iremos explicar como chegamos nessas melhorias e como isso afetará o jogo.
Veículos que detectarem inimigos a longas distâncias terão um pouco mais de tempo para fazer um disparo após detectar um veículo inimigo.
Veículos detectados terão mais dificuldades em cruzar áreas curtas e abertas, já que irão automaticamente aparecer nas telas dos oponentens. Eles terão que se mover em zig-zag ou utilizar outras manobras para despistar as miras inimigas, ou então, escolher um outro caminho.
Para melhorar o sistema de detecção, precisávamos resolver dois problemas: retrabalhar os cálculos do servidor, e aumentar a velocidade de exibição de veículos detectados no client do jogo.
Nossos programadores reescreveram o código de visibilidade, mas mantiveram todas as regras de operação anteriores. Esta mudança para um código mais efetivo permitiu a redução de carregamento do servidor e aumento da performance do sistema de visibilidade. Em outras palavras, o sistema ficou mais efetivo com as mesmas regras, e menos uso de recursos.
Como você pode ver no gráfico acima, o intervalo entre checagens de visibilidade depende da distância: checagens são mais frequentes a uma curta distância, mas conforme a distância aumenta, também aumenta-se o tempo entre checagens. A otimização permite que aumentemos o número de checagens de visibilidade duas vezes em distâncias menores, além de podermos adicionar checagens simplificadas para distâncias maiores, resultando em três vezes mais o número de checagens comparado à versão anterior. O aumento da frequência das checagens nos permite a redução do atraso na exibição dos veículos detectados.
Melhorias no client do jogo economizaram 60-70% do tempo que se leva para renderizar um modelo de veículo. Agora, ao entrar na batalha, os modelos dos veículos e objetos do mapa são todos carregados simultaneamente. Isso reduz o tempo de renderização ao detectar um inimigo, além de diminuir a possibilidade de "freezes" quando veículos inimigos são detectados.