Você está na página 1de 31

Solues de Redes para Jogos Multiusurios

CIn/UFPE - Seminrios em Redes Vtor Cavalcanti Dantas


(vcd2@cin.ufpe.br)

Em um jogo 1x1...
n

Transmisso de dados
n n

x, y e direo (inteiros) 30 fps 32 + 32 + 32 = 96 bits 96 x 30 = 2880 bps 2.8 kbps

n n n

E se houverem 200 personagens?

Na ponta do lpis: 2.8 kbps x 200 576 kbps?

Roteiro
n n

Introduo Conceitos envolvidos


n

Latncia, Largura de Banda, Sincronia...

n n

Tcnicas Compensatrias Arquiteturas de redes


n

Cliente/Servidor, Ponto a ponto

Referncias

Roteiro
n n

Introduo Conceitos envolvidos


n

Latncia, Largura de Banda, Sincronia...

n n

Tcnicas Compensatrias Arquiteturas de redes


n

Cliente/Servidor, Ponto a ponto

Referncias

Introduo a Jogos Multiusurios


n

Por qu?
n n n n

Para poder jogar com ou contra amigos Infinitas estratgias Humanos so imprevisveis O jogo mais estimulante e tem maior replay-value

Mercado emergente
n n

2002: receitas de US$ 494 mi / 6 mi de usurios 2005: Mercado previsto para US$ 2.3 bi (Wired)

Introduo a Jogos Multiusurios


n

Atualmente
n n

Modo multiplayer requisito obrigatrio LAN Houses e Internet banda larga

Novidades
n n

Massively Multiplayer Dispositivos mveis

Roteiro
n n

Introduo Conceitos envolvidos


n

Latncia, Largura de Banda, Sincronia...

n n

Tcnicas Compensatrias Arquiteturas de redes


n

Cliente/Servidor, Ponto a ponto

Referncias

Conceitos envolvidos
n

Tipos de interao
n n

Solo-play (jogos no msn) Aes em turnos


n n

Round-robin (xadrez) Aes simultneas (par-ou-mpar)

n n

Ao em tempo real (warcraft 3) Jogos de atualizao lenta

Conceitos envolvidos
n

Latncia
n n n

Tempo de viagem de uma mensagem LAN micro segundos WAN 50~200ms

Latncias toleradas
n n

Num jogo de estratgia 500ms Num jogo de tiro em 1a pessoa 100ms

Conceitos envolvidos
n

Largura de banda influencia:


n n

Tamanho das mensagens Nmero de jogadores

Exemplo:
n

Tamanho mximo de um frame para 56Kbps


n

56 Kb / 30 fps = 1.8 Kb/frame 96 bits + 128 bits (overhead da rede) = 224 bits

Frame do jogo no incio da apresentao


n

O jogo suporta at 1.8k / 224 = 8 jogadores

Roteiro
n n

Introduo Conceitos envolvidos


n

Latncia, Largura de Banda, Sincronia...

n n

Tcnicas Compensatrias Arquiteturas de redes


n

Cliente/Servidor, Ponto a ponto

Referncias

Tcnicas compensatrias
n

Compactao e agregao de mensagens


n n

Necessita menor largura de banda Maior processamento e maior latncia

Reduo da informao transmitida


n n

Enviar apenas diferenas entre estados Enviar apenas dados relevantes para o momento

Tcnicas compensatrias

Planet Side
n

Dezenas de milhares de jogadores

Tcnicas compensatrias
n

Problema de Sincronizao
n

Os dois jogadores acham que venceram

Tcnicas compensatrias
n

Sincronia com Lockstep (conservador)


n n

Jogo parado durante sincronizao Inadequado para redes onde possa haver atrasos (web)

Sincronia com Dead Reckoning (otimista)


n n n

Faz estimativas para atualizar estados Ocasionalmente checa diferenas e sincroniza Previses por posio ou por eventos do usurio

Tcnicas compensatrias
n

Primeira pessoa X Terceira pessoa


n

n n

Transmitir informaes de cada unidade controlada? E jogos com muitas unidades? Ex.: Age of Empires
n

6 jogadores x 250 unidades cada = 1500 unidades

Soluo: Simulaes Simultneas

Tcnicas compensatrias
n

Simulaes Simultneas
n n

n n

Cada jogador executa uma simulao completa do jogo, sincronizando no incio As informaes trocadas so os comandos (eventos) dos jogadores (clique de mouse, teclado) Diminui absurdamente o tamanho das mensagens Exige um controle mais rgido de sincronizao

Roteiro
n n

Introduo Conceitos envolvidos


n

Latncia, Largura de Banda, Sincronia...

n n

Tcnicas Compensatrias Arquiteturas de redes


n

Cliente/Servidor, Ponto a ponto

Referncias

Arquiteturas de Redes
n

Cliente/Servidor
n n n n

Um computador o servidor Cada atualizao enviada ao servidor Centralizao do estado do jogo Alto trfego no lado do servidor Tipicamente usado para jogos de tiro em primeira pessoa (First Person Shooter/FPS)

Arquiteturas de Redes
n

Cliente/ Servidor

Arquiteturas de Redes
Threads dos jogadores

Estado do Jogo

Jogador 1

Jogador 2

Jogador 3

Arquiteturas de Redes
n

Mltiplos servidores distribudos


n n

Possvel uso de uma rede privada de alta velocidade entre servidores Servidores usam entre si uma arquitetura P2P

Cliente podem conectar-se a diferentes servidores


n n

Caso queda de um servidor, clientes podem realocados para outro servidor Custo Alto

Arquiteturas de Redes
n

Mltiplos servidores distribudos

Arquiteturas de Redes
n

Ponto a Ponto
n

Ausncia de um computador central que guarde o estado do jogo Cada jogador comunica-se diretamente com os demais jogadores Cada jogador mantem o estado do jogo em seu prprio contexto, atualizando-o de acordo com as mensagens dos demais jogadores Tpico uso: Jogos de estratgia em tempo real

Arquiteturas de Redes
n

Ponto a Ponto
n n n

Maior tolerncia a falhas Processamento distribudo Maior dificuldade para sincronizao entre os estados dos diversos jogadores Trapaa (Cheating)
n

Sem figura do servidor, clientes podem usar de cdigo malicioso para se beneficiarem Pouca Escalabilidade

Alta latncia no caso de muitos jogadores


n

Arquiteturas de Redes
n

Ponto a Ponto

Arquiteturas de Redes
n

Cliente/Servidor x Ponto a Ponto


n

Atualmente, grande parte dos jogos multiusurio utilizam a arquitetura Cliente/Servidor Mais fcil controle administrativo e billing

Porm, nem P2P ou Cliente/Servidor apresentam caractersticas desejveis em termos de escalabilidade


n

Novas arquiteturas so necessrias

Roteiro
n n

Introduo Conceitos envolvidos


n

Latncia, Largura de Banda, Sincronia...

n n

Tcnicas Compensatrias Arquiteturas de redes


n

Cliente/Servidor, Ponto a ponto

Referncias

Referncias
n

Disciplina de jogos
n

www.cin.ufpe.br/~game

Multi Player MIDP Game Programming


n

www.forum.nokia.com

1500 Archers on a 28.8: Network Programming in Age of Empires and Beyond


n

www.gamasutra.com

Solues de Redes para Jogos Multiusurios


CIn/UFPE - Seminrios em Redes Vtor Cavalcanti Dantas
(vcd2@cin.ufpe.br)

Você também pode gostar