Projeto e Implementação de
Jogos Eletrônicos
Daniel Oliva Sales
20/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
Material e Métodos (cont.)
• Software:
– Dev C++
– Photoshop
– Guitar Pro 4
– Audacity
Desenvolvimento
• Design Bible
– Roteiro
• Guerra Medieval
– Game Design
– Gameplay
• Regras: peças, ataque e defesa, condições de fim de jogo
– Interfaces
Desenvolvimento (cont.)
• 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
Implementação
• Projeto Inicial
– Linguagem C++
– Main.cpp, ia.h, tabuleiro.h
– Jogo já possui as características finais préimplementadas
Implementação (cont.)
• 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.)
• 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???
Download

Projeto e Implementação de Jogos Eletrônicos