BIBLIOTECA PARA CRIAÇÃO DE JOGOS UTILIZANDO GERAÇÃO ...

187
BIBLIOTECA PARA CRIAÇÃO DE JOGOS UTILIZANDO GERAÇÃO PSEUDO-RANDÔMICA PARAMÉTRICA, REALIDADE VIRTUAL, INTELIGÊNCIA ARTIFICIAL E REDES DE COMPUTADORES

Transcript of BIBLIOTECA PARA CRIAÇÃO DE JOGOS UTILIZANDO GERAÇÃO ...

  • BIBLIOTECA PARA CRIAO DE JOGOS UTILIZANDO GERAO PSEUDO-RANDMICA

    PARAMTRICA, REALIDADE VIRTUAL, INTELIGNCIA ARTIFICIAL E REDES DE

    COMPUTADORES

  • Universidade Federal de Santa Catarina Programa de Ps-Graduao em

    Engenharia de Produo

    BIBLIOTECA PARA CRIAO DE JOGOS UTILIZANDO GERAO PSEUDO- RANDMICA PARAMTRICA, REALIDADE VIRTUAL, INTELIGNCIA ARTIFICIAL E REDES DE COMPUTADORES

    Csar Ramirez Kejelin Stradiotto

    Dissertao apresentada ao Programa de Ps-Graduao em

    Engenharia de Produo da Universidade Federal de Santa Catarina

    como requisito parcial para obteno do ttulo de Mestre em

    Engenharia de Produo

    Florianpolis

    2002

  • Csar Ramirez Kejelin Stradiotto

    BIBLIOTECA PARA CRIAO DE JOGOS UTILIZANDO GERAO PSEUDO-RANDMICA

    PARAMTRICA, REALIDADE VIRTUAL, INTELIGNCIA ARTIFICIAL E REDES DE

    COMPUTADORES

    Esta dissertao foi julgada e aprovada para a obteno do ttulo de Mestre em Engenharia de Produo no Programa de Ps-

    Graduao em Engenharia de Produo da Universidade Federalde Santa Catarina

    Florianpolis, 25 de junho de 2002.

    Prof. Edson Pacheco Paladini, Dr. Coordenador do Curso

    BANCA EXAMINADORA

    Prof. Rogrio, Orientador

    Prof. Luiz Fernando Jacintho Maia, Dr.

    Al i01 Qjfl/TT'tsm n,Profa. Rosane'^^^oo Seleme Heinzen, Msc.

  • Aos meus pais, Ndia e Alonso, que sempre apoiaram meus estudos,

    e vo estar no meu corao para o resto da minha vida

  • IV

    Agradecimentos

    Universidade Federal de Santa Catarina, ao meu orientador Prof. Dr. Rogrio Cid Bastos

    aos professores do Curso de Ps-Graduao e aos colegas do Laboratrio de Realidade Virtual,

    que me ajudaram, sugeriram e incentivaram

  • V

    Sumrio

    Lista de Figuras ixLista de Equaes xiiLista de Tabelas xiiiLista de Redues xivResumo XVAbstract xvi

    1 INTRODUO 11.1 Origem do Trabalho 11.2 Importncia 1 Justificativa 21.3 Objetivos Geral e Especfico do Trabalho 91.4 Modelo Terico do Trabalho 101.5 Estrutura 11

    2 JOGOS 132.1 Definies 132.2 Histrico dos Jogos 14

    2.2.1 Origem de Alguns Jogos 142.2.2 Arcades 152.2.3 Videogames 182.2.4 Jogos de Computadores 19

    2.3 Sistema Atual de Produo e Consumo de Jogos para 24Computadores Pessoais2.3.1 Uso da Internet para Consumo de Jogos 242.3.2 Bibliotecas de Criao de Jogos 242.3.3 Emuladores para Jogos 25

    3 CONSIDERAES E TECNOLOGIAS ABORDADAS NESTA 26DISSERTAO

    3.1 Motivos 263.2 Modelagem de Projetos Orientada a Objetos 293.3 Conceitos de Realidade Virtual: Imaginao, Interao e 30

    Imerso3.4 Vida Artificial 323.5 Algoritmos Genticos 353.6 P ath finde r (Procura por Trajetrias) 363.7 Previso de Trajetrias com Minerao de Dados 383.8 Redes Neurais Artificiais (RNA) 393.9 VRML 403.10 Redes de Computadores 41

    3.10.1 Conceitos de Redes de Computadores 413.10.2Conceito de Protocolo 423.10.3TCP/IP 423.10.4UDP 42

  • vi

    3.10.5Comparao entre Arquiteturas de Redes e Protocolos de 43 Comunicao

    3.11 Deteco de Coliso 443.12 Gerao Pseudo-Randmica Paramtrica de Ambientes 45

    Virtuais3.13 Reconhecimento de Palavras e Sistema de Dilogos tipo 48

    Questo-Resposta para Interao Falada com Bots3.14 Navegao em Ambientes Virtuais 503.15 Hardware para Interface Homem-Mquina 52

    4 APLICAO E ANLISE 544.1 Observaes e Consideraes 544.2 Discusso 554.3 Tema e Modelo do Jogo 564.4 Componentes Principais do Jogo 574.5 Utilizao das Tecnologias Apresentadas para a Criao do 59

    Prottipo4.5.1 Escolha das Ferramentas de Trabalho 614.5.2 Utilizao de Programao Orientada a Objetos 624.5.3 Vida Artificial 634.5.4 Pathfinder 634.5.5 Previso de Trajetrias com Minerao de Dados 644.5.6 Sistema de Dilogo tipo Questo-Resposta utilizando 66

    Reconhecimento de Palavras Isoladas com ajuda de RNA4.5.6.1 Dilogos Parametrizados 664.5.6.2 Reconhecimento de Fala 68

    4.5.6.2.1 Captura de Sinais via Microfone 694.5.6.2.2 Pr-Processamento da Fala 694.5.6.2.3 Gerao dos Dados de Sada com Uso de RNA 71

    tipo Multi-Layer Perceptron e Learning Vector Quantization

    4.5.6.2.4 Treinamento, Teste de uma Rede Neural MLP e 71Converso dos Vetores de Sada em Palavras Pr-Armazenadas

    4.5.7 Transferncia de Dados via Redes de Computadores 724.5.7.1 Transferncia de Dados Estticos 734.5.7.2 Transferncia de Dados Dinmicos 75

    4.5.8 Gerao Pseudo-Randmica Paramtrica de Ambientes 76 Virtuais4.5.8.1 Modelos de Objetos 764.5.8.2 Modelos de Terreno 77

    4.5.8.2.1 Modelo Genrico e o Muro 774.5.8.2.2 O Plat 784.5.8.2.3 Posicionamento e Orientao Geomtrica de 82

    Objetos Baseados na Topologia do Terreno4.5.8.2.4 Gerao Pseudo-Randmica de Paredes 85

  • vii

    4.5.8.2.5 Gerao Pseudo-Randmica da Pista de Corrida 864.5.8.2.6 Gerao Pseudo-Randmica de Rios 86

    4.5.9 Uso de Texturas 874.5.9.1 Criao de Texturas Usando Hardware e Software 88

    Especficos4.5.9.2 Detalhe da Textura versus Quantidade de Memria 89

    Usada4.5.9.3 Textura Usada no Terreno 90

    4.5.10Deteco de Coliso Feita por Mapas Raster 904.5.11 Reproduo de Ambiente Gerado em VRML 92 4.5.12Aplicao de Modelos de Navegao em Ambientes Virtuais 92

    com Hardware Perifrico para Interface Homem-MquinaLocomoo do Usurio: Modelos Fsicos Discretizados 92

    4.5.12.1 Modelo Fsico Discretizado do Movimento Retilneo 93 Uniformemente Acelerado

    4.5.12.2 O Modelo do Movimento No-Retilneo e No- 94 Uniforme

    4.5.12.3 O Modelo da Velocidade No Uniforme 954.5.12.4 O Modelo da Curva do Veculo no Plano de 98

    Coordenadas Polares4.5.12.5 Incluso de Fenmenos Fsicos 99

    4.5.12.6 Modelos Matemticos de Navegao com Hardware 100 de Realidade Virtual: Algoritmos

    4.5.13 Simulao de Fenmenos Climticos 1054.6 Limitaes 1074.7 Implementao e Anlise 111

    5 RESULTADOS OBTIDOS 1155.1 Sobre as Placas Aceleradoras, Biblioteca OpenGL 1155.2 Quanto s Texturas 115

    5.2.1 Pixelagem 1165.2.2 Desuniformidade de Texturas Repetitivas 1165.2.3 Desalinhamento de Extremos 117

    5.3 Sobre os Protocolos de Comunicao de Redes 1185.4 Quanto Ergonomia 1185.5 Quanto ao Posicionamento de Objetos 1205.6 Quanto ao Algoritmo de Reconhecimento de Fala 1205.7 Quanto aos Agentes Inteligentes 1205.8 Quanto ao Movimento de Avatares e Sofs 1215.9 Tabela Comparativa 122

    6 CONCLUSO 123

    7 SUGESTES DE ALTERAO NO PROTTIPO 124

  • viii

    8 UTILIDADE DAS TECNOLOGIAS PESQUISADAS 1268.1 Uso das Tecnologias de Realidade Virtual 127

    8.1.1 Hardware 1278.1.2 Simulao e Treinamento 1328.1.3 Entretenimento e Jogos 1338.1.4 VRML 133

    8.2 Uso das Tecnologias de Inteligncia Artificial 1348.2.1 Sries Temporais 1348.2.2 Redes Neurais Artificiais 1348.2.3 Pathfinder 1368.2.4 Sistemas de Dilogos com Reconhecimento de Fala 1378.2.5 Algoritmos Genticos 1388.2.6 Vida Artificial 139

    9 UTILIDADE DO TRABALHO 141

    10 PESQUISAS FUTURAS 142

  • ix

    Fig. 1: Tela do osciloscpio do jogo criado por Willy Higinbothan como 15 o precursor do Pong.Fig. 2: Controle criado por Willy Higinbothan para o precursor do Pong 15Fig. 3: O primeiro videogame, Odissey, da empresa Magnavox, com 18 mscaras para a tela da televiso. (Impresso com permisso de [HART -4 1 ]) .Fig. 4: Primeiro jogo para computadores pessoais (1980) combinando 21 grficos e palavras.Fig. 5: Tela do jogo Escape From The MindMaster, para o modelo Atari 23 2600.Fig. 6: Exemplo de grafting dos cdigos gentico do pai e da me para 33 formar o cdigo do filho.Fig. 7: Duas criaturas lutando por um mesmo objeto. 34Fig. 8: Criatura nadando. 34Fig. 9: Exemplo do jogo de estratgias DUNEII com pathfinder. 37Fig. 10: Fluxo de informaes e comportamento do grupo de agentes 38 inteligentes para pathfinderFig. 11: Avatar visto em VRML. 40Fig. 12: Apresentao do mundo, visto em terceira pessoa. 57Fig. 13: Componentes principais do jogo. 58Fig. 14: Componentes do elemento criador. 58Fig. 15: Componentes de rede. 58Fig. 16: Componentes do elemento navegador. 59Fig. 17: Componentes do elemento agente. 59Fig. 18: Modelo de veculo visto no jogo. 60Fig. 19: Tela principal do software de treinamento de rede neural multi- 60 camadas para reconhecimento de palavras faladas.Fig. 20: Tela para visualizao dos valores dos pesos da rede durante 61o treinamento.Fig. 21: Figura de programa que simula o comportamento de uma 63 manada de bovinos.Fig. 22: Exemplo simples de tcnica de pathfinding. 63Fig. 23: Exemplo grfico de deteco de trajetrias similares. 65Fig. 24: Exemplo de bot humanide dentro do jogo. 66Fig. 25: Diagrama esquemtico do sistema de dilogos 67 parametrizados.Fig. 26: Sinal de voz original para a palavra Sim. .70Fig. 27: O mesmo sinal pr-processado com os cantos cortados. 70Fig. 28: Sinal normalizado nos dois eixos. 70

    Lista de Figuras

  • X

    Fig. 29: Exemplos de objetos com diferentes valores de parmetros. 76Fig. 30: Exemplos de parmetros geomtricos para um objeto. 77Fig. 31: Superfcie representativa do terreno gerado. 78Fig. 32: Funo sigmoidal para o plat. 79Fig. 33: Funo sigmoidal deslocada para dar a extenso do plano do 80 plat.Fig. 34: Representao das coordenadas do tringulo navegado. 82Fig. 35: Gerao das alturas correspondentes do tringulo 83 representante do avatar.Fig. 36: Clculo do vetor frontal Vg do avatar e do ngulo 0 de giro. 84Fig. 37: Incio do processo de gerao de paredes. 85Fig. 38: Vista superior da parede aleatria aps o pr-processamento. 85Fig. 39: Tela principal do programa servidor criador, com a pista 86 desenhada.Fig. 40: Exemplo de textura otimizada. 89Fig. 41: Efeito final da textura otimizada. 89Fig. 42: Textura otimizada para um bot do jogo. 90Fig. 43: Mapa tridimensional do mundo criado, visto em VRML. 92Fig. 44: Posio e direo do veculo descrito atravs de trs 98 coordenadas.Fig. 45: Sedan visto por um segundo usurio conectado por rede, com 106 chuva.Fig. 46: Caminho dentro do mesmo mundo pseudo-aleatrio gerado, 106 com chuva.Fig. 47: Fluxograma do detalhamento de questes aps o 109 reconhecimento de fala.Fig. 48: Tela principal do programa servidor criador, com a pista 111 desenhada.Fig. 49: Tela do programa cliente. 111Fig. 50: Representao dos objetos fixos no mapa raster atravs de 112 pontos.Fig. 51: Gerao de pontos em volta de um centro principal. 113Fig. 52: Discretizao dos pontos gerados. 113Fig. 53: Eliminao dos pontos redundantes. 113Fig. 54: Eliminao de pontos chatos. 113 Fig. 55: Eliminao de pontos cruzados. 113 Fig. 56: Eliminao de pontos em ciclo. 113 Fig. 57: Eliminao dos pontos consecutivos remanescentes. 114 Fig. 58: Visualizao 3D da parede gerada. 114

  • Fig. 59: Exemplo de textura pixelada devido proximidade com o objeto.

    116

    Fig. 60: Textura de hexgonos desuniforme: Notar a formao de pequenos losangos.

    117

    Fig. 61: Textura de tijolos uniforme. 117Fig. 62: Textura usada para recobrir um objeto 117Fig. 63: Detalhe da linha indesejvel (ver seta) devida ao desalinhamento dos extremos da textura.

    117

    Fig. 64: Um modelo de um HMD. 127Fig. 65: Um modelo de luva digital. 127Fig. 66: Um modelo de culos com estereoscopia. 128Fig. 67: Um modelo de joystick. 129Fig. 68: Um modelo de cyberpuck. 129

    Fig. 69: Modelo de volantes e pedais. 130

    Fig. 70: Modelo de microfone e auto-falantes integrados. 130Fig. 71: Aura Interactor. 131

  • Lista de Equaes

    1 - Funo Sigmoidal 782 - Primeiro Limite Simtrico da Funo Sigmoidal 803 - Funo Deslocada de c 804 - Funo com Parmetro Dividido e Multiplicado por d 805,6 e 7 - Equao para o Plat a Partir de Seus Parmetros 818 - Equaes dos Pontos para o Clculo da Inclinao do Plano de um 83 Avatar9 - Vetor Nf Normal ao Plano do Avatar 8310 - Vetor Vg Frontal para o Segundo Giro do Avatar 8411 - ngulo de Giro 0 do Avatar, em Relao ao Vetor Frontal Vg 84 12, 1 3 e 1 4 - Sistema de Equaes de Somatrias para o Desenho dos 87 Rios15 - Equao Genrica para o Movimento No-Retilneo e No- 94 Uniforme no Espao (MNRNU)16 e 17 - Equao do MNRNU Discretizada 9418 - Posio no Espao aps Vrios Perodos de Tempo e Vrias 94 Velocidades19 - Clculo Seqencial da Posio no Espao com Velocidade 95Varivel20 - Equao Genrica da Velocidade no Espao 9621 - Acelerao Resultante de Vrias Causas 9622 - Equao Discretizada da Velocidade no Espao 9623 - Equao Discretizada e Expandida da Velocidade no Espao 9724 - Clculo Seqencial da Equao Discretizada da Velocidade 9725 - Forma Discretizada da Acelerao Resultante de Vrias Causas 9726 - Equao Discretizada da Velocidade em Funo da Acelerao e 97 do Tempo27 - Equao Discretizada da Posio em Funo da Velocidade e do 97 Tempo28 - Equao do Incremento de Posio no Plano em Funo do 99 ngulo de Giro 029 - Equao da Variao da Posio no Plano em Funo do ngulo 99 de Giro 0

  • xii i

    Lista de Tabelas

    Tabela 1: Respostas dependentes da personalidade. 68Tabela 2: Comparao de Hardware e Algoritmos correspondentes. 101Tabela 3: Sumrio do Uso das Tecnologias Estudadas. 122

  • xiv

    2D - Bidimensional 3D - Tridimensional 31 - Imerso, Interao, Imaginao A* - A-EstrelaADN - cido Desoxirribonuclico AGP - Accelerated Graphics PortAPI - Application Program Interface - Interface de Programao de Aplicaes AVC - Ambientes Virtuais Compartilhados BFS - Best-First SearchCAD - Computer Aided Design - Projeto Auxiliado por Computador def. vert. - Deflexo Vertical DOS - Disk Operation SystemHMD - Head Mounted Display - Mostrador Montado na CabeaIA - Inteligncia ArtificialIBM - International Business MachinesIC-CA VE - International Centre for Computer Games and Virtual Entertainmentinc. pulso - Inclinao do Pulsoinc. vert. - Inclinao VerticalLAN - Local Area Network - Rede de rea LocalLVQ - Learning Vector QuantizationM L P - Multi-Layer PerceptronNVE - Networked Virtual EnvironmentRAM - Random Access Memory - Memria de Acesso Aleatrio RFC - Request For Comments - Requisio de Comentrios RNA - Redes Neurais ArtificiaisROM - Read Only Memory - Memria Somente para Leitura RV - Realidade VirtualTCP/IP - Transmission Control Protocol / Internet Protocol - Protocolo de Controle de Transmisso / Protocolo de InternetU D P - User Datagram Protocol - Protocolo de Datagrama de Usurio VRML - Virtual Reality Markup Language

    Lista de Redues

  • X V

    ResumoAtualmente os jogos digitais (videogames) envolvem uma fatia considervel de

    mercado, sendo um negcio de bilhes de dlares (BUSHNELL apud RADINSKY, 1997 www.sjmercury.com/revolutionaries/bushnell.htm, junho 2001).

    Navegando a rede mundial de computadores, pode-se observar a enorme quantidade de jogos disponveis, para demonstrao e potencial compra pelos usurios cibernticos. Tais demonstraes so tanto para computadores pessoais como emuladores de sistemas proprietrios de videogames.

    A demanda crescente, junto com o avano da tecnologia e a concorrncia por uma fatia deste mercado, foram os produtores de jogos a fornecerem produtos e servios inovadores aos seus clientes, que podero interagir cada vez mais profundamente com os ambientes virtuais dos jogos digitais, e tambm com outros clientes, espalhados ao redor do mundo.

    Sistemas de jogos e perifricos que permitem a interao mais natural com o ser humano, que do a possibilidade de o usurio interagir com os personagens virtuais atravs da fala e gestos do corpo, e deixam interagir com outros usurios em outros locais do planeta, ou ainda jogos que so capazes de simular situaes e comportamentos parecidos com os personagens da vida real, e produzam ambientes to imprevisveis quanto a prpria natureza, fazem com que o usurio cada vez mais se convena de que est imerso neste novo mundo virtual.

    O trabalho a seguir apresenta uma pesquisa feita sobre jogos de computadores, cujo resultado final foi a criao de uma biblioteca de funes para criao de jogos digitais. Tal biblioteca capaz de conduzir a mquina na gerao, atravs de nmero randmicos, de mundos imprevisveis e situaes de clima, assim como so no mundo real.

    A biblioteca criada capaz de permitir a interao de um usurio com a mquina atravs de vrias interfaces, fazendo com que a comunicao entre usurio e computador seja mais humana. Ela ainda possibilita a interao entre vrios usurios atravs de uma rede local de computadores.

    Finalmente, esta biblioteca possui algoritmos que gerenciam o comportamento de agentes inteligentes, para que tambm interajam entre si e com os vrios usurios do sistema.

    Palavras-Chave: Jogos Digitais, Gerao Randmica de Ambientes, Agentes Inteligentes, Ambientes Virtuais Compartilhados, Interao.

    http://www.sjmercury.com/revolutionaries/bushnell.htm

  • xvi

    AbstractAt present videogames take a considerable piece of market,

    being a multi-billion dollar business (BUSHNELL apud RADINSKY , 1997 www.sjmercury.com/revolutionaries/bushnell.htm, June 2001).

    By navigating through the world wide web, a great number of videogame titles can be seen for demonstration and for sale by cybernetic users. Such demonstrations are for both personal computers and proprietary systems of videogames.

    The growing demand, with the technological advance and the competition for this market, forces the game producers to give innovative products and services to their clients. Thus, clients will interact more and more deeply with virtual environments from digital games, and with other clients all over the world.

    Game systems and peripherals which allow more natural interactions with humans, enable interactions with virtual characters through body gestures and speech. Moreover, they enable interaction with other players in several places throughout the planet. Also, games that simulate situations or behavior similar to the real ones, and to produce environments as unpredictable as its own nature. As a result, the user feels more and more convinced that he/she is in this new virtual world.

    The presented work shows a research about personal computer games, and its final result was the creation of a library of functions for the creation of digital games with virtual worlds. Such library is able to conduct the machine in the generation, through random numbers, of unpredictable worlds and weather situations similar to the real world.

    The given library is still capable to allow the interaction between user and machine through many interfaces, making the communication between computer and user more human-like. It enables many users to interact each other through a local network.

    Finally, this library has algorithms which manages the intelligent agents behavior, for interaction between themselves and many users of the system.

    Key-Words: Digital Games, Random Generated Environments, Intelligent Agents, Networked Virtual Environments (NVEs), Interaction.

    http://www.sjmercury.com/revolutionaries/bushnell.htm

  • 1 - INTRODUO

    1.1 Origem do Trabalho

    Quando se olham jogos de ao em computadores, nota-se na maioria dos

    casos uma deficincia: toda vez que o usurio inicia um jogo, no mesmo nvel de

    dificuldade, o jogo est sempre com seus mesmos personagens, mesmos

    cenrios, portas ocultas no mesmo lugar, armadilhas no mesmo lugar. Todo um

    ambiente esttico feito, sem a possibilidade de criar uma nova situao para o

    jogador ou jogadores.

    Como conseqncia, os usurios decoram as principais posies do jogo, onde

    existem os principais objetos e portas secretas, e assim, sua execuo se torna

    obsoleta e sem graa.

    O estudo de tecnologias disponveis de Hardware e Software, Inteligncia

    Artificial, Realidade Virtual e Redes de Computadores deram origem ao presente

    trabalho.

    Estes estudos serviram para a implementao de uma biblioteca, capaz de

    gerar ambientes tridimensionais pseudo-randmicos.

    Tal biblioteca tambm serve para implementar elementos inteligentes que

    pudessem manter uma comunicao e interao com o usurio, e gerar desafios

    diferentes a cada jogo iniciado.

    Junto a estas caractersticas, adicionou-se biblioteca a capacidade de ser

    programada para permitir a comunicao entre vrios computadores, para que

    vrios usurios pudessem interagir de forma cooperativa ou concorrente.

  • Por ltimo, uma pesquisa de campo foi feita em dois fliperamas da cidade de

    Florianpolis, com 80 (oitenta) indivduos, revelando que mais de um tero destes

    tinham preferncia por jogos de corrida de veculos. Esta observao serviu de

    estimulo para a criao de um prottipo de um jogo de corrida de veculos que

    funcionasse em redes de computadores.

    1.2 Importncia / Justificativa

    Jogos e diverso fazem parte do crescimento humano, (PIAGET, 1988):

    a criana que joga desenvolve a percepo, inteligncia, sua tendncia experimentao

    e seus instintos sociais. Os jogos computadorizados apenas substituem os jogos coletivos ou

    individuais de antigamente, a grande desvantagem que normalmente se joga sozinho,

    mesmo que se tenha adversrios on-line, incentivando o individualismo e a solido.

    Para (ANTUNES, 1998), os jogos servem de iniciao vida, e para o acmulo

    natural de novas experincias. Estas experincias so procuradas naturalmente

    devido ao processo de crescimento do ser humano:

    "... alguns dos mais destacados pensadores de nosso tempo demonstraram vivo interesse

    pela questo ldica e pelo lugar dos jogos e das metforas no fenmeno humano e na

    concepo de mundo: hoje a maioria dos filsofos, socilogos, etlogos e antroplogos

    concordam em compreender o jogo como uma atividade que contm em si mesma o objetivo

    de decifrar os enigmas da vida e de construir um momento de entusiasmo e alegria na aridez

    da caminhada humana. Assim, brincar significa extrair da vida nenhuma outra finalidade que

    no seja ela mesma. Em sntese, o jogo o melhor caminho de iniciao ao prazer esttico,

    descoberta da individualidade e meditao individual.

    O que leva uma criana a brincar?

    Toda criana vive agitada e em intenso processo de desenvolvimento corporal e mental.

    Nesse desenvolvimento se expressa a prpria natureza da evoluo e esta exige a cada

  • instante uma nova funo e a explorao de nova habilidade. Essas funes e essas novas

    habilidades, ao entrarem em ao, impelem a criana a buscar um tipo de atividade que lhe

    permita manifestar-se de forma mais completa. A imprescindvel linguagem dessa atividade

    o brincar, o jogar. Portanto, a brincadeira infantil est muito mais relacionada a estmulos

    internos que a contingncias exteriores. A criana no atrada por algum jogo por foras

    externas inerentes ao jogo e sim por uma fora interna, pela chama acesa de sua evoluo.

    por essa chama que busca no meio exterior os jogos que lhe permitem satisfazer a

    necessidade imperiosa posta por seu crescimento.

    Do ponto de vista acadmico-cientfico, o estudo de tcnicas em jogos

    computadorizados fornece fontes de pesquisa em reas diversas, tais como

    Realidade Virtual, Inteligncia Artificial e Redes de Computadores.

    O estudo de tcnicas de programao de algoritmos utilizando Realidade

    Virtual tem grande destaque no desenvolvimento de jogos virtuais e simuladores.

    (HUONG et al., 1998) afirma que, em mundos virtuais, quanto maior o nvel de

    detalhe, maior o senso de presena:

    Em anos recentes, pesquisadores tm investigado primeiramente os parmetros de

    visualizao sobre a sensao de presena do indivduo em mundos virtuais. Alguns destes

    parmetros so: o nvel de detalhe visual (textura e nmero de polgonos), campo de viso,

    viso estereoscpica versus bitica, uso de sensores de rotao na cabea ou no, e taxa de

    amostragem no vdeo (framerate). Em geral, os pesquisadores descobriram que quanto maior

    o nvel de realismo visual, maior a sensao de presena (BARFIELD, 1995 e HENDRIX,

    1996)

    E coloca tona o dilema detalhe visual versus sensao de presena (HUONG

    et a i 1998):

    Quanto mais os projetistas aumentam o nvei de detalhe visual, mais lenta se torna a resposta

    do sistema, reduzindo a sensao de presena do usurio no mundo virtual.

  • Ainda em (HUONG et a i, 1998), faz-se meno de vrios trabalhos feitos sobre

    o estmulo das sensaes atravs da audio, olfato, paladar e tato, com a

    inteno de aumentar o realismo em mundos virtuais, e tambm sobre a

    necessidade destes trabalhos para aumentar o realismo em algumas aplicaes

    ou simulaes em Realidade Virtual.

    Dado que existe uma necessidade de estmulo de vrias sensaes para

    aumentar o realismo de mundos virtuais, conclui-se da que h a necessidade pela

    programao de algoritmos que permitam mquina fazer o processamento dos

    dados provenientes de sensores do corpo humano, e transmitir as informaes de

    volta a esse mesmo corpo, estimulando suas sensaes.

    LUBAN (2001), afirma em seu artigo que a indstria de jogos est muito

    prxima de recriar a experincia de assistir a um jogo como se assiste a um filme,

    e prxima de oferecer alguns recursos para produo de jogos que sejam os

    mesmos usados na produo de filmes.

    LUBAN (2001) recomenda alguns itens de projeto para uma boa apresentao,

    imerso e credibilidade sobre o ambiente no desenrolar do jogo.

    Entre estes itens destacam-se o som, o comportamento dos personagens, as

    aparncias do jogo, a origem randmica e os movimentos independentes da

    natureza, e recursos simulando a vida dentro dela.

    Quanto ao som, o autor aponta a funo deste como sendo a de um poderoso

    descritor de situaes, e sobre futuras pesquisas que se basearo em suas

    propriedades:

    ... Certamente, a edio (de jogos) envolve no somente a imagem como tambm a

    dimenso do som. Nunca subestime o verdadeiro poder descritivo do som. O som um dos

  • aspectos dentro do projeto de jogos que ir basear os mais srios desenvolvimentos nos

    prximos anos...

    ... Pense no som primeiro. Antes de vermos um local, ns o percebemos atravs do som. Em

    um jogo, o som colocado - com freqncia - como um ingrediente adicionado, mesmo

    sendo aquele que d mais gosto ao jogo. Quando um personagem atravessa uma estrada

    comprida, por exemplo, o jogador no pode escutar o mesmo som sempre. a natureza

    aleatria do som que permite um universo mais vivo.

    Quanto ao comportamento dos personagens, o autor leva em conta o realismo

    e a consistncia de seu comportamento com o ambiente:

    A animao de personagens deve ser consistente com o ambiente. Quando um personagem

    dirigido , a um muro, seria intil atravessar esse muro. Faria mais sentido se este

    personagem simplesmente parasse. Quando um obstculo fica no caminho, o personagem

    deve entender que precisa pular por cima ou dar a volta........o personagem deve ter

    inteligncia o suficiente para adaptar seus movimentos ao ambiente.

    ... Personagens controlados pelo computador devem possuir os comportamentos mais

    realsticos possveis. Mais do que se basear em tcnicas falhas de Inteligncia Artificial, o

    plano do jogo deve prover uma introduo prpria e regras robustas de comportamento para

    estes personagens. Em ... os inimigos movem-se pelas redondezas, esconde-se em abrigos e

    enfrenta combates em estilo quase real. ... guardas so animados de um modo que lhes d

    extraordinria presena: eles expandem suas formaes, param para olhar em volta, e

    geralmente se comportam de maneira realista. Em ... personagens falam uns com os outros e

    mudam o timbre da voz quando percebem atividade suspeita. Todos estes detalhes de

    comportamento nos encorajam a acreditar nos personagens encontrados durante o jogo...

    Continuando o depoimento sobre os personagens, o autor refere-se ao fato de

    que estes servem de motivao ao jogador e tm funo vital no desenrolar da

    histria, executando funes que ajudam o jogador:

  • 6

    Preste bastante ateno nos personagens secundrios. Eles tm uma funo crtica na

    histria. Eles do motivao ao heri, trazendo personalidade e vida ao mundo criado pelo

    autor e so freqentemente o melhor caminho para introduzir novas pesquisas.

    Em termos de jogabilidade, estes personagens se prestam para mltiplos usos: eles devem

    ajudar o jogador guiando-o atravs de um labirinto, ou lutando pelo seu time, ele pode estar

    temporariamente encarnado pelo jogador, ou deve se sacrificar pelo jogador, para que este

    esteja vivo e bem at cumprir seu objetivo.

    Ainda em LUBAN (2001), recomenda-se o uso de detalhes nas aparncias dos

    ambientes e concordncia na montagem de cenrios virtuais:

    As aparncias devem ser detalhadas e devem oferecer crdito ao jogo. Em termos visuais, a

    aparncia deve incluir todos os detalhes que fazem as coisas parecerem reais. ...existe a

    preocupao de criar todos os objetos que os usurios desejam ver, tais como ferramentas de

    jardinagem prximas ao jardim, roupas espalhadas pela casa, etc. ...

    Finalmente o autor d seu depoimento quanto origem randmica dos

    fenmenos e objetos da natureza:

    A natureza odeia uniformidades. Outro caminho usado para criar um universo mais

    aceitvel evitar a repetio e a uniformidade. D uma olhada atravs de sua janela e voc

    ver que as construes possuem diferentes estilos. Isto porque elas no foram construdas

    ao mesmo tempo. As pessoas na rua no se parecem umas com as outras. Elas se vestem

    de todas as maneiras e com as mais variadas roupas, com diferentes formas e tamanhos.

    Elas no andam no mesmo ritmo, esta a vida real.......fundos de ambientes decorados com

    particularidades. Nada d mais personalidade a uma sala ou a uma construo do que um

    detalhe que voc nunca viu antes. Pode ser to simples quanto um cinzeiro com uma chepa

    de cigarro acesa dentro, uma pea de um equipamento que voc espera encontrar dentro do

    tipo de sala que voc visita, msica vinda de um rdio, etc. ...

    Coisas simples podem ser animadas para dar uma satisfatria sensao de vida ao

    ambiente. Pense nos poderosos efeitos de cortinas que esvoaam....... ou de folhas secas

  • 7

    sendo sopradas pelo vento... . Em uma rua, carros passando , ventiladores circulando em um

    armazm, um bando de pssaros voando no horizonte, etc."

    (APIN et a i, 1999), falando sobre as possibilidades da telepresena, comenta

    sobre a comunicao via redes de computadores como uma tecnologia chave na

    troca de experincias por pessoas, incluindo a os jogos de computadores:

    Telepresena o futuro de sistemas multimdia: permitir seus participantes de compartilhar

    experincias profissionais e privadas, encontros, jogos e festas. Ambientes Virtuais

    Compartilhados (AVCs) (em ingls Networked Virtual Environments - NVEs) so a

    tecnologia-chave para implementar esta telepresena. AVCs so sistemas que permitem

    muitos usurios, distantes geograficamente, interagirem em um ambiente virtual comum.

    APIN ainda comenta sobre a necessidade de criao de personagens que

    representem os participantes deste mundo virtual, os avatares, sejam eles

    autnomos ou dirigidos por seres humanos:

    Particularmente, um dos mais importantes desafios sobre pesquisa em AVCs a

    representao do usurio atravs de avatares... no AVC. Esta representao pode variar de

    um simples cubo com vida at humanides altamente realistas, com articulaes de corpo e

    face. Ns acreditamos que avatares tridimensionais em tempo real sero essenciais no futuro,

    porque quanto melhor a representao do personagem, maior o senso de presena no

    ambiente, e maior a sua habilidade de comunicao com outros usurios. Ns precisamos de

    humanides virtuais autnomos para povoar estes mundos virtuais.

    Observando os fatos relatados por (HUONG et a i, 1998), nota-se a

    necessidade de estudos na rea de interao homem-mquina atravs de vrios

    meios, tais como microfone, luvas digitais, HMD, mouse, placas aceleradoras

    grficas, placas de som, culos tridimensionais, dispositivos simuladores de fora,

    torque e acelerao, e dispositivos de retorno de sensaes tteis.

  • Tambm se justifica a necessidade de iniciar pesquisas na rea de efeitos

    visuais e de texturas e mtodos de amostragem de imagens em tempo real

    (.framerate).

    Das palavras de LUBAN, que afirmam que os personagens devem ser realistas

    e com comportamento consistente com o ambiente, percebe-se a necessidade de

    mtodos de atuao de Agentes Inteligentes, Vida Artificial, mtodos de previso

    de coliso em tempo real, movimentos articulados de humanides, que por sua

    vez podem ser extendidos para outros tipos de movimentos: amebide ou

    articulada com mais extremidades.

    Tais linhas de pesquisa tm importncia para que o comportamento dos

    personagens se assemelhe ao comportamento natural dos seres vivos que

    encontramos na natureza.

    Assim o jogo torna-se mais realista, fazendo com que os usurios passem a

    acreditar nos personagens que vem. O mesmo afirmado por AP1N, que

    defende o fato de que, quanto mais realista o comportamento de um avatar, maior

    a crena do usurio na existncia desse avatar, e maior a imerso dentro do

    mundo virtual.

    Como LUBAN tambm afirma que os personagens tm funo vital no jogo,

    funcionando como motivadores, sente-se a necessidade de criao de avatares

    que ajudam na reduo da quantidade de trabalho executada pelo ser humano,

    dando-lhe a liberdade de se dedicar inteiramente ao que lhe interessa durante um

    jogo.

    O autor ainda faz notar o fato de a natureza possuir seus fenmenos e objetos

    randmicos, justificando a a necessidade de linhas de pesquisa para criar

  • mtodos de gerao pseudo-randmica - pela mquina - de objetos de formatos

    variados, tanto dinmicos quanto estticos, tais que sejam to imprevisveis

    quanto a prpria natureza.

    H tambm a necessidade de mtodos para comunicao via redes de

    computadores e criao de protocolos de comunicao, para que as experincias

    ganhas no decorrer de um jogo possam ser compartilhadas por vrios

    participantes (APIN).

    Baseada nestas justificativas, uma pesquisa de tcnicas em programao de

    algoritmos em Realidade Virtual, Inteligncia Artificial, Vida Artificial e Protocolos

    de Redes de Computadores foi desenvolvida, tal que possibilite, em modo de

    prottipo, a gerao de um mundo virtual novo a cada vez que o jogador inicia o

    jogo, permitindo a participao de outros usurios atravs de uma rede de

    computadores.

    1.3 Objetivos Geral e Especfico do Trabalho

    O objetivo geral do trabalho criar, atravs do uso de geradores pseudo-

    randmicos de objetos virtuais, situaes pseudo-aleatrias para estgios de um

    jogo qualquer, tais que o ambiente virtual criado seja de certa forma imprevisvel, e

    que este possua as mesmas leis fsicas que a natureza.

    Estes geradores pseudo-randmicos sero implementados atravs de uma

    biblioteca de funes e procedimentos.

    Alm da criao do ambiente pseudo-aleatrio, a biblioteca deve ser capaz de

    possibilitar ao profissional programar e gerenciar o comportamento de agentes

    inteligentes dentro destes novos mundos.

  • So objetivos especficos:

    Proporcionar nveis satisfatrios de interao homem-mquina atravs de

    hardware especfico;

    Estudar uso de tcnicas de IA, como Reconhecimento de Padres, Minerao

    de Dados, Sistemas Baseados em Regras, Agentes Inteligentes e Vida

    Artificial;

    Implementar ferramentas de comunicao via redes de computadores;

    Analisar e implementar algoritmos para gerao pseudo-randmica de cenrios

    (terrenos, mapas, personagens, etc.);

    Aumentar os nveis de imerso no mundo virtual gerado utilizando-se de

    hardware de RV;

    Estudar tcnicas de deteco rpida de coliso;

    Implementar um prottipo de jogo.

    1.4 Modelo Terico do Trabalho

    O trabalho proposto foi dividido em 4 fases:

    Pesquisa bibliogrfica;

    Pesquisa sobre funcionamento de software;

    Pesquisa sobre funcionamento de hardware;

    Criao da biblioteca e implementao do prottipo;

    10

  • Este trabalho est dividido em dez captulos. O primeiro captulo d uma

    introduo ao trabalho, o que foi feito, mostra os motivos de onde se originou esta

    pesquisa e seus objetivos gerais e especficos.

    No segundo captulo o termo JOGO definido, assim como seu histrico,

    focando os jogos de videogame, jogos de computadores, e uma referncia a

    algumas tecnologias para produzi-los.

    No terceiro captulo so citadas e explicadas resumidamente as tecnologias

    que foram estudadas para o desenvolvimento do prottipo.

    No quarto captulo so apresentados o modelo conceituai do jogo e suas

    justificativas, so apresentadas as tcnicas aplicadas no prottipo, incluindo suas

    limitaes e relao entre elas.

    No quinto captulo so apresentados os resultados obtidos do jogo, e uma

    tabela comparativa indicando qual das tecnologias estudadas no terceiro captulo

    foram empregadas e/ou refutadas no prottipo.

    No sexto captulo uma srie de concluses tiradas a respeito do modelo e sua

    implementao so mostradas.

    No stimo captulo so dadas sugestes de melhoras e alteraes no prottipo

    implementado.

    No captulo oito descrita a utilidade das tecnologias pesquisadas para reas

    do conhecimento tais como farmcia, bioqumica, medicina, robtica,

    administrao, educao, entretenimento, computao, fsica, entre outras.

    No captulo nove so mostradas as utilidades deste trabalho.

    1.5 Estrutura

  • No dcimo captulo so descritas possveis reas de pesquisa para futuros

    trabalhos.

    Junto ao trabalho seguem-se quatro anexos: O Anexo I descreve a pesquisa

    de campo que forma uma das bases para este trabalho. O Anexo II mostra um

    algoritmo de pathfinder para encontrar uma trajetria entre dois pontos num

    labirinto composto de quadrilteros. O Anexo III mostra exemplos de texturas

    otimizadas para jogos. O Anexo IV contm um glossrio dos termos tcnicos

    utilizados nesta dissertao.

  • 13

    2 - JOGOS

    2.1 Definies

    Segundo (ANTUNES, 1998) jogo deriva do substantivo masculino latino jocu ,

    que significa gracejo. Incluindo o uso das regras no ato de jogar, comparando o

    jogo metfora da vida, e cuidadosamente restringindo sua abrangncia como um

    estmulo ao crescimento e desenvolvimento cognitivo:

    Em seu sentido etimolgico, portanto, expressa um divertimento, brincadeira, passatempo

    sujeito a regras que devem ser observadas quando se joga. Significa tambm balano,

    oscilao, astcia, ardil, manobra. No parece ser difcil concluir que todo jogo verdadeiro

    uma metfora da vida".

    Em (HOUAISS et. al., 2001) a palavra JOGO composta de um elemento

    compositivo jo g , do verbo latim joco, entre outros verbos:

    JOG - el. comp. antepositivo, do v. iat. joco, as, vi, tum, re, j em Plauto (254-184 a.C.), contra o verbo Iat. clssico jocor, rs, tus, sum, ri (depoente) 'gracejar, apodar, mofar, zombar, simular brinquedos, brincar - com representao em romn.: romn. juca, it.. giocare, friul. dzuy, fr. jouer, prov. cat. portugus jogar, esp. jugar - a que se acresceram noes conexas com azar, sorte, o aleatrio e noes conexas com desempenho ldico; a v. em causa, alis desbanca, no vuig., o v. ludo, is, si, sum, re 'jogar, dar-se a um exerccio, recrear(-se), folgar, morar, zombar, compor, tanger, etc., ver LUD(I)-; o v. joco r derivado de jocus, i 'gracejo; graa; divertimento; brincadeira; galhofa (romn. prov. joc, it. giuoco, friul. dzug, fr. jeu, cat. joch, esp. juego, port, jogo), de que derivam tb. Iat. jocsus, a, um, que gosta de gracejar, folgazo, alegre', jocundus, a, um agradvel, deleitoso e joculris, e 'divertido, faceto, risvel (it. giullare, prov. cat. joglar, esp. juglar, port, jogral)',

    LUD(I) - el. comp. antepositivo, do Iat. ludus, jogo, divertimento, recreao', der. e comp. latinos: ludibrTum, Ti joguete, zombaria; insulto, ultraje; , ludus, li pantomimo, comediante, ludicer e ludicrus, a, um de jogo, de divertimento, ludTcrum, divertimento, recreio, folga, aliado ou adIQdo, is, si, sum, re brincar, divertir-se, gracejar', alludo ou adludo, as, vi, tum , re brincar com, fazer festa a, gracejar, alluso, nis ao de brincar com, brinquedo, afago, colludo, is jogar com, fazer conluio, colluso, nis conluio, fraude...

  • 2.2 Histrico dos Jogos

    2.2.1 Origem de Alguns Jogos

    Jogos so meios de entretenimento muito antigos. Inclusive h referncias de

    que nem sempre os jogos antigos foram usados somente para esse fim. Em

    (MACEDO et. al., 2000) Faz-se uma referncia ao jogo chamado MANCALA, que

    era associado a rituais mgicos e/ou sagrados, que surgiu a cerca de 7000 (sete

    mil anos) provavelmente na regio onde hoje o Egito.

    Em (FARUM-BADLEY, 2000) faz-se referncia ao jogo WARRI, no atual pas

    de Barbados, que se originou de um modelo de mancala que existia no Alto Nilo

    (atual Sudo) a 3600 (trs mil e seiscentos) anos atrs.

    Tambm em (MACEDO et. al., 2000), um jogo semelhante ao RESTA UM j

    era mencionado pelo poeta grego Ovdio (43 a.C. - 16 d.C.).

    Em (IBMHF, 2002) mencionada uma referncia de que o jogo de boliche se

    originou provavelmente do Antigo Egito, baseado na descoberta de uma tumba

    egpcia de uma criana, datada de 3200 a.C. com um brinquedo com peas

    semelhantes s peas do boliche atual.

    Em (GAMESPOT, 2002) fala-se sobre a criao da empresa Marukufu

    Company, em 1889, por Fusajiro Yamauchi, para manufaturar e distribuir cartas

    de um jogo japons chamado Hanafuda. Em 1907 a empresa comea a produzir

    cartas de jogo comuns. A empresa muda seu nome para Empresa de Cartas de

    Jogos Nintendo, em 1951. Nintendo significa deixar a sorte para o paraso".

    14

  • 15

    Fig. 1: Tela do osciloscpio do jogo criado por Willy Higinbothan como o precursor do Pong.

    Fig. 2: Controle criado por Willy Higinbothan para o precursor do Pong.

    Em (THE DOT EATERS, 2002),

    mencionado a criao do primeiro

    prottipo de videogame por Willy

    Higinbotham em 1958. Sua tentativa de

    tornar a visita ao seu laboratrio

    (Brookhaven National Laboratory) um

    pouco mais interessante se tornou um

    precursor do videogame atual.

    Com a ajuda de um osciloscpio

    com uma tela de dimetro de cinco

    polegadas (Fig. 1), e duas caixas

    com diais para controlar as

    raquetes (pequenos traos, Fig. 2),

    criou uma verso rudimentar de

    um jogo de ping-pong.

    2.2.2 rcades

    Antes de descrever resumidamente a histria dos videogames a partir de

    algumas fontes, define-se a palavra fliperama como uma composio de duas

    palavras inglesas: flipper+ panorama (HOUAISS, 2001):

    1 - jogo que consiste em fazer pontos cada vez que uma bilha acionada por mecanismos

    eltricos no interior de uma prancha inclinada. 2 - casa comercial de recreao que oferece jogos

    eltricos e eletrnicos operados por ficha ou moeda. ETIM do ingls flipper (1822) o que se move

    com movimentos curtos e rpidos' p. ext. jogo eletrnico acionado por movimentos bruscos dos

  • dedos, principalmente os polegares + ama (contrao de panorama), (proveniente do modelo de

    cinerama)"

    Em (THE DOT EATERS, 2002) afirma-se que o primeiro arcade (no Brasil

    tambm chamado de fliperama), foi criado por Nolan Bushnell, um empregado da

    empresa Ampex, situada em Sunnyvale, Califrnia.

    Em 1971 Bushnell sai da Ampex e cria o primeiro jogo para mquinas

    operadas por fichas, chamado COMPUTER SPACE, e convence a empresa

    Nutting Associates a produzir o arcade.

    1500 unidades deste fliperama foram produzidas, mas suas vendas no foram

    to boas quanto o esperado, fazendo Bushnell concluir que os controles usados

    no jogo deveriam ser mais simples e em poucas peas, para permitir ao usurio

    jogar mesmo sem um conhecimento inicial dos controles.

    Em 1972, Bushnell funda a Atari, que significa pr em cheque num jogo

    (traduzido do ingls: Atari is the equivalent of "check" in the game ), e cria seu

    primeiro jogo para arcades, chamado PONG, uma representao simplificada do

    jogo de tnis, junto com outro colega de trabalho na antiga empresa Ampex: Al

    Alcorn.

    No mesmo ano Bushnell e Alcorn comeam a vender suas mquinas de

    fliperama, vendendo mais de 8500 unidades em um ano.

    Em 1973, outras empresas comeam a vender suas verses arcades do

    mesmo jogo. Estas empresas so: Taito, Sega, Allied, PMC, Chicago Coin,

    Williams e Midway. Inclusive a prpria Atari fazia clones diferenciados de seu

    jogo PONG.

  • Neste mesmo ano a Atari a lder no mercado de fliperamas, alavancando

    US$ 3,2 milhes, mas uma competio acirrada pelo mercado de fliperamas inicia

    com a empresa Kee Games, de Joe Keenan.

    Muitos empregados evadiram da Atari para a Kee Games, e em 1974 a Kee

    Games cria o jogo TANK, cuja novidade no campo de arcades era a incluso de

    chips de memria somente de leitura (Read-Only-Memory), para sustentar a

    memria de grficos.

    Em 1974, dois empregados da Atari, Bob Brown e Harold Lee, ficaram

    encarregados de criar uma verso domstica do jogo PONG, capaz de se acoplar

    a qualquer circuito de televiso. O objetivo da empresa era vender 150000 (cento

    e cinqenta mil) unidades naquele ano. Cada unidade custaria US$100.

    A partir de 1975 a Atari faria 40 milhes de dlares por ano, chamando a

    ateno do conglomerado Warner Communications, e em 1976, Nolan Bushnell

    venderia a Atari para a Warner por US$ 28 milhes.

    A partir desta incluso de capital, a Atari se tornaria uma marca to famosa

    quanto a Coca-Cola ou a Kleenex.

    17

  • 18

    2.2.3 Videogames

    Segundo (HART, maio de 2001) os videogames iniciaram em 1966 com a

    tentativa de Ralph Baer de criar um dispositivo de treinamento militar que

    melhorasse os reflexos dos soldados e estratgias. Deveria ser um dispositivo

    portvel.

    Entre 1972 e 1977,

    considerada a era dos

    videogames de primeira

    gerao (exemplo na

    Fig. 3), houveram vrias

    empresas produzindo

    videogames: a

    Magnavox de Ralph

    Baer, com o seu

    videogame Odissey, contendo vinte jogos, a Atari, com o jogo PONG e suas

    variaes (tnis, hquei, entre outros). A Fairchild Camera and Instrument, de

    Robert Noyce, e a empresa Baily. Na poca, poucos usurios estavam dispostos

    a pagar mais caro pela diversidade de jogos oferecidos pelo Odissey ou

    Fairchild , onde muitos alegavam que somente um ou dois jogos agradavam.

    Assim, o mercado foi dominado pela Atari at 1977.

    A Segunda gerao de videogames foi de 1977 a 1981, com os produtos

    caracterizados por efeitos visuais e auditivos mais convincentes, sendo seu

    mercado dominado pelo modelo VCS/2600 da empresa Atari.

    Fig. 3: O primeiro video-game, Odissey, da empresa Magnavox, com mscaras para a tela da televiso. (Impresso com permisso de [H AR T-4 1 ]) .

    T h e v e r y thist h om e v id eog am e, O d yssey , u se d L a n c n c rc a te d t ra n sp a re n t over* la y s in itnu o f c o m p u ter-g en era te d graph ics.

  • Entre 1982 e 1984 perdurou a terceira gerao de videogames, auxiliada pelo

    uso de disquetes com grande capacidade de memria(180 kilobytes contra os 16

    kilobytes de cartuchos ROM), mas sofrendo muitas perdas devido concorrncia

    com os fliperamas de rua, que possuam de dez a vinte e cinco vezes mais

    memria do que os videogames caseiros, permitindo jogos mais realistas.

    A Quarta gerao de videogames inicia em 1985 com a reduo dos custos de

    fabricao de chips de Memria Dinmica de Acesso Aleatrio e o incio da

    produo de processadores de oito bits, baixando o preo dos processadores

    antigos. A partir de 1985 os videogames da empresa Nintendo passaram a

    dominar o mercado. Em 1989 as revendedoras de seus produtos no estavam

    mais de acordo com a poltica de vendas da empresa, terminando neste ano a

    quarta gerao de videogames.

    A partir de 1989, o nico concorrente para a empresa Nintendo, que oferecia

    videogames de 8 bits, era a Sega (Service Games), com o seu videogame Sega

    Master System, sendo o primeiro videogame a conter culos 3D, enquanto a

    Nintendo oferecia em seus videogames as pistolas eletrnicas.

    2.2.4 Jogos de Computadores

    De acordo com (THE DOT EATERS, 2002), em 1972 foi criado o jogo Hunt The

    Wumpus (Caa ao Wumpus), por Gregory Yob, na Universidade de

    Massachussets, em Dartmouth. Sendo um jogo que usava somente texto, onde o

    usurio se move atravs de um sistema de cavernas conectadas, armado de

    somente cinco flechas, procurando pelo monstro de nome Wumpus, que tambm

  • est se movendo atravs das cavernas. O objetivo do jogo aniquilar o monstro,

    com uma das flechas.

    Neste mesmo ano Willie Crowther cria ADVENTURE, um adventure baseado

    no jogo de dados e de papel DUNGEONS AND DRAGONS. O objetivo do jogo

    passar por uma caverna cheia de labirintos e voltar ao ponto de partida com o

    maior nmero de tesouros possvel. O processo de dilogo do usurio com o jogo

    estruturado na forma verbo-nome.

    Em 1977, Dave Lebling, Tim Anderson e Bruce Daniels terminam um prottipo

    do jogo ZORK, criado num computador PDP 10 do Massachussets Institute of

    Technology, no mesmo estilo de ADVENTURE, e posteriormente se torna uma

    grande sensao para os estudantes, sendo disseminado atravs da ARPAnet

    (antes de se tornar a Internet em 1984).

    At 1981, ao jogo ZORK foram se acrescentando dados at que o jogo

    alcanasse o tamanho de 1 megabyte. Neste momento, o jogo j estava sob lei

    contra cpias pertencendo empresa recm-criada Infocom.

    Entre 1979 e 1981, surgiam os computadores pessoais modelos Tandy TRS-

    80 e Apple. Em 1979 a Infocom faz seu primeiro royalty sobre o jogo ZORK I

    para o modelo TRS-80, e em 1980, Bruce Daniels cria o mesmo jogo, para o

    modelo Apple II, vendendo 6000 cpias em oito meses.

    Contando todas as vendas para as plataformas de computadores pessoais ao

    redor do mundo, ZORK I vendeu mais de um milho de cpias.

    Em 1979, o primeiro jogo em redes de computadores foi criado por Roy

    Trubshaw, um pesquisador da universidade de Essex - Inglaterra, para o modelo

    20

  • de computadores DEC-10. Seu jogo se consistia num MUD (Multi-User Dangeon

    ou Calabouo Multi-Usurio), ou seja, um mundo multi-usurio baseado em

    comunicao de texto em que os usurios podem conectar e interagir com uma

    base de dados de itens e usar um tipo rudimentar de conversa atravs da rede.

    Neste jogo estavam disponveis vinte salas, e as atividades do jogo eram

    controladas com um vocabulrio com dez comandos.

    Em 1980, Ken e Roberta Willians criaram MISTERY HOUSE (Casa do Mistrio)

    atravs de sua empresa domstica On-Line Systems, o primeiro jogo para

    computadores pessoais combinando

    letras e grficos. Apesar de seus

    grficos grosseiros (Fig. 4), somente

    feito com linhas, o jogo chegou a

    vender 11000 (onze mil) cpias no

    primeiro ano, a US$24,95 a unidade.

    Posteriormente o casal muda o

    nome de sua empresa para Sierra On-Line, e em 1983 a empresa encarregada

    pela IBM para fazer um jogo mostrando as capacidades grficas do seu novo

    modelo de computador PCJr.

    Nasce assim o adventure KINGS QUEST, o primeiro jogo feito para

    computadores pessoais mostrando grficos pseudo-tridimensionais, com

    dezesseis cores em vdeo CGA (Color Graphics Adapter).

    Com um time de seis programadores e a um custo de desenvolvimento de

    US$700000 (setecentos mil dlares), KINGS QUEST foi lanado em 1984. Se

    Fig. 4: Primeiro jogo para computadores pessoais (1980) combinando grficos e palavras.

    ENTER COm*?flNO?LIGHr STOU

  • contados todos os sistemas mais populares de computadores pessoais para os

    quais este jogo foi produzido, KINGS QUEST vendeu mais de 2,7 milhes de

    cpias, rendendo ainda oito seqncias.

    Em 1986, Scott Murphy, e Mark Crowe lanam o adventure SPACE QUEST,

    sob a propriedade da empresa Sierra On-Line. O jogo foi um sucesso com sete

    seqncias, mas SPACE QUEST 7 parece ter sido cancelado pela empresa em

    1998.

    A empresa Sierra On-Line manteve sua liderana de mercado em jogos tipo

    adventure com interface grfica at 1987, quando desafiada pela Lucasfilm

    Computer Games Division (depois renomeada para LucasArts), com seu jogo

    MANIAC MANSION, do mesmo estilo.

    Em 1979, Richard Garriot termina um CRPG (Computer Role Playing Game

    ou Jogo de Atuao em Teatro feito por Computador, ver as definies em ROLE

    MAKER, 2002) na linguagem Applesoft Basic chamado AKALABETH.

    No jogo o usurio navega por um mapa repleto de smbolos ASCII,

    completando as tarefas dadas pelo seu tutor eletrnico, e batalhando criaturas em

    grficos pseudotridimensionais.

    Sob a propriedade da California Pacific Software Company, o jogo era

    distribudo em disquetes 5 %, vendendo 30000 (trinta mil) cpias.

    Em 1978, Jim Connelley e Jon Freeman terminam Starfleet Orion, programado

    em BASIC para o computador pessoal Commodore PET, fazendo o primeiro jogo

    de combate ttico no espao, feito para microcomputadores. Tambm criaram a

    primeira editora sobre jogos de computadores, a Automated Simulations.

  • Ainda em 1979, a dupla criou o primeiro jogo CRPG cujas caractersticas

    incluam a possibilidade de o jogador poder criar as propriedades e

    personalidades de seus personagens. O jogo ganhou o prmio de Jogo de

    Computador do Ano, da Academ y o f Adventure Gaming A rts & D esign s

    Origin, em 1980 e dele partiram mais duas seqncias, que foram programadas

    em outras plataformas de computadores pessoais.

    Posteriormente em 1981, Jon Freeman e sua esposa Anne Westfall

    abandonam a Automated Simulations para formar a Free Fall Associates,

    Posteriormente mudando seu nome para Epyx. Em 1983 a empresa cria o jogo

    JUMPMAN, que contm trs nveis de dificuldade com trinta labirintos cada nvel.

    O jogo rendeu 40000 (quarenta mil) cpias.

    Em 1982, a empresa Starpath (que tem Jim Connelley como um de seus

    integrantes) inventa o Supercharger, um expansor de memria para o computador

    pessoal modelo Atari 2600. Provavelmente o jogo mais famoso deste modelo de

    computador pessoal seja Fig, 5: Tela do jogo Escape From Tfia MMMastr, K ^ J para o modelo Atari 2600.

    ESCAPE FROM THE

    MINDMASTER, um jogo

    tridimensional em primeira

    pessoa (Fig. 5). Em 1983 foi

    lanado o jogo de corridas

    PITSTOP, e em 1984 sua

    seqncia PITSTOP II, que seria o primeiro jogo contendo tela separada em duas

    partes, permitindo dois jogadores participarem do mesmo evento ao mesmo

    tempo, na mesma mquina.

  • 24

    Em 1984 a empresa Epyx lana SUMMER GAMES, um jogo de esportes

    olmpicos, feito em seis meses, totalmente em linguagem de mquina (tambm

    chamada cdigo assembly ou do ingls assembly code) para o modelo de

    computador pessoal Atari 2600, vendendo 100000 (cem mil) cpias.

    2.3 Sistema Atual de Produo e Consumo de Jogos para Computadores

    Pessoais

    2.3.1 Uso da Internet para Consumo de Jogos

    Navegando pela Internet, o usurio se depara com vrias pginas que

    disponibilizam demonstrao ou verses inteiras de jogos para computadores

    pessoais.

    Tais servidores podem ser genricos, com vrios tipos de jogos, classificados

    de acordo com o tema e contendo links de fabricantes ou de ttulos de jogos, ou

    ainda podem ser comunidades ou sites comerciais especficos para apenas um

    ttulo, contendo todas as informaes, estatsticas, dados relevantes, arquivos

    compartilhados, truques, correes de software (patches) e links para outros sites

    correlatos ao mesmo jogo.

    Dentro de tais sites existem tambm as listas de discusso sobre dicas que

    podem ser usadas para correo de software ou para facilitar o alcance do

    objetivo do jogo - estas dicas tambm so chamadas de cheats ou cheatcodes.

    2.3.2 Bibliotecas de Criao de Jogos

    Bibliotecas de Criao de Jogos so ferramentas de software que facilitam a

    produo de um jogo ou os dados que o compem. Podem ser somente com

  • recursos grficos (OpenGL da Silicon Graphics para placas aceleradoras de

    vdeo), recursos de modelagem fsica em tempo real (HAVOK, 2002) ou ainda

    bibliotecas genricas, que envolvem desde a modelagem matemtica grfica at

    sons, msica e perifricos (DirectX da Microsoft).

    Existem ainda bibliotecas especficas totalmente recriadas ou derivadas de

    bibliotecas bsicas ou de bibliotecas genricas (3D Engines List, 2000).

    2.3.3 Emuladores para Jogos

    Em (WHATIS7COM, 2002) define-se um emulador de computadores como

    sendo um componente de hardware I programa, que feito com a finalidade de ser um outro

    componente de hardware / programa... , ou seja, um emulador um programa que pode

    fazer o papel de um computador, um sistema operacional ou um software, dentro

    de um determinado computador.

    A partir de um emulador possvel executar, por exemplo, em um computador

    pessoal tipo IBM, um programa que inicialmente funcione somente para

    computadores pessoais da Apple Computers.

    Usando emuladores, possvel executar jogos de uma marca especfica de

    videogame em um computador pessoal. A Internet uma fonte ampla de pginas

    que fornecem emuladores experimentais (exemplo: EMUMANACOS, 2002),

    capazes de executar jogos de sistemas de videogame em computadores

    pessoais.

    25

  • 26

    3 - CONSIDERAES E TECNOLOGIAS ABORDADAS NESTA

    DISSERTAO

    3.1 Motivos

    Desenvolver um jogo usando Realidade Virtual Compartilhada e Inteligncia

    Artificial requer uma srie de variveis a serem determinadas, e um planejamento

    detalhado das necessidades e procedimentos a serem tomados para constru-lo.

    Antes de chegar ao jogo inteiramente funcional, deve-se implementar um

    prottipo, para conferir seu correto funcionamento, verificar passo a passo seus

    algoritmos e interfaces necessrios para que funcione, e sugerir possveis

    mudanas para o produto final.

    Como trabalho experimental, uma biblioteca de funes e um prottipo do jogo

    usando Realidade Virtual Compartilhada e Inteligncia Artificial foi construdo para

    testar algumas possibilidades de software, interface e hardware, e posteriormente

    implementar sua otimizao.

    J de incio este prottipo tem o objetivo de fazer com que o usurio no saiba

    a diferena entre o mundo virtual e o mundo real.

    O prottipo do jogo deve possuir as seguintes caractersticas:

    O jogo se constitui numa corrida de veculos numa pista cercada;

    O objetivo do jogo ser o primeiro a completar um determinado nmero de

    voltas numa pista aleatria;

  • O mundo criado possui dois tipos de obstculos: a cerca em volta da pista e

    os obstculos isolados. Os obstculos isolados so constitudos por

    rvores, pedras e pequenas construes;

    Cada usurio pode colidir com outros usurios, ou com os obstculos do

    mundo;

    Para aumentar o realismo do jogo, um fenmeno climtico de chuvas foi

    adicionado, com comportamento imprevisvel;

    O jogo tambm deve possuir agentes inteligentes, representados por

    bandos de animais virtuais, ou agentes capazes de executar um dilogo

    com o usurio;

    Os agentes inteligentes devem evoluir segundo as leis da gentica, e

    atravs de regras simples chegar a sistemas complexos de organizao;

    Estes agentes devem usar tcnicas de previso de movimentos do usurio;

    Alguns recursos de Inteligncia Artificial devem ser usados para permitir a

    cada mquina executar tarefas de previso de trajetrias, encontrar

    caminhos entre dois pontos atravs de obstculos (pathfinder),

    aprendizagem de comportamento humano e mtodos de perseguio e

    fuga;

    Pode ser jogado por vrios usurios, por intermdio de uma rede local de

    computadores;

    Os veculos de cada usurio devem ser capazes de reconhecer os

    comandos ou atividades do usurio atravs de algumas interfaces: teclado,

    27

  • joysticks, cyberpucks, HMD's e luvas digitais, com modelos opcionais de

    navegao;

    Cada veculo deve ser capaz de entender um nmero mnimo de palavras,

    ditas pelo usurio atravs do microfone, possibilitando um dilogo;

    Possibilidade de viso em primeira e terceira pessoas;

    O jogo deve possuir um recurso de navegao entre ambientes, tal que no

    prejudique a imerso do usurio no mundo virtual;

    Recursos de visualizao geral do ambiente sero usados, para que os

    usurios possam planejar suas aes isoladas ou em conjunto antes do

    incio do jogo;

    Devido a estas justificativas, as tecnologias estudadas foram as seguintes:

    Programao Orientada a Objeto, para um fcil gerenciamento dos mdulos

    de programao criados;

    Realidade Virtual;

    Vida Artificial para simular comportamento de bandos de seres vivos;

    Algoritmos Genticos como ferramenta de otimizao e aprendizado de

    mquina;

    PathFinding (Procura por Trajetrias);

    DataMining (Minerao de Dados) para previso de trajetrias feitas pelo

    usurio;

    Redes Neurais (especificamente as Multi-Layer Perceptron e Learning

    Vector Quantization);

  • VRML,

    Transferncia de dados via redes de computadores, para permitir a

    comunicao de vrios usurios no mesmo ambiente (Realidade Virtual

    Compartilhada);

    Um Modelo de Coliso, usando mapas raster,

    Mtodos de pr-processamento de elementos geomtricos para gerao de

    topologias aleatrias (Paredes e Terrenos) e de texturas;

    Reconhecimento de Palavras Faladas, incluindo um Modelo de Dilogo

    Homem-Mquina;

    Dois modelos fsicos de navegao de ambientes;

    Hardware para interface homem-mquina, com seus modelos de

    funcionamento e programao.

    3.2 Modelagem de Projetos Orientada a Objetos

    Segundo (RUMBAUGH et al, 1997) a modelagem orientada a objetos se

    caracteriza por possuir unidades bsicas chamadas de objetos, que combinam a

    estrutura e o comportamento dos dados em uma nica entidade. A modelagem

    baseada em objetos inclui quatro aspectos: identidade, classificao, polimorfismo

    e herana.

    Identidade significa que os dados so separados em unidades discretas e

    distintas, chamadas de objetos, conseqentemente cada objeto possui suas

    prprias caractersticas individuais.

    29

  • 30

    Classificao significa que objetos que possuem a mesma estrutura de dados e

    o mesmo comportamento so agrupados em uma classe, e cada classe descreve

    possivelmente um nmero infinito de objetos individuais.

    Polimorfismo significa que uma mesma operao pode atuar de modos

    diversos em classes diferentes.

    Herana o compartilhamento de atributos e operaes entre classes com

    base em um relacionamento hierrquico. Uma classe pode ser definida de forma

    abrangente e depois refinada em sucessivas subclasses. Cada subclasse

    incorpora ou herda as caractersticas de sua classe me e acrescenta suas

    prprias e exclusivas caractersticas.

    Em (TAFNER, 1996) tambm so dadas explicaes sobre os itens de

    programao orientada a objetos.

    3.3 Conceitos de Realidade Virtual: Imaginao, Interao e Imerso

    Segundo (BURDEA, 1996-b):

    Realidade Virtual pode ser definida tambm como Ambientes Virtuais (SHERIDAN, 1992

    apud BURDEA, 1996-b), Ciberespao (ELMER-DEWITT, 1993 apud BURDEA, 1996-b),

    Ambientes Verdicos (CODELLA, JALILI, KOVED & LEWIS, 1993 apud BURDEA, 1996-b),

    ou Realidade Artificial1' (KRUEGER, 1991 apud BURDEA, 1996-b), representando uma

    interface grfica de alta qualidade que imerge o usurio em um mundo simulado. No caso da

    RV ou Ambientes Verdicos, o mundo simulado consiste em replicar a realidade fsica

    existente. Por outro lado, para Realidade Artificial e Ambientes Virtuais, a simulao pode

    partir da realidade conhecida, permitindo experincias que no podem ser reproduzidas no

    mundo real.

  • 31

    Do fato de que Realidade Virtual pode ser definida como Realidade Artificial e

    Ambientes Virtuais, e que estes dois ltimos podem partir da realidade conhecida,

    permitindo experincias que no podem ser reproduzidas no mundo real, a

    diferena entre o mundo real e estas experincias s pode ser uma conseqncia

    da imaginao, da criao ou da percepo - dentro da realidade artificial ou

    ambiente virtual existente - de situaes ou fatos que o ser humano no percebe

    e no pode criar no mundo real.

    A interao consiste em explorar todos os meios sensoriais do ser humano, em

    tempo real para haver uma comunicao entre este e o mundo virtual no qual est

    inserido. Segundo (BURDEA, 1996-b):

    A pea-chave para a experincia de usurios de Realidade Virtual a interao multimodal

    em tempo real envolvendo todos os sentidos, desde a viso, audio, tato cheiro e at gosto.

    Esta rica interao sensorial (s vezes chamada de sobrecarga sensorial), acoplada com

    simulaes de respostas em tempo real produz uma compeiidora e cativante sensao de

    imerso".

    A imerso, tambm segundo (BURDEA, 1996-a) uma sensao de estar rodeado

    por um mundo sinttico com o qual ele pode interagir e modificar".

    Segundo (SHERIDAN, 1992-b apud BURDEA, 1996-a) a imerso uma

    sensao ideal, na qual, com uma tecnologia boa o suficiente, uma pessoa no seria capaz de

    distinguir entre presena fsica {actual presence), telepresena e presena virtual".

    A imerso ocorre depois da interao, quando, depois de o ser humano

    modificar o mundo virtual sua volta, se torna convencido de que est no mundo

    virtual, e passa a confundi-lo com o mundo real.

  • Segundo (ESTEVAM, 1997) a VIDA ARTIFICIAL foi iniciada nos fins da dcada

    de setenta, se preocupando em reproduzir in silico o comportamento de seres

    vivos observado na natureza. Ela veio para complementar a teoria biolgica sobre

    a vida, que afirma que um ser vivo assim considerado por obedecer os seguintes

    critrios: composto de clulas, baseado na qumica do carbono, ocorrendo

    numa soluo aquosa, e seus processos vitais so controlados por uma clula

    chamada ADN.

    A teoria da vida artificial se baseia na teoria da informao, publicada por

    SHANNON e WEAVER (apud ESTEVAM, 1997), e a partir da derivao da

    segunda se afirma o seguinte:

    A vida informao que governa a forma e funo, e passada adiante;

    Apresenta certas leis de auto-organizao e

    A vida evolui.

    Tem-se a a teoria da Vida Artificial. Pode-se concluir da que a vida artificial

    possui algumas propriedades:

    Apesar de cada indivduo dentro do sistema possuir uma regra simples para

    gerenciar seu comportamento, o comportamento global muito organizado;

    A abordagem do programa no TOP-DOWN (ESTEVAM, 1997), mas sim

    dependente do comportamento individual programado em cada elemento.

    Deixa-se ento que o prprio sistema encontre suas solues;

    Os indivduos possuem comportamento emergente, ou seja, a partir de um

    sistema inicialmente desorganizado, chega-se a um sistema organizado.

    3.4 Vida Artificial

  • Em (GRAND, 1997) existe uma breve explicao de um programa chamado

    Creatures, que utiliza Redes Neurais (FAUSSET, 1994), Algoritmos Genticos

    (GOLDBERG, 1998) e Vida Artificial para simular a vida em colnia de pequenos

    personagens chamados Norns e Grendels.

    Segundo (WOODCOCK, 1998) os comportamentos de cada espcie simulada

    em um jogo podem ser parametrizados, fazendo com que estas se comportem de

    forma diferente.

    Em (SIMS, 1994) descrita uma experincia de gerao de criaturas pelo

    computador usando membros articulados em forma de paraleleppedos. Tais

    criaturas possuam um cdigo gentico que permitia movimentos tais como nadar,

    andar, saltar e seguir a luz. A sobrevivncia era garantida pela posse de um cubo

    no centro do ambiente. As criaturas que ficavam menos tempo possuindo o cubo

    eram eliminadas.

    Estas criaturas podiam

    capturar dados do meio onde

    navegavam, sendo que tais

    dados eram transformados

    atravs de funes simples,

    como funo onda senoidal,

    interpolao linear, valor absoluto, onda de dente de serra, funo memria,

    maior, menor, soma, entre outras, e serviriam para tomar decises sobre como

    atuar no ambiente tridimensional para permanecerem vivas.

    Elas possuam seu cdigo gentico modificado por mutao, crossover

    (GOLDBERG, 1998) e grafting (SIMS, 1994). Esta ltima (Fig. 6) se

    Fig. 6: Exemplo de grafting dos cdigos gentico do pai e da me para formar o cdigo do filho.

  • 34

    caracterizando por ser feita com dois gentipos:

    O pai copiado, e uma das suas conexes

    escolhida randomicamente e ajustada para

    apontar para uma conexo qualquer no gentipo

    me. Os ns no conectados no gentipo pai

    so removidos, e os ns conectados no

    gentipo me e todos os seus descendentes

    so anexados para formar o filho.

    Ao usurio / expectador era permitido

    eliminar criaturas que no tivessem uma

    aparncia agradvel. Cada criatura passava por

    um teste de coliso entre os seus membros articulados, e caso houvesse

    sobreposio dos membros, esta criatura era eliminada. As Figuras 7 e 8 mostram

    alguns tipos de movimentos feitos por estas criaturas, tais como nadar e competir

    entre si por um cubo.

    Na pgina dos laboratrios do IC-CAVE (International Centre for Computer

    Games and Virtual Entertainment, 2001) faz-se uma nota sobre o fato da facilidade

    de detectar coliso atravs de membros com formato cilndrico com extremidades

    esfricas (chamadas sphyls), se comparada deteco de coliso de membros

    com formato paralelepipdico.

  • 35

    3.5 Algoritmos Genticos

    Segundo (GOLDBERG, 1998) Algoritmos Genticos so algoritmos de procura

    baseados no mecanismo de seleo natural e de gentica. Assim como na vida

    biolgica, todos os seres vivos possuem suas informaes (fentipo)

    armazenadas em suas molculas de ADN (gentipo), e estes tentam se adequar

    ao meio onde vivem.

    Quanto mais adequado ao meio estiver o gentipo do ser vivo, mais chance de

    sobrevivncia tem sua espcie. A vida biolgica dentro do meio depende da

    capacidade do ser vivo de adequar-se s suas mudanas, fazendo-o atravs de:

    Multiplicao dos seus genes;

    Mutao dos seus genes;

    Cruzamento de informaes dos seus genes ou crossover.

    Fazendo um comparativo do meio biolgico com programas de computadores,

    dentro de um dado programa, existem vrios elementos que possuem informaes

    sobre o seu comportamento ou forma (o fentipo) armazenadas em cordes de

    caracteres (o gentipo). Dado um problema modelado (o meio onde vivem), so

    programados vrios objetos que fazem a procura por uma soluo deste problema

    (tentam sobreviver ao meio).

    A sobrevivncia de um conjunto de objetos dada pelo resultado que cada

    elemento fornecer como soluo do modelo: Quanto mais ajustado soluo do

    problema for o valor fornecido pelo elemento, mais chances a sua espcie ter

    para sobreviver. Tais elementos, assim como na vida biolgica, tm capacidade

    de copiar seus cordes de caracteres (multiplicao dos genes), de alterar os

  • valores dos seus cordes de caracteres (mutao dos genes), e de cruzar os seus

    cordes de caracteres (crossover).

    Em (WATSON, 1996) mostrado um cdigo de uso de algoritmos genticos

    para atuao em jogos de tempo real, onde num dado mundo virtual, naves

    possuem suas estratgias de jogo modificadas com base nestes algoritmos.

    3.6 P ath finde r (Procura por Trajetrias)

    Procura por trajetrias (pathfinder) uma tcnica usada em Inteligncia

    Artificial para fornecer um possvel caminho entre dois pontos, dado o mapa

    bidimensional ou tridimensional do ambiente navegado. Pode ser executado por

    somente um agente ou um conjunto de agentes que tm um objetivo em comum

    (um exrcito que deve se locomover de um ponto a outro, por exemplo).

    O caminho fornecido por esta heurstica nem sempre o melhor caminho, pois

    a resposta para o problema, no decorrer de um jogo de ao ou estratgia, deve

    ser fornecida rapidamente, mas o caminho fornecido como resposta j uma

    possvel soluo para a locomoo do agente entre os dois pontos.

    Em (PATEL, 2000) so descritas algumas caractersticas de programao

    sobre o algoritmo A* (A-Estrela) para encontrar um caminho entre dois pontos

    estticos, que se baseia no custo de locomoo do agente atravs de um territrio

    determinado. Tambm so citados outros dois mtodos de procura de caminhos: o

    algoritmo de Dijkstra, e o algoritmo da procura pelo primeiro melhor caminho

    encontrado (em ingls: Best-First Search ou BFS).

    36

  • 37

    Em (BAERT, julho de 2000) so descritas quatro heursticas usadas para

    procura de caminho entre dois pontos utilizando energia potencial de campo (em

    ingls: Potentia! Fieids).

    A tcnica da energia potencial de campo se consiste em que, dados os pontos

    inicial e final da locomoo de um agente, este se deve deslocar do ponto em que

    est para um ponto j determinado de energia mais baixa. O ambiente por onde o

    Fig. 9: Exemplo do jogo de estratgias D UNEII com p a t h f i n d e r _ _________

    M O XAT I OPTINS l Crdits 2 1 9

    agente deve andar mapeado de forma raster, de tal maneira que o ponto de

    energia mais alta o ponto onde o agente se encontra, e o ponto de energia mais

    baixa o ponto para onde o agente deve ir.

    Os obstculos so marcados como tendo energia potencial muito alta,

    garantindo que o agente nunca ir passar por cima de um obstculo.

  • A Figura 9 mostra uma tela do jogo de estratgias DUNE II (WestWood

    Studios, 2001) onde o veculo indicado pela cruz vai at o ponto indicado pelo

    mouse. A tcnica usada para fazer o movimento de pathfinder.

    3.7 Previso de Trajetrias com Minerao de Dados

    A aplicao de tcnicas de minerao de dados de Sries Temporais em

    deteco de trajetrias similares e sua previso se justifica por trs motivos:

    A funo de encontrar trajetrias similares gera, para uma nica entrada,

    vrias respostas, ou seja, uma funo bijetora;

    No existe uma distribuio estatstica conhecida para o comportamento da

    trajetria de um usurio durante um jogo de ao, sendo necessria alguma

    tcnica de minerao de dados.

    Os dados so dispostos em forma seqencial.

    Do ponto de vista da Vida Artificial, a partir de uma seqncia de dados, pode-

    se gerar vrias respostas, onde uma resposta serve como entrada para a tomada

    Fig. 10: Fluxo de informaes e comportamento do grupo de agentes inteligentes para pathfinder

  • 39

    de deciso de um agente inteligente, pertencente a um mesmo time de agentes

    dentro de sua classe, e cada agente se comporta de acordo com aquela resposta.

    O comportamento isolado de cada elemento resulta no comportamento final do

    grupo (Fig. 10), que a abordagem down-top vista na seo 3.4 - VIDA

    ARTIFICIAL.

    3.8 Redes Neurais Artificiais (RNA)

    Segundo (FAUSSET, 1994) uma Rede Neural Artificial (RNA) :

    Um sistema de processamento de informaes que tem certas caractersticas de

    performance em comum com redes neurais biolgicas. RNAs tm sido desenvolvidas como

    generalizaes de modelos matemticos da cognio humana ou da biologia neural,

    baseadas nos seguintes princpios:

    O processamento das informaes ocorre em muitos elementos simples chamados

    neurnios;

    Os sinais so passados entre os neurnios atravs de conexes;

    Cada conexo tem um peso associado, que, numa rede neural tpica, multiplica o sinal

    transmitido;

    Cada neurnio aplica uma funo de ativao (usualmente no-linear) sobre a prxima

    entrada da rede (que a soma da multiplicao dos sinais pelos pesos) para determinar o

    sinal de sada.

    Uma rede neural caracterizada por possuir:

    Um padro de conexes entre os neurnios (chamada de arquitetura da rede);

    Um mtodo prprio para determinar os pesos das conexes (chamado de algoritmo de

    treinamento ou aprendizagem); e

    Uma funo de ativao.

  • Mais detalhes podem ser vistos tambm em (HAYKIN, 1998).

    RNAs se aplicam a problemas onde no existe um conhecimento prvio da

    distribuio estatstica dos dados estudados. So tolerantes a erros durante o seu

    treinamento, podem generalizar resultados e tambm continuam a fornecer

    resultados corretos mesmo se houver uma perda de parte da rede (redundncia

    de dados).

    Redes Neurais devem ser treinadas para que aprendam a classificar os

    padres fornecidos, e seu treino limitado e pode ser refeito em pocas regulares,

    caso os dados tambm mudarem no correr do tempo.

    Em (BASTOS, 1998) existem algumas regras sobre determinao de

    parmetros de treino para redes neurais artificiais. Para maiores detalhes, ver

    (FAUSSET, 1994) e (HAYKIN, 1998).

    (WATSON, 1996), em seu jogo exemplo, utiliza RNAs para que o agente

    inteligente do jogo (uma nave-tanque fornecedora de combustvel) saiba navegar

    ehtre os meteoros no espao. Pig -| -|. AVgtar visto em VRML.

    (GRAND, 1997) explica alguns exemplos do

    comportamento das criaturas do software Creatures,

    utilizando RNA.

    3.9 VRML

    Surgindo da necessidade de demonstraes de

    grficos tridimensionais na rede mundial de

    computadores, a Virtual Reality Markup Language (Linguagem Incrementada para

    Realidade Virtual - Fig. 11), iniciou em janeiro de 1995 (HARTMAN, 1996) com

    . 40

  • 41

    com uma primeira verso que possibilitava somente visualizao e navegao

    atravs de elementos tridimensionais estticos.

    Em agosto de 1996 foi feita a segunda verso desta linguagem, possibilitando

    no s a navegao atravs de mundos tridimensionais, mas tambm a interao

    do usurio com os modelos atravs do mouse.

    Atualmente, empresas como a Parallel Graphics (maio de 2000) e Blaxxun

    (julho de 2000) possibilitam a interface do usurio com o mundo tridimensional

    atravs do teclado, tambm permitem a utilizao multi-usurio de mundos VRML

    atravs de software especfico. Em (MARRIN, 1997) mostrado passo a passo a

    programao e o funcionamento da VRML 2.0.

    A navegao de mundos VRML permitida por softwares chamados plug-ins,

    que podem ser instalados em navegadores da rede mundial de computadores. Os

    navegadores mais usados atualmente so o Netscape Communicator (junho de

    2000) e o Microsoft Internet Explorer (junho de 2000). Uma lista de plug-ins para

    VRML dada na Bibliografia.

    3.10 Redes de Computadores

    3.10.1 Conceitos de Redes de Computadores

    Segundo a (T1 Glossary 2000, 2002) e a (ATIS, 2002) uma rede de

    computadores :

    1 - Uma rede de ns que executam processamento de dados, que so interconectados com

    a finalidade de comunicao de dados. 2 - - Uma rede de comunicao em que os

    instrumentos finais so computadores".

  • 42

    3.10.2 Conceito de Protocolo

    Tambm segundo a (T1 Glossary 2000, 2002) e a (ATIS, 2002) um protocolo :

    1 - Um conjunto formal de convenes governando o formato e controle de interaes entre

    unidades funcionais que se comunicam. Nota: Os protocolos governam pores de uma rede,

    tipos de servio... 2 - Em arquiteturas de sistemas de comunicao em camadas, um

    conjunto formal de procedimentos que so adotados para facilitar uma interoperao funcional

    dentro da hierarquia em camadas.

    Dentro do escopo que fala sobre Redes de Computadores, neste trabalho, uma

    pesquisa foi feita sobre somente dois protocolos de comunicao de dados, o

    TCP/IP e o UDP.

    3.10.3 TCP/IP

    O TCP/IP (Transmission Control Protocol / Internet Protocol) se caracteriza por

    fazer a comunicao entre vrias arquiteturas de redes de computadores

    diferentes (X25, Token Ring, entre outras), e possibilitar o acesso Internet

    (HUNT, 1998).

    A comunicao com TCP/IP se d por pacotes de informao com tamanho

    dependente da rede de menor capacidade, e do fluxo de informaes entre as

    redes. O protocolo tambm se certifica de que o endereo objetivo da transmisso

    est ativo, e ento faz a transferncia das informaes.

    3.10.4 UDP

    Segundo (POSTEL e a RFC768, 1980) o UDP (User Datagram Protocol) se

    caracteriza por ser um protocolo de comunicao de dados, tambm atravs de

  • vrias redes de computadores interconectadas, que utiliza um mnimo de

    mecanismos de protocolos. A chegada da mensagem depois de enviada, e a

    proteo duplicada no so garantidas.

    3.10.5 Comparao entre Arquiteturas de Redes e Protocolos de Comunicao

    Segundo (PAUSCH et a i, 1994) existem dois tipos bsicos de arquiteturas de

    redes de computadores levando em conta sua comunicao: as arquiteturas

    multiponto e as arquiteturas ponto a ponto (multicasting).

    As arquiteturas multiponto se caracterizam por possurem um computador

    servidor, que se conecta com vrios computadores clientes, e que cada cliente

    conectado somente com o servidor.

    As arquiteturas ponto a ponto se caracterizam pelo fato de que cada

    computador pode se comunicar com os demais computadores que participam da

    rede, sem a necessidade de uma mquina intermediria.

    O autor tambm compara o modelo multiponto e ponto a ponto, apontando

    uma desvantagem da primeira: quando o nmero de clientes, e

    conseqentemente, o fluxo de informaes cresce muito, o servidor fica

    sobrecarregado, fazendo com que os pacotes de informao se acumulem em

    uma fila, ocasionando atrasos na resposta s aes destes clientes.

    Quanto atualizao das propriedades, o autor afirma que esta pode ser feita

    de duas formas: A atualizao por frame (tela) e a atualizao pelo tempo.

    A atualizao por tela feita dentro de um ciclo simples tal como um ciclo para

    ... faa ou enquanto ... faa, ou aps um evento, tal como a presso de uma

    43

  • 44

    tecla. Desta forma, computadores com maiores velocidades movem seus objetos

    mais rpido do que computadores menos poderosos.

    A atualizao pelo tempo feita utilizando o tempo como referncia, ou seja, a

    atualizao dos mundos de todos os computadores feita a intervalos regulares

    de tempo. Isto faz com que todos os objetos atuem com a mesma velocidade em

    todos os computadores.

    3.11 Deteco de Coliso

    O estudo de tcnicas de Deteco de Coliso em Realidade Virtual considera

    qualquer mtodo de preveno de interpenetrao entre dois poliedros, que se

    movimentam e giram com o tempo.

    Estas tcnicas so aplicadas para simular, em Ambientes Virtuais, o fenmeno

    fsico que rege que dois corpos no podem ocupar o mesmo lugar no espao.

    Segundo (GUIBAS et. al., 1999) a deteco de coliso entre dois poliedros

    importante para preservar o realismo de ambientes virtuais:

    ...deteco de coliso, que crucial em se tratando de criar ambientes virtuais realsticos, pois

    a coliso induz a comportamentos incorretos ou ao visual prejudicado."

    Em (JIMNEZ et. al., 2000) as tcnicas de computao grfica esto

    intimamente ligadas com deteco de coliso:

    A Computao Grfica engloba um vasto conjunto de aplicaes relacionadas ao CAD,

    Realidade Virtual e Simulaes Fsicas, que requerem rpidas tcnicas de deteco de coliso.

  • 45

    3.12 Gerao Pseudo-Randmica Paramtrica de Ambientes Virtuais

    Segundo LUBAN (2001), a grande maioria dos jogadores nunca chegam ao fim

    de seus jogos, no cumprindo seus objetivos, e coloca os motivos para tal fato:

    Em realidade, uma grande maioria de jogadores nunca termina seus jogos. Um nmero de

    fatores explica este fenmeno. Primeiro, produtos que fornecem um estilo rgido de jogo

    terminam por cansar os usurios. Alm disso, uma vez que os jogadores dominam os

    controles de um jogo em particular, o desafio termina, e este o interesse. Muitos jogadores

    tambm abandonam o jogo quando esto em um labirinto ou em um ponto que eles acham

    impossvel de sobrepujar.

    Aqui se nota dois princpios que devem ser seguidos por projetistas de jogos:

    os jogos de computadores devem ser flexveis, para que no fatiguem os

    jogadores, e deve existir um modo de criar novas possibilidades para um mesmo

    tema e ambiente de jogo, tal que no termine o desafio oferecido pelo jogo.

    O mtodo descrito aqui chamado de Gerao Pseudo-Randmica

    Paramtrica de Ambientes Virtuais pelos seguintes motivos:

    Em (BURDEA, 1996-b, tambm citado em 3.3), define-se Ambientes Virtuais

    como sendo um ambiente simulado em que repetem os fenmenos fsicos da

    realidade.

    Em (HUONG et. al., 1998, tambm citado em 1.2), afirma-se que os

    parmetros de interface homem-mquina que influenciam muito a sensao de

    realismo so o detalhe visual, a resposta do sistema e o fato de que o ambiente

    muda de acordo com a direo qual o usurio est olhando.

    Assim, conclui-se que, se o sistema capaz de representar o Ambiente Virtual

    atravs de elementos geomtricos tridimensionais com uma boa resposta ao

  • do usurio, ele capaz de oferecer ao usurio uma sensao muito realista deste

    Ambiente.

    Por outro lado, se analisando o mundo real, observamos que este mundo

    composto por vrios elementos separveis, possuindo suas propriedades

    independentes. Entre estas propriedades, pode-se destacar as propriedades

    visuais de cada elemento, tais como forma geomtrica, textura e/ou cor, absoro,

    reflexo e emisso de luz.

    Para cada elemento em separado, suas propriedades podem ser separadas

    em propriedades mais simples, numricas, contnuas ou discretas, que uma vez

    todas determinadas, determina-se tambm a propriedade em questo deste

    elemento.

    Estas propriedades simples so os parmetros do elemento estudado, e uma

    vez determinados estes parmetros, determina-se a propriedade total do

    elemento.

    Se o mundo real pode ser separado em elementos discretos, com uma

    geometria definida, propriedades de textura, cor e luz, e, dado um sistema onde se

    consegue reproduzir um Ambiente Virtual em tempo real, ento este Ambiente

    Virtual tambm pode ser composto de elementos discretos, cujos parmetros so

    suas formas geomtricas, cor, texturas e comportamentos de luz.

    Uma forma de gerar - ou numa definio mais forte e arriscada - criar um

    Ambiente Virtual atravs de um meio digital o objetivo deste trabalho, onde para

    isto, um dos requisitos tornar este Ambiente to imprevisvel quanto a natureza

    real, utilizando-se ento dos nmeros pseudo-randmicos digitais.

    46

  • Em (RIPLEY, 1987) define-se os nmeros randmicos em termos de

    previsibilidade:

    ...Na linguagem comum atual, chamamos os fatos de randmi