Não há nada mais irritante do que passar por travamentos e falhas em jogos online causados por conexão ruim de internet.
Para diminuir esse problema, existe um recurso chamado rollback netcode, que sincroniza as conexões dos jogadores e torna a jogabilidade mais fluida.
É uma tecnologia recente e criada como evolução do delay-based netcode, código que cria um ambiente de espera entre os jogadores e diminui o risco de travamento.
Ping
Antes de tudo, precisamos entender dois conceitos básicos de transmissão de dados pela internet: ping e latência.
O tráfego de informações em uma rede, seja pública ou privada, se dá por pacotes de dados medidos em pequenas frações de tempo.
Pode parecer pouco, mas uma diferença de milissegundos pode alterar a forma com que uma informação chega ao computador ou console.
O ping é um método para medir quanto tempo uma quantidade mínima de informação demora para chegar a um servidor. É medido em milissegundos (1.000 milissegundos = 1 segundo).
O nome pode lembrar o movimento de bate e volta do pingue-pongue, mas na verdade é a sigla em inglês para Packet Internet Network Grouper (Agrupador de Pacotes de Internet).
Em resumo, o ping é um sinal enviado para medir o tempo de latência de uma conexão.
Latência
Depois de chegar a um servidor, o sinal de ping retorna ao dispositivo. O tempo gasto nesse processo recebe o nome de latência ou lag, termo mais apropriado ao jogos.
É importante entender esses conceitos, pois há uma ideia errada de que quanto maior a velocidade da conexão, melhor a jogabilidade.
Na verdade, a qualidade depende mais dos fatores de ping e latência do que a velocidade em si.
O principal fator que influencia no tempo de latência é a distância do servidor do site que se utiliza.
É por isso que as operadoras de internet não usam esse conceito como base para oferecer planos de internet.
Rollback netcode
Entendidos esses conceitos base, podemos falar do rollback network. Antes de seu desenvolvimento, o protocolo mais comum era o delay-based netcode, que consiste em criar um ambiente de espera.
Ao apertar o botão ou fazer um comando, o jogador envia um sinal que fica armazenado e só recebe uma resposta a partir da interação do oponente.
Esse é um bom cenário para manter a jogabilidade e não comprometer a resposta do controle. Contudo, o delay-based netcode não funciona tão bem em conexões ruins ou com grandes distâncias dos servidores.
Para melhorar essa situação, Tony Cannon, desenvolvedor da Riot e co-proprietário da comunidade de games de luta Shoryuken, criou um middleware chamado GGPO (Good Game Peace Out – Bom Jogo Fique em Paz).
Atualmente, a tecnologia está disponível em código aberto por meio de uma licença MIT, ou seja, serve tanto para software livre quanto proprietário.
O GGPO usa o rollback netcode, código de rede que faz uma previsão dos comandos feitos pelos jogadores e simula o quadro seguinte.
Se algum dos comandos não corresponder à previsão, o rollback netcode retorna ao último estado e reproduz os comandos dos jogadores até o estado atual.
Essa manipulação e previsão dos atrasos cria um ambiente de jogo mais tranquilo e menos sujeito a variações.
A tecnologia de rollback netcode é fundamental para melhorar a jogabilidade principalmente em jogos de luta.
Aliás, ela foi desenvolvida pela insatisfação de Tony Cannon com o desempenho do jogo Street Fighter II: Hyper Fighting.
Confira mais novidades sobre games em nosso Instagram e TikTok!