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 Game Design Gameplay Interfaces 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???