Como a IA é mais comumente implementada em jogos populares?

16

Não sou gamedev, sou apenas um curioso codificador de não-jogos. Eu me pergunto, como a IA funciona em jogos modernos populares, por exemplo, FPSs? É baseado em regras codificadas? Quanto isso tem em comum com outros tipos de IA (como aquele que alimenta carros autônomos etc)? Como os desenvolvedores garantem que a IA se comporte naturalmente e seja divertida de jogar?

As coisas que pesquisei no Google mencionaram diferentes derivados do MinMax, mas não consegui responder como a IA lida com o mundo contínuo e mutável, por quais ações / estados a IA é recompensada e como descobre sua chance de obter sucesso em diferentes ações. Também vi Machine Learning mencionado aqui e ali, mas parece que não é usado em nenhum jogo sério?

lampak
fonte
Eu duvido que a maioria dos jogos usam adaptativa AI ...
jcora

Respostas:

16

Existem muitos métodos. Eu responderei pelos FPSs porque cada gênero tem seu próprio conjunto de problemas, e as abordagens de IA são fortemente dependentes do domínio do problema e da melhor forma de representá-lo.

As abordagens comuns do FPS incluem:

E várias permutações e variações acima.

O Minimax geralmente não é usado para jogos com estado contínuo, como FPSs, mais para jogos baseados em turnos em espaços discretos como o xadrez, etc. Ele pode ser usado para planejar em alto nível, mas geralmente não é porque existem sistemas melhores (por exemplo, . acima) quando confrontados com vários inimigos, informações incompletas, mas planos simples.

Eles garantem que a IA é divertida ao testar os testes. Se for muito desafiador, eles podem introduzir erro em qualquer heurística da decisão, ou um atraso em suas reações, ou aplicar um fator aleatório à sua mira, etc. Se não for desafiador o suficiente, eles apenas precisarão melhorar os dados fornecidos ao algoritmo .

Kylotan
fonte
5

Existem documentos por aí sobre como várias IAs funcionam, o que eu mais estou familiarizado é o MEDO

Doug-W
fonte
2

Dois métodos mais comuns

Pesquisa UCT. Existe um formalismo, mas a idéia é basicamente fazer um playout aleatório até o jogo terminar, com feedback para pesar mais os jogos vencedores do que os perdidos. O bom da forma pura disso é que a IA não precisa de conhecimento sobre o que pode ser uma jogada melhor ou pior.

A pesquisa Minmax, geralmente combinada com a poda de árvores alfa-beta, basicamente faz uma pesquisa completa do espaço do jogo em certa profundidade, avaliando cada nó terminal com um avaliador estático que atribui um valor numérico. Isso funciona bem para jogos em que existem métricas óbvias que medem o progresso em direção a uma vitória.

ddyer
fonte