Da Realidade Virtual para a Eternidade Virtual
Por Paul Francuch
Imagine-se travando um diálogo com Isaac Newton ou com Albert Einstein sobre a natureza do universo, onde suas representações tridimensionais de tamanho real olham você em seus olhos, examinam sua linguagem corporal, consideram as nuances da voz e a fraseologia de suas questões, e então lhe respondem de uma forma que é tão real que você pode jurar que as imagens estão vivas.
Esta é uma cena de abertura de um episódio da série de TV Jornada nas Estrelas, de quase uma década e meia atrás. Um novo projeto de pesquisas que será feito conjuntamente pelas universidades de Illinois e da Flórida, ambas nos Estados Unidos, poderá brevemente tornar essas conversações imaginárias uma realidade.
Inteligência Artificial, videogames e animação gráfica
A tecnologia dos videogames, da animação gráfica e da inteligência artificial fornecerão os elementos para que isso aconteça. A Fundação Nacional de Ciências (NSF) dos Estados Unidos está investindo meio milhão de dólares nesse projeto com três anos de duração, para que os pesquisadores ponham juntos esses elementos e criem a metodologia para tornar esses personagens virtuais uma realidade cotidiana.
"O objetivo é combinar inteligência artificial com os últimos avanços no processamento gráfico e na tecnologia de vídeo-games que nos permita criar arquivos históricos de pessoas além do que pode ser feito utilizando-se as tecnologias tradicionais como textos, áudio e filmes de vídeo," diz Jason Leigh, coordenador da pesquisa.
O Laboratório de Visualização Eletrônica, localizado na Universidade de Illinois, em Chicago, irá construir um estúdio de captura de movimentos estado- da-arte para digitalizar a imagem e o movimento de pessoas reais que passarão a viver em uma eternidade virtual através da realidade virtual.
Eternidade Virtual
O conhecimento dessas pessoas será arquivado em bases de dados. As vozes serão analisadas para se criar vozes sintetizadas virtuais mas que soem como naturais. Maneirismos serão estudados e utilizados na criação dos personagens virtuais 3D, conhecidos tecnicamente como avatares.
O professor Leigh afirma que sua equipe espera criar pessoas virtuais que respondem com um alto grau de reconhecimento das diferentes vozes e das várias formas frasais em que as questões podem ser construídas.
"Imagine um computador esperto o suficiente para fazer o avatar responder 'Você entende o que estou dizendo?' na forma natural com que os humanos comunicam-se entre si," diz Leigh. "Nós estamos tentando torná-lo tão natural quanto possível."
Avatar interativo
O responsável pelo teste do projeto será um pesquisador sênior da NSF conhecido pela riqueza de seu conhecimento institucional. Um estudante de graduação vai se tornar a sombra desse pesquisador por vários meses, coletando gravações de vídeo e voz. Sua presença será digitalmente reconstruída e as entrevistas utilizadas para colher seus conhecimentos serão armazenadas na base de dados. Isto irá permitir que o pessoal da NSF consulte seu equivalente virtual sempre que eles precisarem de sua sabedoria institucional.
O professor Leigh vislumbra um mercado comercial para a preservação de pessoas virtuais onde conhecimentos únicos ou críticos sejam vitais para a operação de corporações e outras instituições.
Os computadores mais poderosos e mais rápidos do futuro certamente aumentarão o realismo desses avatares interativos. Como eles serão utilizados é uma questão limitada apenas pela imaginação de cada um.
"O que é interessante para nós é como isto funciona em ciclos," diz Leigh. "Pesquisas em simulações e gráficos avançados resultaram na atual tecnologia de jogos de computador. Um monte de técnicas de realidade virtual que nós agora consideramos como coisa corriqueira em consoles de jogos como o Nintendo Wii ou em ambientes imersivos como Second Life vêm de laboratórios como o nosso. Agora, a próxima geração de tecnologia de jogos está estimulando novas aplicações para pesquisas na área de simulações e gráficos avançados que poderão beneficiar os videogames, assim como outros campos."
fonte: Inovação Tecnológica
por Reinaldo Dagnolo · 29.4.07 · |

Games x I.A. - Possíveis problemas no desenvolvimento
De acordo com especialistas das áreas de games e inteligência artificial, o desenvolvimento de jogos envolvendo a I.A. pode passar por alguns problemas, sendo que os quatro principais seriam os seguintes:
- Período de desenvolvimento
O problema estaria na hipótese de haver um curto período de tempo para o desenvolvimento do game, o que impediria que os desenvolvedores do jogo aprendessem sobre as tecnologias de ponta de I.A. e suas aplicações em um jogo comercial. (BOURG, 2004)
- Algoritmos de aprendizado
Os algoritmos de aprendizado produzem resultados difíceis de serem testados, já que não são previsíveis. Por isso, muitos desenvolvedores acabam decidindo por utilizar técnicas de I.A. determinísticas, pois são mais conhecidas por eles e mais fáceis de implementar. (WOODCOCK, 1999)
- Poder de processamento
Algoritmos com alto custo de processamento não podem ser implementados em jogos que necessitam de respostas em tempo real. Jogos são softwares executados em tempo real, com informações sendo processadas e atualizadas a cada ciclo de máquina. (TOZOUR, 2002)
- Game design
Durante o desenvolvimento de um jogo, toda a equipe se baseia no documento de game design. No entanto, pode surgir certo confronto entre game designers e os programadores da I.A. do game. (CHAMPANDARD, 2003)
Segundo João Ranhel, em "Os game designers e a inteligência artificial", publicado no Gamecultura e aqui no ai4games, os game designers definem a dinâmica do game e a estratégia de comportamento dos NPCs. Os programadores e engenheiros de software, de preferência os que conhecem o leque de opções que a I.A. oferece, tomam as decisões mais técnicas e as que mais se adequam ao problema apresentado.
por Reinaldo Dagnolo · 27.4.07 · |

"B.A. - Burrice Artificial"
Muitos jogos podem nos surpreender com sua inteligência artificial muito bem elaborada e com falhas quase inexistentes na ação dos bots. Games como F.E.A.R. são exemplos disso.
No entanto, muitos jogos também podem nos surpreender com sua inteligência artificial frustrante. Nesse caso, revistas e sites especializados em games afirmam que, ao invés da I.A., existe a presença de uma "B.A." - "burrice artificial" - nos oponentes do jogador.
Se houvesse um ranking com os melhores games no quesito "B.A.", alguns do gênero de esportes certamente encabeçariam a lista, como games de futebol, por exemplo, nos quais é freqüente a ocorrência de ações extremamente ineficientes do goleiro do time da máquina. O game FIFA, em suas várias versões, alterna entre avanços e retrocessos na inteligência artificial. A versão 2006, por exemplo, tem I.A. melhor do que a versão 2007, sendo que esta traz alguns problemas vistos em jogos mais antigos. Um clássico exemplo é um jogador que fica estático, olhando a bola passar, enquanto deveria correr atrás da bola ou agir de maneira mais ativa. Isso ocorre tanto com jogadores de linha, quanto com goleiros.
Mas não são apenas games esportivos que disponibilizam o recurso da burrice artificial. Medal of Honor: Frontline (MOHF), para Playstation 2, também "implantou" nos oponentes do jogador humano um sistema de B.A. bem eficiente, ao contrário do antecessor Medal of Honor Allied Assault (MOHAA), este para PC. O trecho a seguir é de uma análise do jogo, disponível aqui, na qual o autor cita alguns problemas notados com relação à I.A.:
"Outro problema é a inteligência artificial dos inimigos, que no caso deste MOHF, se transformou em uma burrice artificial frustrante. É uma pena, pois ao contrário de MOHAA, onde os soldados reagem com realismo ao combate e possuem scripts muito bem bolados para suas ações, aqui tudo é muito precário e ironicamente, artificial. Quando você dispara a arma, por exemplo, sai todo mundo atirando em você, mesmo que esteja de costas, na janela ou do outro lado do cenário. E há casos em que mesmo atirando em um soldado, ele não reagia, ou reagia estupidamente. E fora as vezes em que eles ficavam correndo em direção à parede, atrapalhando sua passagem por uma porta ou vão. (...)
Estes bugs são fruto de uma programação mal feita e ao desatento controle de qualidade da EA. A falta de atenção aos detalhes e polimento da jogabilidade é lamentável em um jogo deste calibre." - Reinaldo Normand
Curiosamente - ou não - Medal of Honor: Frontline e FIFA 07 são da mesma produtora, a Electronic Arts.
por Reinaldo Dagnolo · 25.4.07 · |

Os game designers e a inteligência artificial
Por João Ranhel
Há duas abordagens principais na Inteligência Artificial: IA centralizada e a IA distribuída. Pense um software que controla tudo (todo poderoso) e que sabe tudo (oniciente), esta é a abordagem centralizada. Há vários tipos de games em que esta abordagem é a mais indicada. Para tomar decisões o programa pode usar soluções de busca em árvores de decisões (heurística) ou pode consultar um banco de dados de casos (CBR - case based reasoning) etc. Um tipo de game que eu provavelmente usaria esta abordagem seria um jogo de xadrez, ou um game que segue uma história meio linear (o programa controla o fluxo, a interatividade, e os NPCs dentro de opções até certo ponto previstas antecipadamente). Agora pense um software que possua um ambiente no qual existem alguns agentes (elementos que tomam decisão por si mesmos) que interagem entre si e daí emerge um comportamento global "inteligente". Essa é a abordagem da IA distribuída. Cada agente sabe fazer sua parte, apenas sua parte, sem ter conteúdo do todo. Mas os agentes se comunicam e interagem uns com os outros, então eles podem armar estratégias colaborativas, ações coordenadas, etc.
A questão de escolher qual IA utilizar é complexa porque tem a ver com a dinâmica do game e a estratégia de comportamento dos NPCs (trabalho do game designer), tem a ver com engenharia de software (por exemplo, definir a ontologia do conhecimento empregado no jogo - traduzindo: como formatar os dados para que os NPCs "saibam" que tipo de informação recebem e/ou enviam, e como eles captam informações do meio - ou sentem o ambiente); e tem a ver ainda com o ambiente escolhido (trabalho do diretor de programação - aquele que escolhe o engine, linguagem, etc).
Grosso modo, é possível encontrar em diferentes games toda gama de soluções de IA. Uma das abordagens mais usadas para criação de agentes NPCs é a de "Sistemas Multiagentes Cognitivos". A idéia é que cada agente saiba realizar tarefas mínimas e, em cooperação com outros, fazem emergir um comportamento grupal que um observador externo enxerga como "inteligente", como já foi dito. Talvez a arquitetura mais usada (e eficiente, diga-se) seja a de agentes BDI. Eles são criados com um sistema de Crenças (Beliefs) de Desejos (Desires) e Intenções (Intentions) daí o nome (BDI).
Voltemos à encrenca... alguns engines automatizaram o controle da IA, e você consegue controlar NPCs apenas por meio de parâmetros - então, geralmente a IA embutida nos engines é (um tanto) limitada e específica. A menos que você tenha acesso aos códigos fontes da engine e resolva encarar modificá-los.
Em ambientes no qual a equipe de desenvolvedores cria o protocolo de comunicação e a base de conhecimento dos agentes a IA fica mais rica, porque permite maior flexibilidade aos desenvolvedores. Mas, não se iludam, não é trabalho para apenas um nerd sentado em um micro na garagem de casa. Eu creio que em muitos games são os engenheiros de software que criam esses protocolos e as ações básicas que cada agente sabe executar, e eles com certeza são uma equipe. Onde o designer entra nisso? Ele diz para os engenheiros "o que" o agente deve fazer e "como" cada NPC deve agir, reagir, etc. Por isso trata-se de um trabalho conjunto.
Além dos agentes cognitivos, tem gente trabalhando com agentes reativos (que são agentes comportamentais - behaviorismo puro). Este paper dá uma idéia.
Esse tipo de agente reagente sabe pouquíssimas coisas, por exemplo, sabe desviar de obstáculo, sabe vaguear, sabe procurar coisas, quando as encontra sabe pegá-las e deixar uma trilha para indicar para outros agentes, a partir de onde foi encontrado tal objeto, e sabe procurar trilhas que outros agentes deixaram e segui-las. Qualquer semelhança com as formigas não é mera coincidência. Assim, um enxame de agentes pode gerar um comportamento inteligente...
Então, é dizer que, o designer de game TEM SIM, um papel importante na IA do game, quando define o comportamento das "coisas vivas" do game, que é o que se chama "agentes', aqueles que agem no jogo (note que não são só os NPCs). Mas, decisões mais técnicas cabe aos programadores e engenheiros de software, de preferência aqueles que conheçam o leque de opções que a IA oferece, e quais melhor se adequam ao problema apresentado.
fonte: Gamecultura
por Reinaldo Dagnolo · 25.4.07 · |

Benefícios da inteligência artificial para os jogos
No início da história dos jogos, a presença da inteligência artificial ¿ como é vista atualmente ¿ era algo discutível e, talvez, dispensável.
Por exemplo, em Qwak (1974), uma tela com uma paisagem estática e patos que se moviam já era o suficiente para que a diversão do jogador fosse garantida, pois tudo era muito novo e esse foi o primeiro jogo no qual o jogador tinha a experiência de atacar um inimigo controlado pela máquina.
Com o passar dos anos e os lançamentos de consoles mais poderosos, os recursos gráficos foram melhorados em escala muito maior do que os recursos da inteligência artificial. Isso é comprovado pelo fato de que pelo menos durante os 20 primeiros anos dos games ¿ de Spacewar (1962) a Pac-man (1980) ¿ a única técnica de inteligência artificial utilizada nos jogos foi a de padrões de movimento.
A chegada da década de 90 fez com que o desenvolvimento de melhores técnicas de IA fosse necessário, pois alguns games criados na época simulavam a visão do próprio jogador percorrendo um ambiente e enfrentando inimigos, como ocorreu em Doom (1993), primeiro jogo de tiro em primeira pessoa (FPS).
Considerando somente os FPS, as inovações na inteligência artificial vêm sendo cada vez mais necessárias, uma vez que a falta de novas técnicas e a possibilidade de jogar contra outros jogadores humanos (modo multiplayer) provocaram o quase abandono do modo de jogo singular, no qual o jogador enfrenta a máquina e precisa passar por fases ou missões para chegar ao fim do jogo.
Em jogos como Unreal, Half-Life e, mais recentemente, F.E.A.R., a inteligência artificial dos NPCs (non-player characters) resgata o prazer do jogador em enfrentar a máquina, pois as reações dos inimigos não são mais tão previsíveis quanto em jogos mais antigos.
Em F.E.A.R., por exemplo, a IA dos inimigos chega a assustar. Todas as ações deles são baseadas em táticas específicas para o momento do jogo, criando situações novas em cada um dos inúmeros combates entre jogador e computador. As táticas são tão específicas que, dependendo da ameaça que o jogador humano representa para os inimigos, estes podem trocar informações e atacar o jogador em conjunto, a fim de obterem sucesso mais facilmente.
Isso gera mais interesse do jogador em enfrentar a máquina, pois agora ele sabe que sempre poderá ser surpreendido por um ou mais inimigos. Tendo maior dificuldade, o jogo se torna mais desafiador e, conseqüentemente, mais divertido para o jogador.
por Reinaldo Dagnolo · 25.4.07 · |

F.E.A.R. - primeiro contato...
Depois de ler muita coisa sobre o jogo e sua inteligência artificial, tive hoje o 1º contato com o F.E.A.R. na prática.
É claro que tudo o que eu tinha lido estava certo, mas, por mais que eu tentasse, não tinha a noção exata de como era a I.A. do jogo.
Meu 1º contato com o F.E.A.R. foi rápido, já que joguei apenas a versão demo, mas pude ter idéia do nível da inteligência dos bots e a maneira como eles se comportam no decorrer do jogo.
Os bots dificilmente ficam parados esperando por algo que os estimule a reagir. Só pela versão demo, vi que são raras as vezes em que os bots ficam estáticos. Geralmente circulam pelo ambiente, como se tivessem uma área de cobertura. Além disso, é fantástica a comunicação entre os bots e as táticas utilizadas para atacar o jogador. Basta que um dos bots veja o jogador para que todos se movimentem procurando a melhor posição, tanto para a defesa, quanto para o ataque.
O próprio ambiente é utilizado por eles nas estratégias de defesa/ataque. Paredes, muros, escadas e até prateleiras servem como escudo. No caso das prateleiras, os bots chegam a jogá-las no chão para que tenham mais proteção durante os ataques.
Falando em ambiente e efeitos visuais, o F.E.A.R. também está na frente da maioria dos jogos atuais. Todos os objetos presentes numa cena de combate sofrem danos com os tiros e explosões, mas nada some do ambiente, ao contrário do que acontece em muitos jogos. Madeiras e vidros quebrados continuam no chão, armários e prateleiras podem mudar de posição e buracos de tiros são permanentes.
Outro destaque muito comentado por aí, mas que eu ainda não tinha experimentado, é o modo slow-motion durante ataques em massa dos bots. Na versão demo precisei do recurso uma vez, pois estava praticamente morto e 3 bots ainda me esperavam. Graças ao slow-motion matei 2 deles, mas acabei morrendo no 3º.
Voltando para a inteligência artificial dos bots... Antes de um dos tiroteios, tentei acertar um inimigo de longe e, por causa do barulho, outro correu para me atacar. Mas o ataque não foi feito naquele estilo "Quake" - com o inimigo partindo para o ataque sem preocupação nenhuma -, é lógico. O primeiro bot (aquele que acertei no começo) ficou ferido, mas mesmo assim continuou na sua tática. O segundo, que ouviu o tiro, apareceu na cena voando por uma das janelas de vidro e entrou numa sala para ter proteção. Abriu a porta e, agachado, tentou atacar. O primeiro tentou um ataque mais suicida, mancando, e acabou atingido várias vezes. O segundo só ficava parado quando estava atrás de uma parede, mas freqüentemente aparecia para checar minha posição. Ataquei, fui atingido, mas peguei o bot depois de muito tiroteio.
Em outro momento do jogo, subi por uma escada e vi pelo menos 2 bots circulando. Um estava do lado de fora, outro no corredor de dentro do prédio. Matei rapidamente o bot que estava no corredor e corri para me esconder do que estava fora do prédio, pois ele ouviu os tiros e correu para dentro. Abriu a porta e, como não me viu, continuou lá fora. Dei uns tiros para que ele viesse para dentro do prédio, mas ele continuava fora. Tive que correr para o outro lado, voltar e, assim, fazer com que ele me visse. E foi o que aconteceu.
O bot me viu, mas não entrou no prédio sem ter uma tática. Correu para o lado contrário de onde eu estava para ficar atrás de uma parede. O mais impressionante foi o fato do bot correr para a parede e atirando para trás, na minha direção.
Depois de mais alguns tiroteios e aparições daquela menina bizarra no estilo "O Chamado", terminei a demo do F.E.A.R.
por Reinaldo Dagnolo · 24.4.07 · |




