Servidor de Jogos de Tabuleiro

Este sistema faz parte do projeto Desenvolvimento de Jogos para o Aperfeiçoamento na Aprendizagem de Disciplinas de Ciência da Computação e contém diversos sub-sistemas para a criação, gerenciamento e interação com jogos de tabuleiro criados num servidor (potencialmente) remoto.
Neste site você encontrará três versões do servidor de jogos remoto (uma em Java e duas em Visual C#) além de algumas ferramentas para se interagir com o servidor (criar novos jogos, entrar nos jogos, jogar, etc). Além disso, estas ferramentas podem implementar bots (softwares "inteligentes" aptos a jogar de maneira automática alguns dos jogos do servidor) de forma a disponibilizar jogadores automáticos (por exemplo, o sistema JogadorJogoDaVelha possui um bot baseado em regras - sistema especialista).


Atenção, todo o conteúdo desta página foi desenvolvido com objetivos didáticos e pode ser utilizado livremente por qualquer pessoa desde que sua utilização seja sem fins lucrativos. Ao utilizar qualquer parte do conteúdo deste projeto, favor referenciar o projeto e/ou qualquer publicação produzida a partir do mesmo.
As páginas deste projeto estão sendo constantemente atualizadas. Em breve novos códigos fontes, aplicações e manuais serão disponibilizados.


Conteúdo:
  1. Servidor de Jogos (versão em Java)
  2. Servidor de Jogos (versão em C#)
  3. Gerenciador Gráfico de Servidores
  4. Aplicativo Multijogador
  5. Aplicativo Jogo da Velha
  6. Aplicativo Deflexion



Servidor de Jogos desenvolvido em Java

É um dos servidores de jogos, propriamente dito (implementado em Java). Contém classes bases para peças e jogos e implementações específicas para os seguintes jogos: jogo da velha (2D e 3D), damas, xadrez e deflexion. O servidor é genérico e interoperável, está implementado em Java e toda a interface é baseada no padrão SOAP de comunicação e pode ser, facilmente, estendida para serviços web (web services).
As figuras abaixo mostram a tela inicial do servidor de jogos (que fica escutando uma porta de comunicação para receber mensagens de aplicações cliente, e imprime essas mensagens e as respostas na tela, como um log de execução).
Manual:
[pdf].
Código fonte (projeto Eclipse): [zip].

Servidor de Jogos desenvolvido em C#

Sistema equivalente ao
Servidor de Jogos desenvolvido em Java, porém implementado em C#.
Manual: [pdf].
Código fonte (projeto C#): [zip].

Gerenciador Gráfico de Servidores

Aplicativo gráfico que permite a criação de diversos servidores de jogos (do tipo
Servidor de Jogos em C#), além de permitir o gerenciamento de cada um dos servidores criados (acompanhamento do log do servidor, criação de novos jogos e encerramento do servidor).
As figuras abaixo mostram cópias de tela do Gerenciador de Servidores. A figura da esquerda apresenta a tela inicial, que contém uma lista dos servidores ativos e possui três opções: desligar servidor, iniciar novo servidor e ver detalhes do servidor. A figura da direita apresenta a cópia de tela do detalhamento de um servidor, no caso o servidor que está ouvindo a porta 50027 no endereço 127.0.0.1. Nesta tela há uma lista dos jogos ativos no servidor, bem como uma lista das mensagens enviadas e recebidas pelo servidor. O usuário pode criar um novo jogo ou apagar o jogo selecionado.

Manual: [pdf].
Código fonte (projeto Visual C#): [zip].

Aplicativo Multi-jogador

Este sistema interage com um servidor de jogos (implementado em Java, C# ou instanciado pelo Gerenciador de Servidores) para: criar uma nova instância de qualquer tipo de jogo disponível no servidor ou entrar em um jogo (na condição de jogador ou observador). Desenvolvido em Visual C#, é um sistema genérico para interagir com o servidor de jogos.
Existe duas modalidades diferentes para se jogar: usando ou não figuras. Paras os jogos pré-cadastrados (Damas, Deflexion, Jogo da Velha e Xadrez) há figuras para cada tipo de peça e imagens de fundo para os tabuleiros.
As figuras abaixo apresentam: (i) a tela inicial deste aplicativo (que contém a lista dos jogos disponíveis no servidor selecionado, bem como opções para se criar um novo jogo ou entrar em um jogo); (ii) a tela de um Jogo da Velha; (iii) a tela de um Jogo de Damas; (iv) a tela de um Jogo Deflexion; e (v) a tela de um Jogo de Xadrez.

Manual:
[pdf].
Código fonte (projeto Visual C#): [zip].

Aplicativo Jogo da Velha

Este sistema interage com um servidor de jogos (implementado em Java, C# ou instanciado pelo Gerenciador de Servidores) para: criar uma nova instância do Jogo da Velha ou entrar em um Jogo da Velha (na condição de jogador ou observador). Além disso, estando dentro de um Jogo da Velha na condição de jogador, o usuário poderá ativar um bot baseado em um sistema especialista para jogar em seu lugar. Desenvolvido em Visual C#.
As figuras abaixo apresentam (i) a tela inicial deste aplicativo (que permite ao usuário entrar num Jogo da Velha ou solicitar ao servidor a criação de um novo jogo); e (ii) duas telas mostrando o início de um jogo e o final de um jogo, no caso, jogado automaticamente por bots.

Manual:
[pdf].
Código fonte (projeto Visual C#): [zip].

Aplicativo Deflexion

Aplicativo Local para se jogar Deflexion. É uma ferramenta gráfica para jogar deflexion (se comunica com o servidor de jogos para criar um novo jogo e/ou se conectar a um jogo criado). O aplicativo está implementado em C++ e usa a biblioteca Glut e outras bibliotecas de rede específicas para Linux. Abaixo segue duas cópias de tela da interface do jogo. Por ser um programa específico para Deflexion, possui maior detalhamento gráfico (por exemplo, exibindo o disparo do laser e a reflexão do mesmo no espelho das peças).

Manual:
[pdf].
Código fonte (projeto Eclipse C++): [zip].


Ir para a página inicial do projeto.