Saltar para o conteúdo

Usuário(a):TSantosFigueira/Testes

Origem: Wikipédia, a enciclopédia livre.

Introdução[editar | editar código-fonte]

Dentre as diversas áreas de pesquisa da Inteligência Artificial para Jogos Digitais está a Modelagem de Jogador.[1] Na realidade, a Inteligência Artificial (IA) ganhou protagonismo no mundo dos Jogos digitais, uma vez que os investimentos em gráficos ultrarrealistas não mais se fizeram bastantes no que se refere à imersão requerida pelos jogadores, isto é, a imersão alcançada pelos gráficos de alta qualidade é prejudicada pelo comportamento pouco realista dos personagens não jogáveis. [2] Esta técnica de Inteligência Artificial consiste em modelar as características e/ou comportamentos de um jogador a fim de desenvolver-se uma inteligência artificial mais adequada, de tal forma que os jogos possam ser mais imersivos e desafiadores. [2][3][4]

Taxonomia[editar | editar código-fonte]

A Modelagem de Jogador também pode ser entendida como uma descrição abstrata a respeito do estado atual do jogador em determinado momento. Esta descrição pode ser feita em satisfação, conhecimento, posicionamento e estratégia. [2]

  • A modelagem de satisfação permite adaptar o game play para cada jogador;
  • A modelagem de conhecimento está especialmente relacionada à agentes e é útil em ambientes em que a informação pode ser parcial, a exemplo: quais partes do mapa o jogador conhece? O jogador conhece a localização no NPC? Qual o nível no qual o jogador está?
  • A modelagem de posicionamento é útil quando o ambiente é parcialmente observável, onde a localização do jogador pode configurar informação estratégica.
  • A modelagem estratégica busca correlacionar ações do jogador com objetivos do jogo, isto é, observação de ações de baixo nível com objetivos de alto nível.

Desta maneira, a Modelagem de Jogador é uma abordagem capaz de melhorar a Inteligência Artificial utilizada por personagens não jogáveis (NPCs). Estas melhorias são melhor visualizadas de acordo com os três principais objetivos de um NPC: colaborar com o jogador, fazer oposição ao jogador ou adotar ação neutra em relação ao jogador.[2]

  • O principal desafio do primeiro grupo está intimamente relacionado com as expectativas do jogador, que espera agir em conjunto aos personagens não jogáveis de maneira uníssona. Apesar de muitos jogos utilizarem de ordens básicas como “atacar”, “patrulhar” ou “esconder” o grande problema é fazer os NPCs agirem sem a necessidade de ordens.
  • O segundo grupo está relacionado aos desafios propostos pela IA como Adversária [5], isto é, a fim de tornar o jogo mais desafiador a Inteligência Artificial deve ser capaz de se adaptar ao estilo de jogo e jogador.
  • O último grupo tem profunda relação com a narrativa do jogo: em muitos jogos, nem todos os personagens são aliados ou inimigos, alguns são neutros e podem auxiliar no processo de imersão do jogo. Uma vez que o jogador é modelado, os agentes neutros podem agir de determinada forma em relação a ele. Emoções artificiais, por exemplo, podem ser utilizadas aqui. [6]

Técnicas de Modelagem de Jogador[editar | editar código-fonte]

Dentre as técnicas discutidas por autores como van den Herik, Donkers e Spronck há: funções de avaliação, redes neurais, modelos baseados em regras, máquinas de estado finito, modelos probabilísticos e modelos baseados em casos. [4]

  • Funções de avaliação buscam compreender e modelar como o jogador avalia os estados do jogo. Uma vez modelada a percepção do jogador sobre o jogo, pode-se melhor prever as futuras ações do jogador utilizando-se de algoritmos de busca, por exemplo.
  • Um tanto mais complexa que a anterior, redes neurais podem ser vistas como uma “caixa preta” que mapeia entradas e saídas. Esta caixa preta é implementada por um conjunto de nodos (neurônios) interconectados que são ativados de acordo com suas entradas. Um processo de treinamento é utilizado para ajustar as entradas para um objetivo especifico. Esta técnica é mais fundamentada que as demais e já foi utilizada em jogos comerciais como Creatures e Black & White.
  • Modelos baseados em regras consistem em um conjunto de definições que, quando satisfeitas, geram uma série de ações. É mais simples de ser utilizada e implementada. Máquinas de estado finito (Finite-State Machines) podem ser entendidas como uma variação dos modelos baseados em regras largamente utilizada em jogos de FPS. A variação das Máquinas de Estado Finito são os Modelos Probabilísticos, uma vez que são FSMs acrescidos do estado de probabilidade de transições. São úteis em jogos de informação incompleta, como Poker.
  • Modelos baseados em casos consistem em casos base com situações e ações. É útil porque é facilmente atualizada e expandida com novos casos.[3]

Dentre outras técnicas pode-se citar: programação genética e algoritmos genéticos, que são inspirados na teoria da evolução: soluções são modeladas como cromossomos e iterativamente evoluem por operações como mutação e cross over que exploram o espaço de busca a fim de aperfeiçoar a solução inicial. A premissa básica destas técnicas é combinar os melhores cromossomos objetivando gerar cromossomos ainda mais aprimorados ao mesmo tempo que se aplica um fator aleatório (mutação) para buscar novos cromossomos (soluções). Não são necessariamente utilizadas para modelar os oponentes, mas para, de alguma forma, aquilatar seu comportamento. [7]


Referências

  1. Yannakakis, Georgios N.; Togelius, Julius. (11 de dezembro de 2015). «A Panorama of Artificial and Computational Intelligence in Games» (PDF) (em inglês). Consultado em 18 de junho de 2016 
  2. a b c d Machado, Marlos C.; Fantini, Eduardo P.C.; Chaimowicz, Luiz. (2011). «Player Modeling: Towards a Common Taxonomy» (PDF) (em inglês). in 16th International Conference on Computer Games (CGAMES). Consultado em 18 de junho de 2016 
  3. a b Yannakakis, Georgios N.; Spronck, Pieter; Loiacono, Daniele; Andre, Elisabeth (2013). «Player Modeling» (PDF) (em inglês). Consultado em 18 de junho de 2016 
  4. a b Machado, Marlos C.; Fantini, Eduardo P.C.; Chaimowicz, Luiz. (2011). «Player Modeling: What is it? How to do it?» (PDF) (em inglês). Proceedings of SBGames 2011. Consultado em 18 de junho de 2016 
  5. Treanor, Mike; Togelius, Julius; Thompson, Tommy; Smith, Gillian; Zook, Alexander; Magerko, Brian; P. Eladhari, Mirjam; Cook, Michael; Levine, John; Smith, Adam (2015). «AI-Based Game Design Patterns» (PDF) (em inglês). Consultado em 18 de junho de 2016 
  6. Smith, Adam M.; Lewis, Chris; Hullett, Kenneth; Smith, Gillian; Sullivan, Anne. (maio de 2011). «An Inclusive Taxonomy of Player Modeling» (PDF) (em inglês). Consultado em 18 de junho de 2016 
  7. Smith, Adam M.; Lewis, Chris; Hullett, Kenneth; Smith, Gillian; Sullivan, Anne. (janeiro de 2011). «An Inclusive View of Player Modeling» (PDF) (em inglês). Consultado em 18 de junho de 2016