Upload
doduong
View
216
Download
1
Embed Size (px)
Citation preview
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