Upload
internet
View
108
Download
0
Embed Size (px)
Citation preview
Projeto e Implementação de Jogos Eletrônicos
Daniel Oliva Sales20/11/2008
Roteiro• Introdução• Objetivo• Motivação• Desenvolvimento de Jogos• Inteligência Artificial• Computação Gráfica• Material e Métodos• Desenvolvimento• Resultados e Conclusão• Trabalhos Futuros
Introdução
• O desenvolvimento de jogos é uma área de caráter multidisciplinar
• Aplicações em tempo real
• Área tem aumentado sua importância
Objetivo
• Aplicar a metodologia de desenvolvimento de jogos proposta na literatura na construção de um jogo para sistema embarcado e observar os resultados
Motivação
• Interesse pessoal no desenvolvimento em um sistema embarcado
• Desafio: Busca por adaptação e otimização do código
Desenvolvimento de Jogos
• Processo de Elaboração de um Jogo:– Confecção do Design Bible– Produção de Áudio e Imagens 2D– Modelagem 3D– Desenvolvimento dos artefatos computacionais– Integração dos aspectos artísticos e computacionais
Inteligência Artificial
• Algoritmo Minimax
Computação Gráfica• Computação Gráfica– OpenGL: conjunto de rotinas– Câmera Sintética
– Projeções
Computação Gráfica (cont.)
– Translação, Rotação e Escala
– Transformações Hierárquicas– Realismo (Iluminação, Reflexão, Textura e
Animação)
Material e Métodos
• Console Sony Playstation Portable
• PSPDev + PSPDevLibInstall– Compilador GCC– Conjunto de Bibliotecas Utilizadas
• Software:– Dev C++– Photoshop– Guitar Pro 4– Audacity
Material e Métodos (cont.)
Desenvolvimento• Design Bible– Roteiro
• Guerra Medieval
– Game Design
– Gameplay• Regras: peças, ataque e defesa, condições de fim de jogo
– Interfaces
• Produção de Áudio e Imagens 2D– Inclusão de sons e músicas
– Inclusão de imagens usadas como texturas, cursores, menus, etc.• Formato .TGA -> mapeamento de cores em RGBA
Desenvolvimento (cont.)
• Modelagem 3D no PSP– Especificação dos vértices
Desenvolvimento (cont.)
• Modelagem 3D – Mapeamento de Texturas– Coordenadas de Aplicação da Textura
– Cálculo da cor final do fragmento• MODULATE: CF = Cf * Ct
Desenvolvimento (cont.)
Implementação
• Projeto Inicial– Linguagem C++– Main.cpp, ia.h, tabuleiro.h– Jogo já possui as características finais pré-
implementadas
• Inteligência Artificial no PSP– Limitações do hardware: 64Mb de RAM,
processador MIPS R4000 de 333Mhz– Poda alfa-beta– Condição de Parada– Heurística de utilidade– Chance de jogada randômica
Implementação (cont.)
Implementação (cont.)
• Heurística de Utilidade Otimizada
Implementação (cont.)
• Computação Gráfica no PSP– Unidade de Processamento Gráfico: 33 milhões de
polígonos por segundo, 2MB VRAM onboard
– Biblioteca PSPGU: funcionamento semelhante à OpenGL, porém sem a GLUT
Implementação (cont.)
• Computação Gráfica (cont.)– Função Desenha
Implementação (cont.)
• Função Main
Resultados e Conclusão
• A metodologia adotada permitiu a implementação do jogo como previsto
• Obteve-se como resultados observados tanto o jogo como o próprio trabalho
• Principal contribuição: referência para desenvolvimento de novos jogos, de qualquer gênero
Resultados e Conclusão (cont.)
• O projetista deve conhecer todas as áreas envolvidas
• As interfaces das classes devem ser muito bem definidas no projeto
• A demanda por tempo e equipe é proporcional à complexidade do projeto
• Todos os envolvidos devem conhecer as limitações do hardware
Resultados e Conclusão (cont.)
• Conclui-se que a adoção de uma metodologia adequada é fundamental para o sucesso de um projeto
Trabalhos Futuros
• Modo multiplayer utilizando a rede wireless 802.11
• Uso de Redes Neurais como solução para a IA• Inclusão de novos cenários e modos de jogo• Modelos 3D mais complexos• Save/Load
Dúvidas???