Tutorial de multiplayer online: PT_BR (O caos que é a internet - The chaos of the internet).

1
Published on 16 Sep, 2019.

Suponhamos que alguns pares tenham entrado na mesma sala, tendo sido corretamente conectados ao anfitrião, e a partida online tenha começado. Nós podemos agora ignorar a existência do servidor de sinalização, afinal, ele não estará mais atuando nesse ponto do seu jogo.

Como vimos anteriormente, um jogo multiplayer funciona por si próprio a partir do momento em que o anfitrião começa a agir como um servidor. Os pares enviam suas informações para o anfitrião, enquanto este redistribui essas informações para os demais. Ou seja, para dois pares trocarem informações entre si terá que haver, obrigatoriamente, o intermédio de um anfitrião.

Os jogos multiplayer seriam muito mais simples se todas as trocas de informações através da internet fossem diretas. Esse é o caso de redes locais (LAN), como em sua casa ou em seu escritório. Entretanto, a internet é impressionantemente mais complexa. Entre dois jogadores há cerca de 10-20 aparelhos de rede (como roteadores). Os aparelhos ao longo da comunicação vão ser diferentes para cada par de jogadores, mas basicamente cada aparelho no caminho precisará receber e retransmitir um pacote de informações para cada única mensagem enviada. Cada aparelho ao longo dessa rota precisa ler e compreender o destino da mensagem, determinar a localização do próximo aparelho e retransmiti-la. Agora, se sua mensagem precisa conectar jogadores em continentes diferentes, separados por mar, recomendamos que as informações sejam transmitidas através de cabos submarinos (pois estes conseguem lidar extraordinariamente bem com grandes quantidades de tráfico em longas distâncias).

Surpreendentemente, cada aparelho da rota de transmissão pode receber e retransmitir um pacote em questão de milissegundos, contudo, o tempo total da transmissão aumenta proporcionalmente ao número de aparelhos e, portanto, proporcionalmente ao tamanho da rota. Outro problema é a quantidade de trabalho realizado simultaneamente por cada um dos aparelhos de retransmissão, que pode aumentar ainda mais o "delay" entre o recebimento e o envio de um pacote. Vale ressaltar que esses aparelhos, como qualquer computador, também podem quebrar, ficar sem memória, ser desligados para manutenções, ficar sem energia, sofrer erros que afetam suas funções, entre outros. Mas nem tudo são espinhos, graças a uma programação muito engenhosa, roteadores podem desviar o trajeto das informações caso percebam algum problema, ou até mesmo alterar substancialmente o trajeto das informações para que seja alcançada a maior velocidade possível. Portanto, existem muitas variáveis a serem levadas em conta quando tratamos da transmissão de uma mensagem de A até B.

As leis da física devem ser levadas em conta também. Se um jogador em Londres (Inglaterra) conecta com algum outro em Sydney (Austrália), a informação deve viajar aproximadamente 17 mil quilômetros, ou seja, levaria no mínimo 57 milissegundos para essa mensagem chegar de um jogador ao outro (viajando em linha reta e na velocidade da luz), sendo impossível ter um tempo menor que esse. Além disso, os cabos submarinos (citados anteriormente) que transmitem as informações não formam uma perfeita linha reta, portanto, às vezes a maior velocidade entre dois locais tão distantes acabará sendo pelas já citadas rotas de retransmissão de sinais.

  • 0 Comments

Want to leave a comment? Login or Register an account!