18/10/2017

Blog do desenvolvedor: Abuso de ping, vantagem do jogador espiador e próximas etapas

Estivemos de olho no feedback da comunidade sobre o abuso de ping, a latência e a vantagem do jogador espiador. Neste artigo explicaremos o que são, como afetam a jogabilidade e o que faremos para solucioná-los.

Antes de nos aprofundarmos nos detalhes da latência, gostaríamos de deixar claro que a filosofia de design do Rainbow Six Siege é a replicação do jogador, e que a validação de acertos irá favorecer jogadores com conexão mais rápida e estável. Para isso, continuaremos a aperfeiçoar todos os nossos sistemas para oferecer aos jogadores com ping baixo a melhor experiência possível, enquanto mantemos a acessibilidade aos usuários com ping alto.

Ping alto e vantagem do jogador espiador

A replicação é o processo pelo qual espelhamos uma sequência de ações e movimentos realizados por um jogador num computador remoto, como um servidor de jogo. Pense que a replicação é como um “fantasma” que segue o jogador. Esse “fantasma” representa sua posição vista pelo servidor. Por exemplo, se você tiver um ping de 200ms, seu “fantasma” estará onde você estava a 100ms atrás (uma vez que o ping representa a duração de ida e volta). Quanto maior o ping de um jogador, maior a distância de seu “fantasma” atrás dele.

Porém, ao espiar (saindo de trás de uma proteção), um ping mais alto não lhe dará mais tempo para reagir e atirar antes de se tornar visível aos outros jogadores. Isso acontece porque todos os disparos precisam ser validados pelo servidor, então qualquer aumento no tempo também se aplicará aos seus disparos que chegam ao servidor.

A vantagem do espiador é um resultado do já mencionado efeito “fantasma”. Não podemos removê-lo: isso exigiria que todos os movimentos fossem validados pelo servidor antes de terem efeito no seu cliente. O resultado seria um maior atraso na entrada das informações (com valor igual ao seu ping), algo contrário à nossa filosofia de movimentos tão sensíveis quanto possível. Mas, ao contrário da percepção comum, a vantagem do jogador espiador depende apenas da velocidade de conexão da vítima, e não do espiador.

Assim que o espiador se torna visível, o tempo máximo que a vítima tem para disparar e obter a vantagem é o que chamamos de janela de oportunidade. A vantagem do espiador é causada pelo fato de que essa janela de oportunidade é sempre mais breve do que o tempo de reação do espiador.

Janela de oportunidade = Tempo de reação do espiador – Ping da vítima (incluindo tempo de processamento)

No vídeo a seguir, mostraremos a diferença de quando a vítima (jogador 2) tem um tempo de reação mais rápido (150ms) do que o espiador (jogador 1, 300ms). É possível perceber que o aumento no ping do espiador não interfere no resultado da batalha: conforme ambos aumentam seu ping, eles não aumentam suas chances. Embora o espiador tivesse disparado, a vítima já havia realizado um headshot, validado pelo servidor; por isso, o tiro do espiador foi rejeitado e ele foi eliminado.

No próximo vídeo, mostraremos como o ping da vítima impacta no resultado do julgamento dos disparos. Embora os tempos de reação permaneçam os mesmos (150ms para a vítima, 300ms para o espiador), aumentamos progressivamente o ping da vítima. Intencionalmente, o ping do espiador foi elevado e permanece constante, a 400ms. O aumento no ping da vítima resulta na redução de sua janela de oportunidade. Apesar de conseguir vencer a disputa com um ping baixo (50-100ms), o jogador começa a perder quando seu ping é muito alto (200ms).

Criamos a imagem a seguir para demonstrar o que você acabou de ver nos vídeos, sem a jogabilidade. O que está vendo é uma cronologia de ações, a ordem na qual os servidores recebem os dados e como a latência influencia essas etapas.

Peek1

O recurso acima mostra como o tempo de reação do espiador é mantido no servidor e, em seguida, na simulação da vítima, mesmo que o espiador esteja jogando com ping alto.

Peek2

O que se vê acima é o impacto do ping da vítima em suas chances de sobreviver. A vítima terá de atirar contra seu oponente antes que o disparo do espiador chegue até o servidor, o que só pode ser feito disparando durante sua janela de oportunidade, que não é afetada pelo ping do espiador. Assim que oficialmente eliminado no servidor, todas as ações seguintes desse jogador são rejeitadas. Isso está de acordo com a filosofia de design, mencionada no início deste artigo, segundo a qual o jogador com a conexão mais rápida e estável terá a maior vantagem.

Próximas etapas

Com os Reforços de Meia-temporada da Terceira Temporada do Ano 2, iremos implementar os seguintes ajustes e alterações na forma como o jogo opera com a latência, processamento e validação de acertos. Nosso plano é continuar trabalhando nesses pontos durante as próximas temporadas.

Alinhamento da latência

O alinhamento da latência é uma mudança que permite ao servidor espelhar com maior precisão o tempo de reação de um atirador com uma conexão instável. Se um jogador estiver enviando atualizações de posição a um ritmo inconstante, o servidor irá ajustar a sincronização das suas mensagens de disparo recebidas para que representem mais precisamente os comandos daquele jogador. Ainda que falemos de milissegundos, o resultado final é uma janela de oportunidade mais ampla ao enfrentar jogadores com latência oscilante.

Física corpo a corpo

Temos um novo sistema de física corpo a corpo, que irá cuidar da questão dos jogadores que se teleportam atrás de usuários com escudo. Isso acontecia com frequência ao bloquear uma porta com Montagne.

Melhorias na validação de acertos

Estamos reduzindo o limite máximo da latência exigida para iniciar etapas adicionais de validação de acertos. Mais detalhes sobre essas etapas adicionais e como elas irão afetar a jogabilidade serão publicadas em outro artigo.

Melhorias na replicação

Estamos otimizando a replicação de ações. O resultado é uma experiência mais sensível a todos os jogadores e uma redução da latência.

Atraso de processamento + ping

Atualmente, o valor do ping exibido nos menus inclui o atraso de processamento. Isso é enganoso, já que a execução do jogo a um FPS mais rápido leva à exibição de valores de ping mais baixos. Iremos remover esse atraso de processamento do valor do ping. Embora seja uma mudança cosmética, sem alteração na jogabilidade, o valor exibido será uma representação mais precisa da velocidade de sua conexão com os servidores.

Ícones de conectividade

Estamos implementando uma série de ajustes que o ajudarão a monitorar o status do seu cliente, do servidor e da sua conexão de rede.

Com esta mudança, o jogo exibirá até quatro ícones no canto superior direito de sua tela. Da esquerda para a direita, eles representam, respectivamente, a qualidade da sua experiência de jogo em termos de ping, estabilidade da conexão, taxa de update e estabilidade com o host.

Peek1

Quando algum deles estiver num estado que poderia afetar sua performance, o respectivo ícone irá notificá-lo. Isso ajudará a oferecer uma representação mais precisa do status de sua conexão, ao invés de apenas o ping do jogador. Os ícones têm duas fases: amarela e vermelha. Os limites para cada fase podem ser ajustados pela equipe de desenvolvedores a qualquer momento, por isso os valores a seguir são apenas uma estimativa das configurações atuais.

  • Ícone de latência: Ele irá aparecer quando sua latência estiver alta. Um ícone de latência amarelo significa que seu ping é alto o bastante para que etapas de validação adicionais sejam acionadas pelo servidor (por volta de 100-140ms). Essas etapas de validação adicionais entram em jogo no momento de lidar com seus disparos, determinando também se eles acertaram ou não. É possível que você se depare com situações desagradáveis, como eliminação atrás de uma proteção. Um ícone vermelho indica que seu ping está ruim (por volta de 400-500ms). Se ficar nessa fase por muito tempo, o jogador pode ser eliminado do servidor do jogo. Quando o ícone de latência vermelho estiver visível, quase todos os acertos serão intencionalmente rejeitados pelo servidor.
  • Ícone de conexão: Ele aparece quando você passa por perda de pacote de dados ou instabilidade de latência (por exemplo, quando alguns de seus pacotes são redirecionados para outro roteador de internet). Quando esse ícone for exibido, você pode enfrentar rubber banding, rejeição de disparos pelo servidor e latência induzida fora do esperado. A probabilidade dessas situações ocorrerem é muito maior com um ícone vermelho.
  • Ícone de taxa de update: Ele é exibido quando sua taxa de FPS estiver caindo ou for instável, e o número de pacotes enviados pelo seu cliente ao servidor não for alto o suficiente. Você pode enfrentar rejeição de disparos pelo servidor e latência induzida fora do esperado (induzida pelo próprio servidor do jogo, a fim de evitar que outros jogadores vejam seu personagem travando). É possível que enfrente falhas de rubber banding, caso o ícone esteja vermelho.
  • Ícone de host: Ele é exibido quando o servidor passa por problemas e é incapaz de preservar a estabilidade da simulação. Todos os jogadores conectados àquela partida verão o ícone aparecendo ao mesmo tempo. Ao ver este ícone, você pode ter problemas de rubber banding, latência alterada ou falhas no registro de acertos. Essas situações são percebidas mais claramente quando o ícone estiver vermelho.

A maior parte das alterações futuras resultará numa experiência menos confortável para jogadores com ping alto. Isso é feito conscientemente, e acreditamos que será o melhor para o jogo como um todo.

Junte-se a nós e compartilhe o que aprendeu com este artigo no subreddit do Rainbow Six Siege!

Visite Outros Canais de Rainbow Six Siege

facebook icontwitter iconyoutube icontwitch icon