Redes Aplicada a Jogos Digitais

Atualmente vivemos na chamada era digital e a área dos jogos está em franca expansão, criando uma grande indústria e o seu próprio mercado, movimentando anualmente bilhões de dólares no mundo todo (Kubo, 2006).

Quando falamos de jogos digitais, podemos dizer que esses são classificados quanto ao número de jogadores: singleplayer ou multiplayer. Os jogos singleplayer são aqueles em que apenas um jogador participa do jogo, enquanto os jogos multiplayer envolvem dois ou mais jogadores (Kubo, 2006). Segundo Battaiola et al. (2001), em um jogo multiplayer, cada jogador possui a sua própria visão de estado do jogo, sendo que esta deve ser o mais semelhante possível para os demais jogadores.

Para tal interação entre os jogadores, é necessário que estes jogos estejam conectados a uma rede, a qual demanda requisitos básicos para seu pleno funcionamento. É possível relacionar os requisitos dos jogos multiplayer de acordo com os ambientes virtuais distribuídos (Van Dam, 1993) (Deriggi, 1998), sendo alguns deles: Taxas rápidas de atualização do jogo; Latência máxima; Tratamento de múltiplos dispositivos de Entrada/Saída; Representação realista do jogo; Distribuição dos dados a longa distancia; Suporte aos recursos computacionais e de redes heterogêneas; Estabilidade.

Para tal troca de informações, como por exemplo, a mudança de localização dos jogadores ou a movimentação de algum objeto, demanda de diversas características da rede, tais quais: Largura de banda; Protocolos de comunicação; Modelos de comunicação; Estruturas básicas de comunicação; Formas de distribuição e armazenamento de dados; Formação de grupos; Técnicas de redução de tráfego de mensagem e atraso. Num jogo multiplayer, a demanda de tráfego na rede tende ser menor, pelo fato das imagens serem geradas localmente, ou seja, a rede apenas transmite informações numerais ou textuais. No entanto, como o numero de usuários de jogos multiplayer tende a ser grande, uma largura de banda alta continua sendo requisito necessário (Kubo, 2006).

Atualmente, existem novas tecnologias Ethernet que são capazes de suportar até 1 Gbps, sendo que algumas delas utilizam cabos de fibra ótica capazes de transferir informação de 10 Gbps ou mais. Em uma rede “Local Area Network” (LAN) do padrão Ethernet a vazão de dados é cerca de 100 Mbps, já em uma rede “Wide Area Network” (WAN) a vazão chega a cerca de 1 Mbps, o que limita o número de usuários conectados simultaneamente (Kubo, 2006). Nas redes de comunicação sem fio, ainda não se atingiu as características de velocidade e largura de banda de uma rede com
fio. A intenção de se estruturar uma WLAN é de apenas se ter a capacidade de utilização dos mesmos serviços oferecidos por uma LAN, com a vantagem de não serem necessários fios para o tráfego de informação (Kubo, 2006).

Sendo assim, para atender tais demandas, as tecnologias atuais buscam aumentar a largura de banda com o desenvolvimento de novos protocolos, dispositivos de alta velocidade, servidores e máquinas com alto desempenho computacional, comunicação direta entre dispositivos, técnicas de links particulares, como “DeadReckoning”, “Interest Management” e “Message Compression and Agregation”, entre outras. Outro fator importante na comunicação de rede é o protocolo de comunicação, que define o modo de comunicação entre processos, implicando na confiabilidade e
velocidade de comunicação da rede. Uma das técnicas utilizadas para assegurar a confiabilidade dos jogos multiplayer é a utilização de tratamento de reconhecimento “ACKs” e “NACKs” (Tanenbaum, 1995).

Os modelos de comunicação em um jogo multiplayer são basicamente divididos em: Modelo “Cliente/Servidor”, “Peer-to-Peer” e “Hibrido” (Kirner & Pinho, 1996) (Borges, 1996). No modelo “Cliente/Servidor”, a comunicação direta se da somente do cliente com o servidor e vice versa, não havendo trocas diretas de mensagem entre os clientes, sendo apenas o servidor responsável pela transmissão das informações necessárias. No “Peer-to-Peer” a comunicação é direta entre os nós, sem intermédio de um ou mais servidores. Já no modelo “Hibrido”, a comunicação consiste na
combinação do modelo “Cliente/Servidor” e “Peer-to-Peer”.

Um dos exemplos de modelo mais utilizado é o Cliente/Servidor, comumente utilizados em jogos MMO, onde os clientes são utilizados pelos jogadores para se conectar ao servidor do jogo. Dessa forma, o jogador pode enviar informações da ação que deseja realizar e recebe informações atualizadas das atividades que estão ocorrendo à volta do seu personagem no jogo. O servidor possui o estado geral do mundo do jogo e coordena a atividade dos jogadores (Balan et al. 2005).

Se tratando de jogos multiplayer que rodam em browser, é necessário que utilizemos mecanismos os quais ofereçam recursos superiores ao serviço oferecido pelo protocolo HTTP. Os WebSockets surgiram para suprir essa demanda, a qual o HTTP não oferece apoio atualmente. O WebSocket é um padrão ainda em desenvolvimento que está sob os cuidados da IETF (Internet Enginnering Task Force) e uma API padrão para implementação do protocolo está em processo de formalização pela W3C (World Wide Web Consortium) para que os navegadores ofereçam apoio ao protocolo (Oliveira, 2015).

Sendo assim, cabe destacar a importância de uma boa estrutura de rede quando tratamos de jogos multiplayer, sendo de suma importância para o bom desempenho destes.

REFERÊNCIAS BIBLIOGRÁFICAS

Battaiola, A. L., Domingues, R. G., Feijo, B., Scwareman, D., Clua, e. w. g., Kosovitz, L.E., Dreux, M., Pessoa, C. A., Ramalho, G. – “Desenvolvimento de jogos em Computadores e Celulares”, RITA, V. 3, N. 2, 2001.

Borges, R. A. – “Especificação e Análise de um sistema Multiusuários de Realidade Virtual”, Tese de Doutorado, USP, São Paulo, 1996.

Deriggi Jr., F. V. – “Suporte de Comunicação para Sistemas Multiusuários de Realidade Virtual”, Dissertação de Mestrado, UFSCar, São Carlos, 1998.

Guilherme S. A. Gonçalves, Paulo Henrique O. Bastos, Daniel de Oliveira – O Uso de WebSockets no Desenvolvimento de Sistemas Baseados em uma Arquitetura Front-end com API. 2015.

Kirner, C., Pinho, M. – “Introdução à Realidade Virtual”, Minicurso JAI/SBC, Recife PE, 1996.

Kubo, M., M. – “FMMG: Um Framework para Jogos Multiplayer Móveis”, Tese de Doutorado, USP, São Paulo, 2006.

Tanenbaum, A. S. – “Distributed Operating Systems”, Prentice-Hall, 1995.

Vam Dam, A. – “VR as Forcing Function: Software Implications of new Paradigm”, IEEE 93 Symposiuam on Research Fronties in Virtual Reality, San Jose, CA, 1993.