Proposta
Tema
Desenvolvimento de um jogo, para múltiplos jogadores, utilizando o ambiente para desenvolvimento e execução de jogos Panda3D.
Resumo
Motivados pela crescente importância e facilidade de acesso a redes, cada vez mais rápidas e disseminadas, optou-se por desenvolver um jogo distribuído.
O jogo será segmentado em dois níveis: um jogo de fundo e vários mini-games. No jogo de fundo cada jogador decide suas ações com base em um objetivo e em certos momentos esse jogo é interrompido, onde todos os jogadores iniciam um mini-game. Neste, o(s) jogador(es) vencedor(es) ganham benefícios em relação aos outros jogadores.
Sobre o Jogo
O jogo de fundo tem como cenário um labirinto. O objetivo é percorrer um caminho, em direção ao centro do cenário, que pode ser interrompido para a disputa de um mini-game. Cada jogador se move no labirinto continuamente e de forma independente dos outros jogadores e a única limitação no movimento é a quantidade de passos que possui.
Os mini-games tem temas específicos e sem relação com o jogo de fundo e com os demais mini-games. A consequência deles é dar vantagem aos vencedores (maior número de passos e pontos bônus) e possibilitar que diferentes aspectos do jogo de fundo possam ser modificados. O acúmulo de pontos bônus dá ao jogador o direito de escolher uma vantagem para o restante do jogo.
Mini-Games
A princípio serão implementados os seguintes mini-games:
Os jogadores terão de passar por um inimigo inteligente. A idéia é que o inimigo se mova em direção a um jogador com uma determinada característica. O último jogador sobrevivente será o vencedor. A implementação utilizará idéias de inteligência artificial e teoria dos grafos para mover o inimigo.
Em duplas, os jogadores deverão vencer uma corrida de obstáculos; a eficiência da dupla é baseada na sincronia de suas ações. A implementação utilizará técnicas de programação concorrente para controlar o sincronismo.
Os personagens tem que atingir um entre diversos alvos defendidos por um inimigo. Esse inimigo toma suas decisões a partir de um aprendizado sobre as escolhas anteriores do jogador. A implemetação utilizará conceitos de máquinas de estados, cadeias de Markov e inferência estatística para construir a inteligência do inimigo.
Objetivos
Desenvolver um jogo extensível;
Utilizar técnicas de engenharia de software para o planejamento do projeto;
Explorar variadas áreas da computação através dos mini-games.
Atividades Realizadas
Estudos, avaliação e seleção das ferramentas;
Início da adaptação com ambiente Panda3D;
Decisão da estrutura base do jogo;
Escolha do enredo;
Escolha dos primeiros mini-games.
Cronograma
Atividades | Abr | Mai | Jun | Jul | Ago | Set | Out | Nov |
---|---|---|---|---|---|---|---|---|
Estudos de ferramentas | x | x | ||||||
Preparação do ambiente | x | x | ||||||
Modelagem do sistema | x | x | ||||||
Modelagem física | x | x | x | |||||
Implementação do jogo base | x | x | ||||||
Implementação dos mini-games | x | x | x | x | ||||
Efeitos sonoros | x | x | x | x | ||||
Interface Gráfica | x | x | x | x | x | |||
Testes | x | x | x | x | ||||
Comunicação entre jogadores | x | x | x | |||||
Documentação do usuário | x | x | x | |||||
Documentação do desenvolvedor | x | x | x | |||||
Monografia | x | x | x | x | ||||
Pôster | x | |||||||
Apresentação | x |
Método de Trabalho
Primeiramente, será desenvolvido uma base do jogo de fundo e três mini-games (talvez com gráficos ainda simples) que representam a maior interação entre os jogadores. Nas iterações intermediárias do projeto, espera-se refinar aos poucos o jogo de fundo e expandir a qualidade dos mini-games.
O processo de desenvolvimento dos jogos será baseado em diferentes metodologias, como programação extrema. O objetivo é que todos participem de cada uma das partes do desenvolvimento de forma direta e ativa.
Estrutura
A estrutura da monografia será bastante semelhante ao modelo disponível.
Introdução descrevendo as motivaçõees, objetivos, idéias e contextualizaçãoo do projeto;
Apresentação dos conceitos e tecnologias aplicadas;
Apresentação do ambiente Panda3D;
Descrição do jogo (idéias e estrutura);
Descrição dos mini-games;
Descrição das atividades realizadas;
Resultados finais;
Conclusões.
Na parte objetiva:
Descrição dos desafios enfrentados;
Contribuição das disciplinas cursadas para a elaboração do projeto;
Discussão de pontos para aprimorar o projeto e como extender o jogo.
Na parte subjetiva:
Além destes tópicos, será entregue um manual do usuário contendo detalhes não técnicos sobre o jogo, tais como enredo, controles e objetivos e um manual do desenvolvedor, que descreverá como o jogo foi implementado, mostrando detalhes sobre modelagem, estrutura e algoritmos.