Inteligência Artificial

Tags: ciência da computação, computação, F.E.A.R., IA, inteligência artificial, inteligência artificial em games, killzone 2, Milo, programação

O que é isso? A Clá ficou doida e vai falar do filme daquele molequinho esquisito que é um robozinho?

Muleque, tu tem a cara muito socável... sério... u.ú

Nada disso, queridões e queridonas! Vou abordar neste post um assunto muito interessante e que é presente em vários jogos que nós já desfrutamos em nossa infância, adolescência e atualmente: a Inteligência Artificial.

Já uma nota: isso aqui NÃO É UMA AULA DE INTELIGÊNCIA ARTIFICIAL, é só um post com uma leve “pincelada” sobre o assunto e o que tem a ver com jogos eletrônicos. Por eu estar estudando bastante sobre o assunto e sobre programação para o meu TCC, vou compartilhando aqui com vocês o que vou descobrindo e interligando com games.

O que é IA, Clá?

Inteligência Artificial nada mais é do que um área da Ciência da Computação (meu curso!) que procura pesquisar para tentar entender como o cérebro humano funciona, como ele recebe informações, analisa e dá um retorno dependendo da solução que foi encontrada pela massinha cinzenta que temos dentro da nossa caixola. Com início na Segunda Guerra Mundial (pra variar,né), os estudos sobre a inteligência humana começou a todo o vapor, com aquela ânsia de ver como funciona a inteligência humana e de se simular isso em um computador. Com o passar dos anos, o estudo só foi evoluindo, dando origem a alguns “filhos” dessa área como os Algoritmos Genéticos, Sistemas Especialistas, Redes Neurais (meu karma), Robótica, entre outros que não vêm ao caso.

O que isso tem a ver com games?

Todo mundo já jogou Pac-Man, não?

Onde peguei o jogo emprestado: RenatoTavares.com

Analisando o jogo, como vocês acham que os fantasminhas vão atrás de vocês por todo o labirinto? É aí que a IA (vou começar a abreviar Inteligência Artificial) entra. Por mais que o jogo seja meio velho, e a IA meio “porquinha”, ela JÁ ESTAVA LÁ em cada fantasminha, cada um com sua personalidade. Não posso esquecer também que também notamos algo assim em Space Invaders, que veio ANTES de Pac-man, principalmente quando vemos os alienígenas atirando de volta contra a navinha do jogador. Karate Champ, um dos primeiros jogos de luta da História dos Videogames (antes que venha um troll, eu disse UM DOS PRIMEIROS, e não o primeiro,tá?) também tinha um IA simples, mas que já era o suficiente pra fazer gamers arrancarem os cabelinhos e terem orgasmos múltiplos por ter um adversário no jogo que não fosse controlado por outra pessoa e que mesmo assim chutasse a sua bunda friamente. Esses personagens controlados pelo computador são chamados Nonplayer Characters, ou seja, personagens não jogáveis. Óbvio, não?

TÁ CLÁ, MAS TINHA JOGO ANTES COM INIMIGO NA TELA MAS QUE ELE NÃO TE SEEEGUE, E AÍ, O QUE É?

Alguns jogos tem uma “pseudo-IA” no seu código fonte. Como assim? Sabem aqueles inimigos que fazem o mesmo movimento TODAS AS VEZES que você liga determinado jogo, tanto que você decora seus movimentos? Então, nesse caso é uma IA bem fraquinha, já que o tal do inimigo tem aquele movimento já programado E ELE SÓ VAI FAZER AQUILO. Com a ideia de mudar isso, nasceram as Redes Neurais.

O estudo de Redes Neurais baseia-se em procurar entender o funcionamento dos NEURÔNIOS presentes no cérebro (ou o pouquinho que alguns têm) e com isso pesquisar mais a fundo o seu APRENDIZADO. Sim, não basta querer fazer aquele inimigo bonitinho se mexer sozinho com IA, tem que fazê-lo aprender os movimentos do jogador ou segui-lo, tornando a sua jornada em qualquer jogo um pouquinho mais difícil. É aí que as Redes Neurais entram na brincadeira.

O objetivo das Redes Neurais é simular quase que 100% o funcionamento dos neurônios dos animais e do ser humano. Cada neurônio recebe uma determinada informação, raciocina e toma decisões de acordo com o que recebeu de informações, agindo logo em seguida. A intenção das Redes Neurais é fazer com que um computador solucione problemas no menor tempo possível, PORÉM quando eu disse que é pretendido simular 100% o funcionamento dos neurônios dos animais, isso é quase impossível de se conseguir. Por quê? O cérebro humano consegue receber várias instruções e solucioná-las ao mesmo tempo, coisa que um computador não faz, já que ele recebe UMA instrução por vez.

Jogos que encontramos IA

Proposta de Milo, mostrado na E3 2009.

IA citada em Metal Gear Solid: Peace Walker (PODE CONTER SPOILERS DO JOGO!!!)


Guarda pede misericórdia por sua vida em Assassin’s Creed… depois de perseguir Altaïr com outros guardas, claro!

IA de Killzone 2

IA de F.E.A.R.

Mas nem sempre as IAs funcionam do jeito que deveriam…

Ô SEU BURRO, TÔ AQUI ATRÁS!!

VAI MEU, ME DÁ UMA MÃO, CACETA!!

WTF?

Donkey Kong com crise de depressão e suicida?

Mas hein?

Clarice dos Santos
Share on Tumblr
Feed do Post
31 Comentários em "Inteligência Artificial"
  1. Hélio
    20/09/2011

    Legal, Clá!
    Essa é uma coisa q precisa evoluir correndo pra próxima geração. Pq é impressionante como os gráficos melhoram, mas continuamos lidando com NPCs bobos em muitos casos! Acho q esse é um dos motivos do multiplayer com pessoas ser tão alardeado hoje em dia. Pois o cérebro humano é infinitamente mais imprevisível q uma IA de computador.
    MGS tem inimigos q são muito bons pra te pegar em certas horas, mas q em outros momentos, dão umas vaciladas feias, tipo não desconfiar q a caixa q apareceu do nada tem um intruso, te esquecer e não reforçar a segurança depois q o Snake é pego, enfim… Liberdades poéticas do senhor Kojima.
    P.S.: Nada a ver com o tópico, mas estou rejogando Crisis Core por causa do seu tópico, ele acendeu a vontade em mim de novo! ^^

    • bQUARKz
      21/09/2011

      Exatamente. O problema é que para se criar algo realmente inteligente em tempo real necessitaria de uma carga computacional imensa. Logo, a solução é apresentada com uma programação de “estados” pré-definidos. A técnica de programação comumente chamada de máquina de estados finitos é a responsável atualmente por toda a inteligência de jogos que hoje conhecemos. Quanto mais estados, mais abrangente e também mais complexa fica a máquina. Com o advento das poderosas placas gráficas da atual geração com pipeline gráfico e os “cambau” a carga de processamento de imagens que recaía tão somente na CPU agora recai sobre a GPU (Unidade Gráfica de Processamento, sua placa gráfica), deixando a CPU para fazer outras tarefitas muito interessantes, como por exemplo, IA e física. Mas apesar disto tudo IA ainda são estados pré-definidos, um bom exemplo disso é o kinectic da caixa. O project natal foi somente ensinar uma máquina a reconhecer movimentos, isso é inteligência, depois de ensinada (o que levou muito tempo) os estados foram “lacrados” e colocados em um firmware pequeno e barato, isso é pseudo-inteligência.

      O assunto de IA ainda beira a ficção cientifica. Alguém gosta de Isaac Asimov? Clá você está produzindo algum joguinho?

      • Clarice dos Santos
        21/09/2011

        To tentando fazer um jogo de luta utilizando RNA, mas tá difícil…rsrs.

        • 30/09/2011

          Nossa, Clarice! Vai ser um desafio e tanto usar RNA para fazer um jogo de luta, hein? Uma opção seria usar algoritmo genético ou alguma forma mais maleável e dinâmica de IA. No caso de RNA, tem todo o processo de treino da rede que, neste caso, teria que ser simples o suficiente para não concorrer com o processamento do jogo.

          Em relação a IA propriamente dita, no começo ela bem que tentou imitar o máximo possível o cérebro humano. Isso ocorreu entre os anos 50 até os anos 70, quando houve a “grande decepção” da IA, que prometeu muito e cumpriu pouco. Aí percebeu-se que, ao invés de tentar replicar o cérebro humano de forma perfeita, o ideal talvez seria imitar apenas alguns aspectos da mente humana e aproveitar essas representações em aplicações práticas e na solução de problemas. Procure por “IA forte versus IA fraca”.

          Caso você queira mais informações sobre IA e jogos recomendo fortemente a leitura do livro “AI and Artificial Life in Video Games” por Guy W. Lecky-Thompson, da editora Charles River Media (Course Technology – CENGAGE Learning). Procure também na net a respeito do jogo Outcast, que possuia uma engine de IA própria chamada de GAIA, que usa conceitos de simulação multi-agentes e de simulações sociais.

          Abraços

  2. 20/09/2011

    Ah… muito bom saber que uma colega “compu*****” (com todo respeito, obviamente, mas censurei pra manter a piada interna) está por aqui. Mas eu gostaria de fazer uma complementação.

    Uma IA pode fazer sempre a mesma coisa e não parecer repetitiva se for bem construida. Isso pode ser notado em jogos como SSF2THDR onde você não pode ficar fazendo a mesma coisa o tempo todo. Jogos podem, por natureza, serem reduzidos a ações repetitivas. Os bons designs evitam que isso seja percebido.

    Para fazer uma IA aprender você não precisa de uma rede neural, que é sim muito complexa e por isso nenhum jogo implementa atualmente (alguns dizem que implementam… mas não vou entrar nessa discução). Redes neurais não são a única forma de simular aprendizado mas não me debruçarei nisso.

    Quanto a limitação de processamento das redes neurais essa solução apareceu mês passado: (http://science.slashdot.org/story/11/08/18/1458202/IBM-Shows-Off-Brain-Inspired-Microchips ) mas isso não deve ser utilizado para jogos.

    Para finalizar uma curiosidade: O Milo do vídeo de demonstração do Kinect não é a única IA demonstrada no vídeo. O Kinect só sabe reconhecer pessoas da forma como ele faz e com a velocidade que ele faz porque ele é uma rede neural que passou por um treinamento prévio com milhões de imagens. Com o tempo a rede neural dele aprendeu a identificar apropriadamente cada parte do corpo humano em suas diversas formas e tamanhos.

  3. Nênia
    21/09/2011

    Você foi injusta com o Pacman. Ele é antiquado, mas o algoritmo A* é bem mais evoluído que a AI dos primeiros sonics, marios e Alex kids.

    • Clarice dos Santos
      21/09/2011

      Em momento algum fui injusta com Pac-man. O fato de eu ter dito “IA meio ‘porquinha'” se dá ao fato de compararmos a IA desse jogo (que fez parte da minha infância por sinal) com os dos jogos atuais. Fiz isso mais como uma comparação, em momento algum falei que Pac-man era uma porcaria…rs.
      O jogo é muito bom, gosto muito dele até hoje, e não tive a intenção de desmerecê-lo, muito pelo contrário, ele foi um dos primeiros a ter uma IA que “persegue” o jogador, o que o torna um dos ícones quando o assunto é Inteligência Artificial.
      Um abraço!^^

      • Nênia
        22/09/2011

        Sério?
        Eu prefiro o jawbreaker.

  4. vinicius
    21/09/2011

    Tem alguns jogos que tem burrice artificial, principalmente em jogo de tiro, uma coisa sem nexo que eu vejo é o gta depois de um tempo a polícia esquece que você faz massacres toda hora, e depois fica preso por um segundo!
    kkkk
    Um jogo que vi coisas de burrice artificial é assassin’s creed 2 quando estamos em batalha só 1 cara te ataca, os outros ficam esperando! eu ria.
    Um que eu acho que é um dos melhores i.a, podem rir más é top gear do snes aquele carrinho é igual a um jogador de verdade, caraca era foda em algumas pistas!

  5. Thiago
    21/09/2011

    No Ninja Gaiden 2 do X Box 360 e na série Splinter Cell os inimigos tem vidência e covardia artificial às vezes rsrsrs No Ninja, enquanto vc tá lutando c alguem, tem sempre um cara fdp q espera vc parar de defender e te ataca no milésimo de segundo em q vc iria atacar o primeiro cara hauhauahaua Dá raiva as vezes!!!!! Mas c certeza virar um jogo apelão é mais gratificante!!!!!

  6. Shadow Warrior
    21/09/2011

    Clá, adorei o seu post. Eu também estudei um pouco dessa matéria na minha facu.
    Na época em que eu estava pesquisando sobre o assunto, encontrei um jogo muito interessante, na verdade um drama interativo chamado Façade (http://www.interactivestory.net/).
    Ele usa uma tecnologia de inteligência artificial parecida com aquela usada no jogo Milo, que apareceu na E3 2009, quando o Kinect ainda era conhecido como projeto natal. Mas é bem mais simples(tosco), porque foi lançado em 2005 e não teve o patrocínio da Microsoft. =/
    A diferença, além dos milhões investidos e a qualidade dos gráficos, é que no Milo, a interatividade é audiovisual, enquanto a do Façade é via texto, mouse e teclado.
    Mesmo assim, é impressionante ver as reações dos personagens quando digitamos alguma “frase que a Vivi diria”(taí uma boa dica para o próximo Gamecídio XD) ou somos “excessivamente carinhosos” com eles.

  7. 21/09/2011

    Quer pegar um jogo com a IA muito bem trabalhada? Pega o (Need For Speed) Shift 2: Unleashed. O jogo não é tão bom, principalmente com questões relacionadas à física dos carros e tal, mas a IA dos pilotos é animal. Os caras defendem posição, entram junto na curva e também erram. Outro jogo que é assim é o F1 2010, e com sorte o F1 2011 melhorou mais ainda esse aspecto.

    Mas essa coisa de inteligência artificial é meio complicada nos jogos. Killzone 2, por exemplo, tem um dos glitches de IA mais idiotas do mundo: próximo do final do jogo, quando eles estão prestes a entrar na fortaleza do Visari, um ATAK aparece bem em frente aos jogadores, junto com alguns soldados. Ok? Ok. Se você destruir esse ATAK, o jogo tem o trigger normal e tal com mais soldados aparecendo nas escadarias. Se você simplesmente CORRER e passar o ATAK por baixo, o jogo não solta esse trigger e você não enfrenta mais ninguém pra chegar no palácio. Em compensação, a batalha contra o Radec dentro do palácio é insana. Quando ele manda as tropas dele é tudo bonitinho e tal, mas quando é ele… Você não sabe onde ele tá, se ele vai atacar com granada, com arma, facada e afins. Chega a ser ridículo.

    E aquela fase do COD: Black Ops, em que o jogador só precisa atirar quando o jogo pede (são dois triggers de eventos)? Acho que é a fase em Cuba.

    Enfim, acho que tirando jogos de esporte e uma minoria de outros jogos, a maioria das IA ainda está anos luz de ser perfeita. :/

  8. leandro(leon belmont)alves
    21/09/2011

    por mais que a IA de um jogo seja tão inteligente que faz você morrer de raiva por não passar de uma parte do jogo, ela continuará, pelos menos para mim algo programado. tipo, um soldado de um game FPS já tem uma noção do que fazer caso for dar de cara com um jogador menos stealth(vai tentar bancar o rambo em CODMW2 para ver vai?) mas dá para enganar esse soldado programado ou um Deus aquático nervoso para matar um cara espartano careca de cavanha segurando umas espadas, mesmo no nível mais ferrado do game.

    mas isso é normal. senão o game ficaria realmente impossível para seres humanos. tipo advance wars, um jogo de estrategia para o game boy advance. nas dificuldades mais dificeis do game se você , fizer um rank S nas primeiras missões, as missões seguintes viram um inferno. dizem até que a última missão do game se torna virtualmente impossível de vencer.

    graças a Deus que nem todo game é hardcore desse jeito.

  9. xxx
    21/09/2011

    recomendo o filme animação ghost in the shell…
    o homem é a máquina mais perfeita que existe, colocaram uma proteína em certos computadores para melhorar o desempenho, ou seja…havia um pensamento que os computadores seriam bactérias kkk é meio viagem, mas a verdade que o corpo humano é uma máquina sem explicações para tudo, o que a gente vê nos fps é uma máquina treinada para dar head shots , mas ela não se esconde, não engana , usa táticas repetidas, ela só obedece o seu código

  10. The Punisher
    21/09/2011

    Bom, eu tinha postado meu comentário essa madrugada ainda mas como o wordpress fez o “favorzão” de não carregá-lo/salvá-lo vou de novo:

    Eu também tive IA na faculdade no curso de BSI, até usava o MATLAB para fazer algumas coisinhas.

    Os caras do F.E.A.R. são meio chatinhos, mas tem muito jogo com estupides mesmo, tipo tu faz algo de errado ataca alguém sai correndo se esconde um pouquinho depois volta pro mesmo lugar e os outros personagens agem como se não o tivesse visto por lá, como se nada tivesse acontecido. É muito engraçado isso.

    • The Punisher
      21/09/2011

      “estupidez”

    • Amyr L.
      21/09/2011

      Um dia desse o servidor engoliu um comentário enorme que me dei o trabalho de fazer sobre os jogos da TGS, mas na hora pensei que tinha sigo minha conexão.

      • 21/09/2011

        Bebs, que host vocês usam? O blog tá parecendo o residentevil.com.br há alguns meses (até comentei no Twitter), que só caia ou não carregava inteiro/com falha quando carregava. :/

      • The Punisher
        21/09/2011

        Mas que server boqueta é esse?

    • leandro(leon belmont) alves
      21/09/2011

      eu já estava achando que o meu pc tava dando pau, por não acessar o site direito.

  11. Hélio
    21/09/2011

    Tbm, Bebs. AI: Inteligência Artificial é um daqueles games q cortam o coração, mas a gente vê e adora assim mesmo.

    • Amyr L.
      22/09/2011

      ERRATA: *É um daqueles filmes, não games rsrs Entendo que a linha narrativa entre ambos tem fica fina como papel vegetal ao longo dos anos, mas também não é pra tanto (Entendo que deva ter sido o sono ou a pressa, mas não custa brincar rs) XD
      Aliás, adoro as ficções científicas do Spilberg, e AI esta entre os meus filmes preferidos da década passada =)

  12. Sovereign
    21/09/2011

    Vi a Vivi reclamando do server no twitter, acho que o fissionmailed usava o mesmo servidor e com os mesmos problemas :/ mas agora eles trocaram de servidor e parece que nao deu mais pane algum. Esse servidor so da pau. Parece que o problema eh sem solucao *.*

  13. Amyr L.
    22/09/2011

    Inteligências artificiais que me divertem e me fazem rir aos montes com seus erros e acertos? As de MGS, Assassin’s Creed e LA Noire (esse ultimo mais pelos bugs de física rs).

  14. Shinobi-kun
    22/09/2011

    Um complementozin: na verdade, nenhum jogo procura copiar a inteligencia humana. O mais viavel é procurar simular aquilo q o jogador “espera” q aconteça (ver um monstro de FF armando uma complexa estrategia seria tenso. Exemplo: com certeza kojima sabe o quão bizarro é uma caixa de papelão servindo como disfarce. Ele poderia facilmente tornar-la mais realista (ou simplesmente tirá-la), mas se ele gosta, fazer uq? (em tempo: esperimente se disfarçar de caixa no meio da floresta ou em outro local estranho pra ver uq acontece!)

    quanto ao servidor: já comentei 3x no post do segundo dia da TGS, mas nenhuma deu sinal… =/
    sem contar q ontem eu num consegui acessar o site nem com reza brava!

    • 22/09/2011

      Eu já me escondi dentro de uma caixa de papelão (brincando de esconde-esconde) e ninguém me procurou lá. E isso foi antes de eu jogar MGS pela primeira vez :P

      • Shinobi-kun
        22/09/2011

        Kkkkkkkkkkkkkkkkk
        e eu pensando q só tio Koji fazia isso quando criança =P
        bom, se vc tiver de derrotar seu irmão genetico pra salvar o mundo de uma hecatombe, já está minimamente preparado .-.

      • PH!
        23/09/2011

        Hoje em dia tá mais difícil se camuflar. Os catadores de papelão não deixam uma caixa dando sopa e, sem querer, acabam te revelando. Irei procurar um esconderijo não-reciclável!

  15. Yan
    23/09/2011

    Nossa, ótimo tema que você escolheu, Clá!
    Impressionante como às vezes até as IAs mais simples chutam a sua bunda em algum jogo.
    Eu rio muito com os divertidos bugs (não só de IA) da série Assassin’s Creed no geral xD
    Alguém aí que joga Dissidia Final Fantasy sabe se a “personalidade” do personagem do ghost dos seus amigos tem algo a ver com algum aprendizado do jogo sobre o modo do seu amigo lutar?
    Se sim, isso é impressionante o_O

  16. Marcus
    23/09/2011

    Esse Karate Champ eu jogava nos fliperamas faz mais de vinte anos rsrsrsrs

  17. Ruan
    28/09/2011

    Pow realmente tem uns jogos q a inteligência artificial é fraquinha d+ rs
    + tem uns do estilo Unreal(o primeiro q deu origem a série) q apesar de ser antigão é muito show e comparando com alguns jogos de tipo estilo sci-fi ele ganha mesmo sendo bem antigo e tem uma história legal ^^

Crie uma conta no gravatar.com para colocar sua foto nos comentários.

Sempre que comentar em algum blog com o email cadastrado, aparecerá sua imagem.