Games House Lamberto Augusto (laon) Millena de Andrade (maag) Sylvia Campos (scls) Pedro Lages (plm)

Preview:

Citation preview

Games HouseGames HouseLamberto Augusto (laon)Lamberto Augusto (laon)

Millena de Andrade (maag)Millena de Andrade (maag)Sylvia Campos (scls)Sylvia Campos (scls)

Pedro Lages (plm)Pedro Lages (plm)

IntroduçãoIntrodução

Games HouseGames House ArquiteturaArquitetura Games ProtocolGames Protocol

Máquina de EstadosMáquina de Estados MensagensMensagens

Jogos ImplementadosJogos Implementados Apresentação da interface do clienteApresentação da interface do cliente Considerações FinaisConsiderações Finais

PropostaProposta

A Games House é uma aplicação de A Games House é uma aplicação de gerenciamento de jogos multi-usuários em rede, gerenciamento de jogos multi-usuários em rede, permitindo a interação entre eles através de permitindo a interação entre eles através de jogos e chat.jogos e chat.

Os jogos disponíveis serão Cara-a-Cara, Super-Os jogos disponíveis serão Cara-a-Cara, Super-Trunfo e Jogo da Memória e o usuário poderá Trunfo e Jogo da Memória e o usuário poderá participar de dois chats diferentes:participar de dois chats diferentes: Público : entre todos os usuários on-line;Público : entre todos os usuários on-line; Privado : entre os participantes do jogo.Privado : entre os participantes do jogo.

O AplicativoO Aplicativo

Arquitetura: Cliente/ServidorArquitetura: Cliente/Servidor Linguagem: JavaLinguagem: Java Protocolos:Protocolos:

Camada de Transporte : TCPCamada de Transporte : TCP Camada de Aplicação : Games Protocol (GP)Camada de Aplicação : Games Protocol (GP)

ArquiteturaArquitetura A Games House é baseada na arquitetura A Games House é baseada na arquitetura

Cliente/Servidor.Cliente/Servidor. Servidor:Servidor:

Responsável pelo tráfego de mensagens entre os Responsável pelo tráfego de mensagens entre os clientes e manter a consistência dos jogos.clientes e manter a consistência dos jogos.

Implementa o Games Protocol.Implementa o Games Protocol.

Cliente:Cliente: Classe responsável pela troca de mensagem entre a Classe responsável pela troca de mensagem entre a

gui e o servidor. gui e o servidor. Implementa o Games Protocol.Implementa o Games Protocol. Interface dos jogosInterface dos jogos

Games ProtocolGames Protocol

O Games Protocol é um protocolo da O Games Protocol é um protocolo da camada de aplicação responsável pelas camada de aplicação responsável pelas interações dos jogos entre as entidades interações dos jogos entre as entidades cliente e servidor.cliente e servidor.

As mensagens do protocolo encapsulam As mensagens do protocolo encapsulam as próprias mensagens dos chats (público as próprias mensagens dos chats (público e privado) e os dados referentes aos e privado) e os dados referentes aos jogos.jogos.

Games Protocol – Máquina de EstadosGames Protocol – Máquina de EstadosServidorServidor

Games Protocol – Máquina de EstadosGames Protocol – Máquina de Estados ClienteCliente

Games Protocol Games Protocol Mensagens Cliente/Servidor - Servidor/ClienteMensagens Cliente/Servidor - Servidor/Cliente

As mensagens trocadas de As mensagens trocadas de Cliente/Servidor ou Servidor/Cliente são Cliente/Servidor ou Servidor/Cliente são para a comunicação entre os clientes.para a comunicação entre os clientes.

As mensagens trocadas entre clientes As mensagens trocadas entre clientes passa primeiramente pelo Servidor que a passa primeiramente pelo Servidor que a analisa e envia para o “cliente analisa e envia para o “cliente destinatário”, que receberá a mensagem e destinatário”, que receberá a mensagem e executará a ação referente a ela.executará a ação referente a ela.

Games Protocol - MensagensGames Protocol - Mensagens

MENSAGENS TROCADAS ENTRE CLIENTE/SERVIDOR E SERVIDOR/CLIENTE 

Mensagem Ação

message<nick, mensagem> Envia a mensagem ao Chat

invite_player<nick1,nick2,jogo> Envia um convite de inicio de jogo

reply_invite<nick1,nick2,jogo, codigo>

Envia o status da solicitação

full_table <nick1, nick2, jogo> Salas de jogos cheias.

play<nick1, jogo, modificado> Informa a movimentação da jogada

msg_in_game<nick, jogo, mensagem>

Envia a mensagem ao adversário no jogo

game_out<nick, jogo> Sai do jogo e avisa ao adversário...

Games Protocol Games Protocol Mensagens Cliente -> ServidorMensagens Cliente -> Servidor

As mensagens enviadas do Cliente para As mensagens enviadas do Cliente para Servidor são para informá-lo de algum Servidor são para informá-lo de algum evento executado pelo Cliente.evento executado pelo Cliente.

O Servidor então informa a outro cliente O Servidor então informa a outro cliente específico ou a todos os outros sobre tal específico ou a todos os outros sobre tal evento ocorrido, fazendo com que o(s) evento ocorrido, fazendo com que o(s) cliente(s) atualizem em seu(s) host(s) o cliente(s) atualizem em seu(s) host(s) o que for necessário. que for necessário.

Games Protocol - MensagensGames Protocol - Mensagens

Mensagem Ação

login<name> Enviar o login de usuário

game_out<nick, jogo> Sai do jogo

logoutDesconecta. Avisa a todos que

saiu .

MENSAGENS DO CLIENTE PARA O SERVIDOR

Games Protocol Games Protocol Mensagens Servidor -> ClienteMensagens Servidor -> Cliente

As mensagens trocadas no sentido As mensagens trocadas no sentido Servidor / Cliente são responsáveis por Servidor / Cliente são responsáveis por garantir que qualquer mudança ocorrida garantir que qualquer mudança ocorrida no “Games House” ocorra também no(s) no “Games House” ocorra também no(s) host(s) do(s) cliente(s), garantindo host(s) do(s) cliente(s), garantindo confiabilidade. confiabilidade.

Games Protocol - MensagensGames Protocol - Mensagens

Mensagem Ação

accept_login<codigo> Enviar se o login foi aceito

players_list<nick1,status1, nick2, status2, …>

Envia todos os nicks que estão logados

player_in<nick> Informa um novo jogador

player_out<nick> Informa o jogador que saiu

game_in<nick1, nick2, sala> Inicia um jogo

MENSAGENS DO SERVIDOR PARA O CLIENTE

JogosJogos

Os jogos implementados na Games Os jogos implementados na Games House são multi-usuários;House são multi-usuários;

Jogos com chats privados;Jogos com chats privados; Interface de Fácil utilização;Interface de Fácil utilização; Tela de Ajuda para iniciantes.Tela de Ajuda para iniciantes.

Cara a CaraCara a Cara

Jogo entre dois usuários onde cada um tenta Jogo entre dois usuários onde cada um tenta descobrir qual o personagem do seu adversário, descobrir qual o personagem do seu adversário, através de perguntas cujas respostas devem ser através de perguntas cujas respostas devem ser apenas “sim” ou “não”.apenas “sim” ou “não”.

O tabuleiro possui 24 personagens diferentes O tabuleiro possui 24 personagens diferentes fisicamente.fisicamente.

Cada usuário fica encarregado da “extinção” dos Cada usuário fica encarregado da “extinção” dos personagens do tabuleiro com o intuito de personagens do tabuleiro com o intuito de descobrir a face do adversário.descobrir a face do adversário.

Cara a Cara – Tela InicialCara a Cara – Tela Inicial

Face do Jogador

Nome dos personagens

Chat privado

Cara a Cara - exemploCara a Cara - exemplo

Personagens eliminados

Tipo de Resposta

Jogo da MemóriaJogo da Memória Famoso jogo, em que o vencedor é aquele que Famoso jogo, em que o vencedor é aquele que

conseguiu encontrar o maior número de pares de cartas conseguiu encontrar o maior número de pares de cartas ao término do jogo (quando todos os pares são ao término do jogo (quando todos os pares são descobertos).descobertos).

Chat interno para maior interação entre os jogadoreChat interno para maior interação entre os jogadore

Cinco temas diferentes gerados aleatoriamente pelo Cinco temas diferentes gerados aleatoriamente pelo servidor:servidor:

Filmes : SpiderMan + Garfield + ShrekFilmes : SpiderMan + Garfield + Shrek EmotionsEmotions Os IncríveisOs Incríveis Fun : figuras diversasFun : figuras diversas Happy Tree FriendsHappy Tree Friends

Jogo da Memória – Tela InicialJogo da Memória – Tela Inicial

Jogo da Memória - exemploJogo da Memória - exemplo

Número de

Pares Obtidos

Super TrunfoSuper Trunfo

Jogo cujo objetivo é ganhar todas as Jogo cujo objetivo é ganhar todas as cartas do adversário, disputando uma a cartas do adversário, disputando uma a uma.uma.

O jogador da vez escolhe a característica O jogador da vez escolhe a característica do veículo que acredita ser a mais forte. do veículo que acredita ser a mais forte. Se for ganha a carta do adversário. Caso Se for ganha a carta do adversário. Caso contrário, perde a sua.contrário, perde a sua.

Chat interno e privado para proporcionar Chat interno e privado para proporcionar ao jogador maior interação com o sua ao jogador maior interação com o sua adversário.adversário.

Super Trunfo – Tela InicialSuper Trunfo – Tela Inicial

Sua Carta

Chat Privado

Super Trunfo - exemploSuper Trunfo - exemplo

Número de cartas Opção

selecionada

Proposta para Futura VersõesProposta para Futura Versões

Inclusão de Novos Jogos;Inclusão de Novos Jogos; Incluir a participação de mais usuários;Incluir a participação de mais usuários; Opção de personalização da interface do Opção de personalização da interface do

cliente pelo usuário.cliente pelo usuário.

Considerações FinaisConsiderações Finais

O protocolo pode ser estendido (adaptável O protocolo pode ser estendido (adaptável para novas versões);para novas versões);

O Games Protocol permite a troca de O Games Protocol permite a troca de mensagens (dados dos jogos) entre mensagens (dados dos jogos) entre qualquer tipo de jogo (é adaptável).qualquer tipo de jogo (é adaptável).

LinksLinks

www.www.gameshouse1gameshouse1.kit.net.kit.net

Recommended