5.1. Integração do Sistema de Macros com o Motor de Jogos Fly3D

Documentos relacionados
Módulo. de captura, filtragem e redirecionamento de mensagens DirectX. Giovani Chaves Orientador: Mauro Marcelo Mattos

Daniel Pereira prof. Dalton S. dos Reis

5 Resultados Experimentais

vértices dessas células. Exemplos de malhas estruturadas e não-estruturadas são apresentados na Figura 2.

Fundamentos de Processamento Gráfico. Aula 7. Realidade Virtual. Profa. Fátima Nunes. Material baseado em:

PEF 5743 Computação Gráfica Aplicada à Engenharia de Estruturas

Aplicação de Tags em Objetos de Sistemas de Visualização em Tempo Real

Um Sistema de Animação Baseado em Movimento Capturado

Curso online de Fundamentos em Android. Plano de Estudo

5 Protótipo e Resultados Obtidos

Um Middleware de Inteligência Artificial para Jogos Digitais 105

VisEdu-MAT: Visualizador de material educacional, módulo de matemática

MJ3I- PA - AMBIENTE VIRTUAL 3D PARA VISUALIZAÇÃO DE BRAÇOS ARTICULADOS NO IOS

Desde o surgimento dos primeiros jogos eletrônicos em meados dos anos 50, uma infinidade de aparatos eletrônicos foram desenvolvidos, principalmente

Avaliação de Monografias - MAC0499

1.5 PROGRAMAÇÃO DE JOGOS EM AMBIENTE DE REA LIDADE AUMENTADA AMBIENTES INTEGRADOS DE DESENVOLVIMENTO DE JOGOS 19

Sumário. Prefácio do Autor, Introdução histórica, Projeto, Projeto auxiliado por computador, 21

3.1 Linha de Produção Utilizada

Computadores podem ser úteis em problemas que envolvem: Grande número de dados. Grande número de cálculos. Complexidade. Precisão.

Ciências da Computação Disciplina:Computação Gráfica

Implementação de uma biblioteca gráfica multiplataforma utilizando OpenGL e GLFW.

Análise de Motores Gráficos 3D para Simulação de Fluídos

Introdução a Programação de Jogos

Enquadramento e Conceitos Fundamentais

Conceitos sobre Computadores

Introdução Geral a Computação Gráfica. Universidade Católica de Pelotas Curso de Engenharia da Computação Disciplina de Computação Gráfica

Processamento de áudio em tempo real utilizando dispositivos não convencionais:

Figura 29 - Simulação de dois fluidos imiscíveis utilizando a biblioteca de Nakamura (2007)

Introdução aos Sistemas Operacionais. Ricardo Ramos de Oliveira

Interatividade. Limitado Reativa Coativa. Alargado Coativa Proativa

Engenharia de Software.

6 Resultados Análise de Desempenho

GPU (Graphics Processing Unit) Bruno Padilha Gregory De Bonis Luciana Kayo

-Periféricos -Dispositivos de Entrada/Saída - Unidade de medida. Gustavo Catarino da Costa Wilson Coelho Neto Paulo Wesley Fogaça

Enquadramento e Conceitos Fundamentais

Manual de Instalação do NB-TV 220

Como as aplicações de entretenimento (em especial jogos digitais) têm enfrentado um constante crescimento, tanto em tamanho quanto em complexidade,

Curso Online de E-commerce. Plano de Estudo

Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Norte Lista de Exercícios para a Terceira Unidade.

Introdução aos Sistemas Operacionais

UNIVERSIDADE FEDERAL FLUMINENSE Pedro Martins Menezes. Um estudo dos estágios dos pipelines gráficos

5 Resultados. 5.1 Modelos usados nos testes

de petróleo. Um novo domínio chamado computação de propósito geral em processadores gráficos (GPGPU) surgiu quando os pipelines de gráficos de

INSTALAÇÃO. Nota: Ao instalar o produto, serão instalados automaticamente o jogo Rollercoaster Tycoon 3 e suas expansões SOAKED e WILD.

Versão 15.1 Outubro Contato: Atualização do pacote de otimização Xpress para versão 8.5

Figura 16 Niagara - Visão de grupos de notas.

Geração Procedural de Terrenos em GPU

Introdução à Informática. Aula 1

TAMANHO PERFEITO PARA SEU ESPAÇO

Tutorial sobre o uso da ferramenta de autoria A Ferramenta de Autoria - Célula

TerraLAB Laboratório para Modelagem e Simulação de Sistemas Terrestres Departamento de Computação - UFOP

Informática básica. Professor: Francisco Ary

Figura 36: Interface gráfica de testes.

Prof. Fernando V. Paulovich 3 de agosto de SCC Computação Gráca

Seequent Central 2.2 NOTAS DE LANÇAMENTO. Seequent Limited Snippet_312BDBF20.idms

INFORMÁTICA. Professor: Venicio Paulo Mourão Saldanha Site:

SISTEMA DE TREINAMENTO EM ROBÓTICA MODELO: ED-7255

Computaçã. Visão Geral. Sistema Gráfico. Computação Gráfica. Pixels. Sistema Gráfico e o Frame Buffer. Introdução à Computação Gráfica

Arquitetura de Computadores

Algoritmos e Lógica de Programação Componentes e Arquitetura

Bruno Pereira Evangelista. Pontifícia Universidade Católica de Minas Gerais

Arquitetura de Computadores (Placa Mãe)

Arquitetura e Organização de Computadores

Requisitos do Sistema

Aprendizagem utilizando Dispositivos Móveis com Sistemas de Realidade Virtual

Sistema de Aquisição de Dados em Tempo Real Utilizando Software Livre e Rede Ethernet para Laboratório de Controle

TUTORIAL DE INSTAÇÃO DO WINDOWS SERVER 2008 R2

iar 2.0: API o,mizada para aplicações de entretenimento em realidade aumentada na plataforma ios

3 Trabalhos Relacionados

Requisitos do Sistema

4 Processamento Paralelo

Desenvolvido por: Prof. Dr. Fernando Osório* Farlei Heinen* (Mestrando em Computação Aplicada - PIP/CA)

Revenda Autorizada (11)

BRAÇO ROBÓTICO ARTICULADO CONTROLADO POR ARDUÍNO PARA DEMONSTRAÇÃO DO EMPREGO DA ROBÓTICA NAS INDÚSTRIAS


DS-1100KI Teclado para uso em rede. Especificações técnicas

Lista de Exercícios sobre Conceitos de Informática. Exercício 1: Correspondência

Desenvolvimento de um Motor Gráfico de Apoio a Ambientes Lúdicos Educacionais

Arquitetura de computadores

Introdução à Engenharia ENG1000

Lista de Exercícios sobre Conceitos de Informática. Exercício 1: Correspondência

INF1339 Computação Gráfica Tridimensional. Waldemar Celes. 2 de Agosto de 2010

Tópicos Avançados em Sistemas Computacionais: Infraestrutura de Hardware Aula 02

Manual de Instalação Condomínio21 Operacional Corporate

Introdução ao LabVIEW para Robótica

SSC546 Avaliação de Sistemas Computacionais Parte 1 -Aula 3 Sarita Mazzini Bruschi

Inteligência Artificial Agentes Inteligentes

A autoria - I. A autoria - I. Ferramentas para desenvolvimento de multimídia. A autoria - I Wilson de Pádua Paula Filho.

Simulação de Dispositivos Dinamicos para Jogos

5 Resultados Resolução das Imagens e tamanhos das cenas

Manual de instalação Condomínio21 Operacional Standard

Figura 1 - Uma possível forma de acesso à informação compartilhada.

5 Comparação e Resultados

Organização e Arquitetura de Computadores

Computação Gráfica. Agostinho Brito. Departamento de Engenharia da Computação e Automação Universidade Federal do Rio Grande do Norte

Microsoft PowerPoint. A seguir podemos observar a janela do Microsoft PowerPoint. Observe: Slide

Manual de Instalação APS AUDATEXWEB

ESCOLA ESTADUAL IRMÃO AFONSO Oportunizar a Educação por meio do Respeito e da União

Transcrição:

5 Resultados 5.1. Integração do Sistema de Macros com o Motor de Jogos Fly3D O motor de jogos Fly3D é um conjunto de aplicações, bibliotecas e ferramentas construídas para proporcionar um ambiente robusto e intuitivo para o desenvolvimento de jogos eletrônicos. Atualmente em sua versão 3.0, o Fly3D é desenvolvido pela Paralelo Computação Ltda. (Paralelo, 2003). As bibliotecas que integram o motor Fly3D têm como objetivo fornecer o acesso a implementações otimizadas de classes e métodos comuns aos jogos eletrônicos. O desenvolvedor de jogos tem à sua disposição módulos que cuidam automaticamente de várias tarefas necessárias à execução de jogos, como renderização na tela, controle da simulação, processamento de entrada de dispositivos como teclado, mouse e joystick, geração de informações de depuração, entre outras. Figura 5.1 Arquitetura de bibliotecas do motor Fly3D.

A arquitetura das bibliotecas que compõem o Fly3D está mostrada na Figura 5.1. A seguir, são apresentadas descrições breves de cada um dos módulos componentes: flymath: biblioteca matemática, cuida das tarefas de cálculo necessárias aos jogos, como algoritmos geométricos, bem como dos métodos de manipulação de números reais em ponto flutuante; flyrender: biblioteca de renderização, encapsula o uso da API OpenGL e cuida do desenho na tela a cada quadro da simulação, compreendendo também todas as variáveis que regulam a exibição no dispositivo de saída, como tamanho e aspecto da janela, quantidade de cores, etc.; flydirectx: biblioteca de suporte à captura de dispositivos de entrada, reprodução de músicas e efeitos sonoros e conectividade para jogos multi-jogador, encapsula o uso da API DirectX da Microsoft para cuidar dessas tarefas, através dos módulos DirectInput, DirectSound e DirectPlay, respectivamente, fornecidos pela API; flyengine: biblioteca principal, cuida da simulação do jogo, carregando a cena desejada do disco para a memória, montando as estruturas de dados que representam os objetos, acionando o desenho de cada quadro através da biblioteca flyrender, coordenando a execução do código de atualização do estado do jogo de cada plug-in existente na simulação, processando e validando a cena de jogo atual. O motor Fly3D serve como componente básico ao desenvolvimento de jogos. O código específico do jogo é implementado através de plug-ins, que utilizam as classes e métodos fornecidos pelo motor através de ligação dinâmica em tempo de execução. Analogamente, a implementação de um sistema de suporte ao desenvolvimento de agentes inteligentes para jogos pode ser acoplada ao motor Fly3D. Uma nova biblioteca, FlyAI, está sendo desenvolvida, e será adicionada ao conjunto de bibliotecas do Fly3D. A biblioteca FlyAI é responsável por acionar o código que atualiza o estado dos agentes a cada quadro. A implementação dos agentes em si está contida em cada plug-in, pois depende do jogo a ser desenvolvido.

O Sistema Baseado em Macros apresentado no Capítulo 4 é integrado ao motor Fly3D da seguinte maneira: as macros que implementam a lógica do sistema são definidas em um arquivo pertencente à biblioteca flyai; essa biblioteca também é responsável pelo controle do fluxo de execução de cada plugin durante a atualização do estado antes do desenho de um quadro da simulação; as Máquinas de Estados que compõem os agentes são definidas nos plug-ins, pois dependem do jogo que será desenvolvido; é a biblioteca flyai quem aciona o método process de cada agente definido nos plug-ins. 5.2. Experimentos para Medição de Desempenho Jogos eletrônicos são aplicações de computação gráfica interativa em tempo real, e como tal necessitam de um número mínimo de quadros renderizados por segundo para que a animação e a interatividade sejam considerados satisfatórios. Akenine-Möller e Haines (2002) argumentam que uma taxa de 15 fps (do inglês frames per second, ou quadros por segundo) é o valor mínimo para que a animação em uma aplicação desse tipo seja considerada aceitável. Dessa forma, uma das maneiras de se mensurar o impacto da utilização de técnicas sofisticadas em aplicações como jogos eletrônicos é medir a taxa média de quadros por segundo obtida durante uma partida de jogo com um tempo de duração pré-determinado. Uma abordagem semelhante é utilizada na aquisição de resultados práticos em vários trabalhos que envolvem computação gráfica em tempo real, merecendo destaque a obra mais recente de Fonseca (2004). Os experimentos descritos a seguir foram realizados em um PC Intel Pentium IV 2.4GHz, com 512MB de memória RAM e placa de vídeo NVidia QuadroFX 2000. Primeiramente, foi medida a média de quadros por segundo de uma partida de 2 minutos na cena ship_sp1, que integra o pacote de demonstrações do Fly3D (Fly3D, 2003). Nessa primeira medição, o código referente à implementação de comportamento dos agentes inteligentes através do Sistema de Macros não foi incluído, para que fosse possível observar o desempenho original da aplicação. Em seguida, foram realizados experimentos que incluíram o código desenvolvido nesta obra. Em cada um deles, um tipo diferente de Máquina de

Máquinas de Estados Hierárquicas em Jogos Eletrônicos 46 Estados foi utilizado no controle de comportamento das naves-robôs inimigas, que batalham para destruir a nave do jogador. A Tabela 6.1 mostra os resultados das medições de média de quadros por segundo de cada experimento, bem como o desvio padrão com relação à média em cada caso. As Máquinas de Estados utilizadas foram: a Máquina de Estados Finitos da Figura 3.1 (FSM); uma Máquina de Estados Fuzzy correspondendo à versão fuzzy da Figura 3.1 (FuSM); a Máquina de Estados Finitos Hierárquica da Figura 3.2 (HFSM); e uma Máquina de Estados Fuzzy Hierárquica correspondendo à versão fuzzy da Figura 3.2 (HFuSM). Experimento Valor médio de Quadros por Segundo Desvio Padrão Original 99 fps 2 fps FSM 81 fps 3 fps FuSM 44 fps 9 fps HFSM 84 fps 5 fps HFuSM 45 fps 9 fps Tabela 6.1 Resultados dos experimentos na cena ship_sp1 do Fly3D. Os resultados da medição do desempenho original da aplicação mostram uma taxa relativamente alta de quadros por segundo; a utilização de Máquinas de Estados Finitos no controle de comportamento dos agentes diminuiu essa taxa em cerca de 20%, mas o valor ainda se manteve bem acima do mínimo aceitável. No caso das Máquinas de Estados Fuzzy, a queda de desempenho é bem maior, como se esperava, devido à multiplicidade de estados a serem considerados a cada momento. A utilização de Máquinas de Estados Hierárquicas promove uma pequena melhora no desempenho quando comparada com os casos nãohierárquicos correspondentes. O alto desvio padrão dos valores referentes às Máquinas de Estados Fuzzy demonstra que seu desempenho pode variar bastante durante a simulação, em virtude da oscilação no número de estados pertencentes ao conjunto estado corrente. Além disso, o uso de Máquinas de Estados Hierárquicas proporciona uma diminuição na quantidade de memória necessária para representar as Máquinas de Estados. Isso acontece porque o número de transições representadas é bem menor

Máquinas de Estados Hierárquicas em Jogos Eletrônicos 47 do que em uma Máquina de Estados não-hierárquica que implemente o mesmo comportamento. Nos experimentos apresentados, a diferença de quantidade de memória é pequena, porém tende a crescer conforme a complexidade das Máquinas de Estados utilizadas aumenta. As figuras a seguir mostram imagens das partidas realizadas na cena ship_sp1. As naves-robôs enfrentam a nave do jogador tentando destruí-la, mediante o comportamento representado e controlado pelas Máquinas de Estados citadas acima. Figura 6.1 A nave-robô azul busca uma melhor posição para atacar o jogador pelo lado. Figura 6.2 Nave-robô verde pronta para atacar.

Máquinas de Estados Hierárquicas em Jogos Eletrônicos 48 Figura 6.3 Nave-robô lança um míssil tele-guiado contra o jogador.