arquitetura servidora de jogos de...

44
ARQUITETURA ARQUITETURA SERVIDORA DE JOGOS SERVIDORA DE JOGOS DE CELULAR ONLINE DE CELULAR ONLINE MASSIVAMENTE MASSIVAMENTE MASSIVAMENTE MASSIVAMENTE MULTIPLAYER MULTIPLAYER Aluno: Joni Basso Cereja Aluno: Joni Basso Cereja Orientador: Paulo Fernando da Silva Orientador: Paulo Fernando da Silva

Upload: doankhanh

Post on 06-Oct-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

ARQUITETURA ARQUITETURA SERVIDORA DE JOGOS SERVIDORA DE JOGOS DE CELULAR ONLINE DE CELULAR ONLINE

MASSIVAMENTE MASSIVAMENTE MASSIVAMENTE MASSIVAMENTE MULTIPLAYERMULTIPLAYER

Aluno: Joni Basso CerejaAluno: Joni Basso CerejaOrientador: Paulo Fernando da SilvaOrientador: Paulo Fernando da Silva

Page 2: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

RoteiroRoteiro

IntroduçãoIntroduçãoObjetivos do trabalhoObjetivos do trabalhoConceitos e técnicasConceitos e técnicasTrabalhos CorrelatosTrabalhos CorrelatosRequisitos principaisRequisitos principaisEspecificaçãoEspecificaçãoEspecificaçãoEspecificaçãoImplementaçãoImplementaçãoOperacionalidadeOperacionalidadeResultadosResultadosConclusãoConclusãoExtensõesExtensõesReferências BibliográficasReferências Bibliográficas

Page 3: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

IntroduçãoIntrodução

Crescimento da área de dispositivos Crescimento da área de dispositivos móveis.móveis.Mercado de trabalho em potencial.Mercado de trabalho em potencial.Aumento de concorrência demanda Aumento de concorrência demanda Aumento de concorrência demanda Aumento de concorrência demanda diversificação de jogos para celular.diversificação de jogos para celular.Maioria destes jogos executa apenas no Maioria destes jogos executa apenas no próprio dispositivo.próprio dispositivo.

Page 4: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Objetivos do trabalhoObjetivos do trabalho

Compartilhamento de um mesmo universo no Compartilhamento de um mesmo universo no jogo demonstrativo jogo demonstrativo Galaxy NavigatorGalaxy Navigator;;Armazenamento e atualização de perfil de Armazenamento e atualização de perfil de cada jogador;cada jogador;Interação com personagens robôs conhecidos Interação com personagens robôs conhecidos Interação com personagens robôs conhecidos Interação com personagens robôs conhecidos por NPCs;por NPCs;controle do universo e das regras controle do universo e das regras desenvolvidas para o jogo desenvolvidas para o jogo Galaxy NavigatorGalaxy Navigator, , ações dos jogadores e interação com NPCs ações dos jogadores e interação com NPCs valendovalendo--se de uma aplicação principal se de uma aplicação principal suportada por servidores distribuídos.suportada por servidores distribuídos.

Page 5: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Conceitos e técnicasConceitos e técnicas

J2ME e Jogos para celularJ2ME e Jogos para celular

�� Jogos eletrônicos: início em meados dos Jogos eletrônicos: início em meados dos anos 70.anos 70.anos 70.anos 70.

�� Evolução de hardware aumenta Evolução de hardware aumenta complexidade dos jogos.complexidade dos jogos.

�� Avanço tecnológico: celulares não são mais Avanço tecnológico: celulares não são mais apenas meio de comunicação.apenas meio de comunicação.

Page 6: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Conceitos e técnicasConceitos e técnicas

�� J2ME: linguagem Java reduzida para J2ME: linguagem Java reduzida para dispositivos com poucos recursos físicos.dispositivos com poucos recursos físicos.

�� Camada de configuração (Camada de configuração (Connected, Limited Connected, Limited Device ConfigurationDevice Configuration):):

especificar a máquina virtual Java e as APIs especificar a máquina virtual Java e as APIs especificar a máquina virtual Java e as APIs especificar a máquina virtual Java e as APIs básicas.básicas.

�� Camadas de perfil (celulares e terminais Camadas de perfil (celulares e terminais menos avançados menos avançados -- Mobile Information Mobile Information Device ProfileDevice Profile):):

adicionar APIs e especificações para construção adicionar APIs e especificações para construção de aplicativos. de aplicativos.

Page 7: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Conceitos e técnicasConceitos e técnicas

�� MIDP 2.0 permite jogos mais ricos:MIDP 2.0 permite jogos mais ricos:otimização de gráficos e controles;otimização de gráficos e controles;adição de música;adição de música;melhor suporte à utilização de melhor suporte à utilização de sockets.sockets.

Page 8: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Conceitos e técnicasConceitos e técnicas

Jogos MMO:Jogos MMO:�� Vários jogadores;Vários jogadores;�� Participação coletiva em um único universo;Participação coletiva em um único universo;

Universo mantido por servidores 24 horas por Universo mantido por servidores 24 horas por �� Universo mantido por servidores 24 horas por Universo mantido por servidores 24 horas por dia;dia;

�� Pode possuir ou não um objetivo final a ser Pode possuir ou não um objetivo final a ser alcançado.alcançado.

Page 9: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Conceitos e técnicasConceitos e técnicas

GameSpy (2003):GameSpy (2003):�� “Habitat” (final dos “Habitat” (final dos

anos 80)anos 80)universo virtual universo virtual acessado por mais de acessado por mais de 16 pessoas ao mesmo 16 pessoas ao mesmo 16 pessoas ao mesmo 16 pessoas ao mesmo tempo através de um tempo através de um Quantum LinkQuantum Link..

�� “Meridian 59”“Meridian 59”grande número de grande número de jogadores jogadores compartilhando o compartilhando o mesmo mundo virtual mesmo mundo virtual persistente.persistente.

Meridian 59

Page 10: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Conceitos e técnicasConceitos e técnicas

Jogos MMO não Jogos MMO não necessariamente necessariamente possuem fim de jogo.possuem fim de jogo.Jogo “Risk Your Life”: Jogo “Risk Your Life”: Jogo “Risk Your Life”: Jogo “Risk Your Life”: jogador cria jogador cria personagem e decide personagem e decide seus objetivos.seus objetivos.Persistência dos Persistência dos dados.dados.

Page 11: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Conceitos e técnicasConceitos e técnicas

Popularização do gênero de jogos MMOs Popularização do gênero de jogos MMOs para computadores:para computadores:�� advento da banda larga no final da década de advento da banda larga no final da década de

90.90.90.90.

Em celulares, pode popularizar jogos Em celulares, pode popularizar jogos MMO:MMO:�� Oferta de planos de internet;Oferta de planos de internet;�� Avanço dos recursos dos dispositivos.Avanço dos recursos dos dispositivos.

Page 12: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Trabalhos CorrelatosTrabalhos Correlatos

TíbiaMETíbiaME�� desenvolvido aos moldes do conhecido Tibia desenvolvido aos moldes do conhecido Tibia

(plataforma PC);(plataforma PC);�� primeiro jogo MMO para celulares;primeiro jogo MMO para celulares;�� primeiro jogo MMO para celulares;primeiro jogo MMO para celulares;�� conexão a um servidor de jogo centralizado. conexão a um servidor de jogo centralizado.

Page 13: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Trabalhos CorrelatosTrabalhos Correlatos

ProtótipoProtótipo dede motormotor dede servidorservidor dede jogosjogosonlineonline emem massamassa�� desenvolvidodesenvolvido porpor PresserPresser ((20062006));;�� protótipoprotótipo dede umum servidorservidor genéricogenérico parapara jogosjogos�� protótipoprotótipo dede umum servidorservidor genéricogenérico parapara jogosjogos

MMOMMO (plataforma(plataforma PC)PC);;�� EstruturaEstrutura dede rederede comcom divisãodivisão porpor camadascamadas;;�� DivisãoDivisão dodo universouniverso emem partespartes menoresmenores parapara

reduçãoredução dede informaçãoinformação enviadaenviada aoao jogadorjogador..

Page 14: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Requisitos principaisRequisitos principais

Arquitetura de servidores:Arquitetura de servidores:�� efetuar efetuar loginlogin de clientes do jogo de clientes do jogo Galaxy NavigatorGalaxy Navigator

devidamente instalados em telefones celulares devidamente instalados em telefones celulares (Requisito Funcional (Requisito Funcional –– RF);RF);permitir a conexão de todos os clientes de celulares permitir a conexão de todos os clientes de celulares �� permitir a conexão de todos os clientes de celulares permitir a conexão de todos os clientes de celulares que efetuarem que efetuarem loginlogin, até um limite máximo , até um limite máximo estabelecido pelo administrador do servidor (RF);estabelecido pelo administrador do servidor (RF);

�� persistir os perfis de cada jogador na base de persistir os perfis de cada jogador na base de dados (RF);dados (RF);

�� controlar as regras do jogo estabelecidas (RF);controlar as regras do jogo estabelecidas (RF);

Page 15: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Requisitos principaisRequisitos principais

�� suportar a interação dos jogadores suportar a interação dos jogadores humanos com personagens NPC (RF);humanos com personagens NPC (RF);

�� ser implementado na linguagem de ser implementado na linguagem de programação Java (Requisito Não Funcional programação Java (Requisito Não Funcional programação Java (Requisito Não Funcional programação Java (Requisito Não Funcional –– RNF);RNF);

�� ser fortemente distribuído, o que engloba ser fortemente distribuído, o que engloba estratégias para ser tolerante a falhas e estratégias para ser tolerante a falhas e realizar a distribuição de sobrecarga entre realizar a distribuição de sobrecarga entre os servidores distribuídos (RNF).os servidores distribuídos (RNF).

Page 16: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Requisitos principaisRequisitos principais

cliente do jogo cliente do jogo Galaxy NavigatorGalaxy Navigator::�� efetuar conexão com um servidor de contas, efetuar conexão com um servidor de contas,

também denominado também denominado Login ServerLogin Server (RF);(RF);�� constantemente atualizar e exibir o ambiente em constantemente atualizar e exibir o ambiente em

que se encontra o usuário, a partir dos dados que se encontra o usuário, a partir dos dados que se encontra o usuário, a partir dos dados que se encontra o usuário, a partir dos dados recebidos dos servidores distribuídos de jogo, ou recebidos dos servidores distribuídos de jogo, ou Game ServersGame Servers (RF);(RF);

�� repassar aos servidores de jogo as ações repassar aos servidores de jogo as ações pretendidas pelo usuário (RF);pretendidas pelo usuário (RF);

�� funcionar em celulares com máquina virtual Java, funcionar em celulares com máquina virtual Java, perfil MIDP 2.0 e acesso à internet (RNF);perfil MIDP 2.0 e acesso à internet (RNF);

�� ser implementado em J2ME (RNF).ser implementado em J2ME (RNF).

Page 17: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

EspecificaçãoEspecificação

Regras do jogo Regras do jogo Galaxy NavigatorGalaxy Navigator::�� Universo matricial (linhas x colunas);Universo matricial (linhas x colunas);�� Cada coordenada é um sistema solar;Cada coordenada é um sistema solar;�� Jogadores criam sedes nos sistemas solares; Jogadores criam sedes nos sistemas solares; �� Jogadores criam sedes nos sistemas solares; Jogadores criam sedes nos sistemas solares; �� Evoluem e criam naves transportadoras: Evoluem e criam naves transportadoras:

Criar sedes em outros sistemas solares,Criar sedes em outros sistemas solares,Atacar sedes de outros jogadores;Atacar sedes de outros jogadores;

�� Ataques de jogador artificial;Ataques de jogador artificial;�� Ações executadas em espaço de tempo Ações executadas em espaço de tempo

configurado.configurado.

Page 18: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Especificação Especificação -- TopologiaTopologia

Page 19: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Especificação Especificação –– Caso de usoCaso de uso

Page 20: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Especificação Especificação –– Diagrama de ClassesDiagrama de Classes

Page 21: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação
Page 22: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Especificação Especificação –– Diagrama Diagrama –– Diagrama Diagrama de Seqüênciade Seqüência

Page 23: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Especificação Especificação –– Diagrama de EstadosDiagrama de Estados

Page 24: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Especificação Especificação ––Modelo de Modelo de dadosdados

Page 25: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Especificação Especificação ––Protocolo de Protocolo de comunicaçãocomunicação

Page 26: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

ImplementaçãoImplementação

Ferramentas utilizadas:Ferramentas utilizadas:�� Enterprise Architect (especificação);Enterprise Architect (especificação);�� DBDesigner (modelo de dados);DBDesigner (modelo de dados);�� Netbeans 5.5;Netbeans 5.5;

J2ME Wireless Toolkit 2.2;J2ME Wireless Toolkit 2.2;�� J2ME Wireless Toolkit 2.2;J2ME Wireless Toolkit 2.2;�� MySQL.MySQL.

comunicação com o cliente utiliza a conexão via comunicação com o cliente utiliza a conexão via Socket:Socket:�� envio bilateral de 4 bytes que seguem o protocolo envio bilateral de 4 bytes que seguem o protocolo

descrito, assim como utilizou Hamer(2004);descrito, assim como utilizou Hamer(2004);�� “importante manter simples os dados enviados”.“importante manter simples os dados enviados”.

Page 27: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

ImplementaçãoImplementação

Conexão Conexão com com socketsocketem J2ME:em J2ME:

DataInputStream dis = null;DataInputStream dis = null;

DataOutputStream dos = null;DataOutputStream dos = null;

SocketConnection conn = null;SocketConnection conn = null;

byte[] fourBytes = new byte[4];byte[] fourBytes = new byte[4];

conn = conn = (SocketConnection)Connector.open(SERVER_URL);(SocketConnection)Connector.open(SERVER_URL);

conn.setSocketOption(SocketConnection.KEEPALIVE, conn.setSocketOption(SocketConnection.KEEPALIVE, 1);1);1);1);

dos = conn.openDataOutputStream();dos = conn.openDataOutputStream();

dis = conn.openDataInputStream();dis = conn.openDataInputStream();

fourBytes[0]='L';fourBytes[0]='L';

fourBytes[1]='j';fourBytes[1]='j';

fourBytes[2]='b';fourBytes[2]='b';

fourBytes[3]='c';fourBytes[3]='c';

dos.write(fourBytes,0,fourBytes.length);dos.write(fourBytes,0,fourBytes.length);

dis.readFully(fourBytes);dis.readFully(fourBytes);

Page 28: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

ImplementaçãoImplementação

Recebendo as conexões via Recebendo as conexões via socket:socket:

ServerSocket ss;ServerSocket ss;

ss = new ServerSocket(porta);ss = new ServerSocket(porta);

Socket socketCelular = ss.accept();Socket socketCelular = ss.accept();

socketCelular.setKeepAlive(true);socketCelular.setKeepAlive(true);socketCelular.setKeepAlive(true);socketCelular.setKeepAlive(true);

PlayerAction playerAction = new PlayerAction playerAction = new PlayerAction(socketCelular);PlayerAction(socketCelular);

playerAction.start();playerAction.start();

Page 29: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

ImplementaçãoImplementação

Classe Classe PlayerAction:PlayerAction:

�� implementa uma implementa uma Thread;Thread;�� como parâmetro o objeto do tipo Socket que como parâmetro o objeto do tipo Socket que

possui conexão de um único cliente;possui conexão de um único cliente;possui conexão de um único cliente;possui conexão de um único cliente;�� possui referência remota da classe possui referência remota da classe BancoBanco ;;

�� todas as instâncias executam como todas as instâncias executam como ThreadsThreadsparalelamente;paralelamente;

�� Executa métodos remotos de Executa métodos remotos de Banco:Banco:

logaJogador(), carregaRegiao(), e outros.logaJogador(), carregaRegiao(), e outros.

Page 30: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

ImplementaçãoImplementação

GameServerGameServer e e NPCServerNPCServer são são inicializadas pelo administrador do inicializadas pelo administrador do sistema:sistema:�� Possuem contador de tempo;Possuem contador de tempo;�� Possuem contador de tempo;Possuem contador de tempo;�� GameServer:GameServer:

processamento das ações enfileiradas na base de processamento das ações enfileiradas na base de dados;dados;

�� NPCServer:NPCServer:

ataques da civilização rebelde aos jogadores. ataques da civilização rebelde aos jogadores.

Page 31: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

OperacionalidadeOperacionalidade

Administrador inicia Administrador inicia arquitetura arquitetura servidora;servidora;Pode verificar o que Pode verificar o que está acontecendo está acontecendo está acontecendo está acontecendo apenas modo texto.apenas modo texto.

Page 32: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

OperacionalidadeOperacionalidade

Cada jogador inicializa o cliente Cada jogador inicializa o cliente J2ME;J2ME;Informa dados previamente Informa dados previamente cadastrados e endereço do cadastrados e endereço do cadastrados e endereço do cadastrados e endereço do servidor;servidor;Assim que efetuar conexão, Assim que efetuar conexão, recebe os dados diretamente recebe os dados diretamente de uma instância exclusiva de de uma instância exclusiva de PlayerActionPlayerAction ..

Page 33: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

OperacionalidadeOperacionalidade

Recebidos os seus dados, Recebidos os seus dados, o jogador acessa no menu o jogador acessa no menu as ações que deseja as ações que deseja realizar. realizar. O menu exibe ações para O menu exibe ações para O menu exibe ações para O menu exibe ações para um jogador realizar.um jogador realizar.�� Construções;Construções;�� visualizar outra sede;visualizar outra sede;�� visualizar outro transporte;visualizar outro transporte;

Page 34: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

OperacionalidadeOperacionalidade

PlayerAction persiste as ações na base de PlayerAction persiste as ações na base de dados.dados.Ações são executadas no tempo de jogo Ações são executadas no tempo de jogo configurado.configurado.configurado.configurado.�� Jogadores não conhecem este tempo.Jogadores não conhecem este tempo.�� Impossível saber quando ações são executadas após Impossível saber quando ações são executadas após

um jogador selecionar na interface J2ME.um jogador selecionar na interface J2ME.

NPCServerNPCServer apenas realiza ataques aleatórios apenas realiza ataques aleatórios aos jogadores em períodos de tempo (também aos jogadores em períodos de tempo (também configurados).configurados).

Page 35: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

ResultadosResultados

Testes feitos apenas com simulador, porém, Testes feitos apenas com simulador, porém, satisfatórios.satisfatórios.vários simuladores conectam ao mesmo tempo vários simuladores conectam ao mesmo tempo sem problemas na arquitetura servidora de sem problemas na arquitetura servidora de sem problemas na arquitetura servidora de sem problemas na arquitetura servidora de Galaxy NavigatorGalaxy Navigator..jogos MMO comerciais:jogos MMO comerciais:�� disponibilizado para testes gratuitamentedisponibilizado para testes gratuitamente�� sem a realização de um teste como esse, não há sem a realização de um teste como esse, não há

como determinar quantos celulares reais são como determinar quantos celulares reais são suportados pela arquitetura servidora desenvolvida suportados pela arquitetura servidora desenvolvida

Page 36: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

ResultadosResultados

Execução de vários simuladores ocorre de Execução de vários simuladores ocorre de maneira satisfatória.maneira satisfatória.�� autenticação com sucesso;autenticação com sucesso;�� interação no universo compartilhado;interação no universo compartilhado;�� interação no universo compartilhado;interação no universo compartilhado;�� jogadores efetuam ações, interpretadas de jogadores efetuam ações, interpretadas de

acordo com as regras do jogo;acordo com as regras do jogo;�� persistência dos dados;persistência dos dados;�� ataques de jogador artificial aos jogadores ataques de jogador artificial aos jogadores

reais; reais;

Page 37: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

ResultadosResultados

Comparação com trabalhos correlatosComparação com trabalhos correlatos

MMO Plataforma Arquitetura

Galaxy Navigator

Sim Celular Distribuída

TibiaMe Sim Celular Centralizada

Motor MMO de Presser

Sim PC Distribuída

Page 38: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

ConclusãoConclusão

Objetivos alcançados.Objetivos alcançados.Jogo para celular possui as características Jogo para celular possui as características de jogos MMO.de jogos MMO.Arquitetura distribuída:Arquitetura distribuída:Arquitetura distribuída:Arquitetura distribuída:�� Divisão de carga de processamentoDivisão de carga de processamento�� Não há único ponto de falhasNão há único ponto de falhas

Simulador J2ME apareceu como Simulador J2ME apareceu como excelente opção.excelente opção.

Page 39: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

ConclusãoConclusão

É possível desenvolver jogos MMO para É possível desenvolver jogos MMO para celulares.celulares.Área de jogos para celular que representa Área de jogos para celular que representa um diferencial em relação às demais.um diferencial em relação às demais.um diferencial em relação às demais.um diferencial em relação às demais.É viável a desenvolvedores explorar mais É viável a desenvolvedores explorar mais esta área (jogos MMO para celulares com esta área (jogos MMO para celulares com maior complexidade) maior complexidade)

Page 40: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

ConclusãoConclusão

LimitaçõesLimitações�� Administrador não possui painel de controle Administrador não possui painel de controle

com funções típicas de adminsitradores;com funções típicas de adminsitradores;�� Sem preocupação com complexidade do Sem preocupação com complexidade do �� Sem preocupação com complexidade do Sem preocupação com complexidade do

jogo. Objetivoujogo. Objetivou--se a funcionalidade da se a funcionalidade da arquitetura servidora.arquitetura servidora.

impossível formar grupos de jogadoresimpossível formar grupos de jogadoresregras simplesregras simples

Page 41: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

ExtensõesExtensões

�� adição de novas funcionalidades às regras já adição de novas funcionalidades às regras já existentes;existentes;

�� criação de enredo de jogo com alto grau de criação de enredo de jogo com alto grau de complexidade;complexidade;

�� alta segurança pode ser uma meta fundamental;alta segurança pode ser uma meta fundamental;�� alta segurança pode ser uma meta fundamental;alta segurança pode ser uma meta fundamental;�� a interface com o usuário pode ser melhorada.a interface com o usuário pode ser melhorada.�� aumento do potencial de processamento de aumento do potencial de processamento de

telefones celulares permitirá jogos MMO com maior telefones celulares permitirá jogos MMO com maior qualidade gráfica e com maior complexidade.qualidade gráfica e com maior complexidade.

Page 42: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Referências BibliográficasReferências BibliográficasCIPSOFT GMBH. CIPSOFT GMBH. Tibia micro editionTibia micro edition . [Munique], 2006. Disponível . [Munique], 2006. Disponível em: em: <http://www.cipsoft.com/products/index.php?language=en&subsecti<http://www.cipsoft.com/products/index.php?language=en&subsection=TibiaME>. Acesso em: 31 mar. 2007.on=TibiaME>. Acesso em: 31 mar. 2007.FRANCE PRESSE. Games podem fornecer respostas sobre FRANCE PRESSE. Games podem fornecer respostas sobre propagação de epidemias. propagação de epidemias. Folha OnlineFolha Online , São Paulo, 2007. , São Paulo, 2007. Disponível em: Disponível em: <http://www1.folha.uol.com.br/folha/informatica/ult124u322046.shtm<http://www1.folha.uol.com.br/folha/informatica/ult124u322046.shtm<http://www1.folha.uol.com.br/folha/informatica/ult124u322046.shtm<http://www1.folha.uol.com.br/folha/informatica/ult124u322046.shtml>. Acesso em: 29 set. 2007.l>. Acesso em: 29 set. 2007.GAMESPY. Massively Multiplayer Online Games. [Brisbane?], 2003. GAMESPY. Massively Multiplayer Online Games. [Brisbane?], 2003. Disponível em: <http://archive.gamespy.com/amdmmog>. Acesso Disponível em: <http://archive.gamespy.com/amdmmog>. Acesso em: 22 set. 2007. em: 22 set. 2007. GSM ASSOCIATION. GSM ASSOCIATION. GPRS.GPRS. [S.l.], 2007. [S.l.], 2007. Disponível em: Disponível em: <http://www.gsmworld.com/technology/gprs/index.shtml>. <http://www.gsmworld.com/technology/gprs/index.shtml>. Acesso Acesso em: 12 abr. 2007.em: 12 abr. 2007.HAMER, Carol. HAMER, Carol. J2ME games with MIDP 2J2ME games with MIDP 2 . Berkeley: Apress, 2004.. Berkeley: Apress, 2004.

Page 43: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Referências BibliográficasReferências BibliográficasKEOGH, James Edward. KEOGH, James Edward. J2MEJ2ME: the complete reference: the complete reference. . Berkeley: Berkeley: McGrawMcGraw--Hill/Osborne, 2003.Hill/Osborne, 2003.KNUDSEN, Jonathan. KNUDSEN, Jonathan. Wireless JavaWireless Java : developing with J2ME: developing with J2ME. . 2nd 2nd ed. New York: APress, 2003.ed. New York: APress, 2003.LYRA STUDIOS. LYRA STUDIOS. Lyra network engine features and architectureLyra network engine features and architecture . . Los Angeles, 2003. Disponível em: Los Angeles, 2003. Disponível em: <http://www.lyrastudios.com/assets/lyraarchitecture.pdf>. Acesso <http://www.lyrastudios.com/assets/lyraarchitecture.pdf>. Acesso <http://www.lyrastudios.com/assets/lyraarchitecture.pdf>. Acesso <http://www.lyrastudios.com/assets/lyraarchitecture.pdf>. Acesso em: 30 mar. 2007. em: 30 mar. 2007. MATTOS, Érico Tavares de. MATTOS, Érico Tavares de. Programação Java para wirelessProgramação Java para wireless : : aprenda a desenvolver sistemas em J2ME! aprenda a desenvolver sistemas em J2ME! São Paulo: Digerati São Paulo: Digerati Books, 2005.Books, 2005.NEAR DEATH STUDIOS. ABOUT MERIDIAN 59: Screenshots. NEAR DEATH STUDIOS. ABOUT MERIDIAN 59: Screenshots. [S.l.], 2001. Disponível em: [S.l.], 2001. Disponível em: <http://meridian59.neardeathstudios.com/M59<http://meridian59.neardeathstudios.com/M59--Screenshots.shtml>. Screenshots.shtml>. Acesso em: 22 set. 2007.Acesso em: 22 set. 2007.

Page 44: ARQUITETURA SERVIDORA DE JOGOS DE …campeche.inf.furb.br/tccs/2008-I/2008-1-20-ap-jonibcereja.pdf · ações dos jogadores e interação com NPCs ... (linhas x colunas); ... Especificação

Referências BibliográficasReferências BibliográficasONLINE EVOLUTION PTY. ONLINE EVOLUTION PTY. EverQuest 2 RealmEverQuest 2 Realm : general information. : general information. [S.l.], [S.l.], [2002?]. Disponível em: [2002?]. Disponível em: <http://eq2.crgaming.com/default.asp?column=6406>. Acesso em: 28 mar. <http://eq2.crgaming.com/default.asp?column=6406>. Acesso em: 28 mar. 2007.2007.PRESSER, Daniel. PRESSER, Daniel. Protótipo de motor de servidor de jogos online em Protótipo de motor de servidor de jogos online em massa. massa. 2006. 98 f. Trabalho de Conclusão de Curso (Bacharelado em 2006. 98 f. Trabalho de Conclusão de Curso (Bacharelado em Ciências da Computação) Ciências da Computação) –– Centro de Ciências Exatas e Naturais, Centro de Ciências Exatas e Naturais, Universidade Regional de Blumenau, Blumenau. Universidade Regional de Blumenau, Blumenau. Universidade Regional de Blumenau, Blumenau. Universidade Regional de Blumenau, Blumenau. SUN MICROSYSTEMS. Sun Community Source Licensing (SCSL) SUN MICROSYSTEMS. Sun Community Source Licensing (SCSL) -- Mobile Mobile Information Device Profile (MIDP). Information Device Profile (MIDP). [S.l.], [2007?]. Disponível em: [S.l.], [2007?]. Disponível em: <http://www.sun.com/software/communitysource/j2me/midp/>. Acesso em: <http://www.sun.com/software/communitysource/j2me/midp/>. Acesso em: 19 set. 2007.19 set. 2007.TRAVIAN GAMES GMBH. Maravilha do Mundo. [S.l.], [2004?]. Disponível TRAVIAN GAMES GMBH. Maravilha do Mundo. [S.l.], [2004?]. Disponível em: <http://help.travian.com.pt/index.php?type=faq&mod=382&s=300>. em: <http://help.travian.com.pt/index.php?type=faq&mod=382&s=300>. Acesso em: 28 set. 2007.Acesso em: 28 set. 2007.YOUXILAND DIGITAL; GAMASOFT; PLANETWIDE GAMES. What is Risk YOUXILAND DIGITAL; GAMASOFT; PLANETWIDE GAMES. What is Risk Your Life (RYL)?. Your Life (RYL)?. [S.l.], 2005. Disponível em: [S.l.], 2005. Disponível em: <http://www.ryl.net/content.php?content.1>. Acesso em: 28 set. 2007.<http://www.ryl.net/content.php?content.1>. Acesso em: 28 set. 2007.