Je ne suis pas gamedev, je suis juste un curieux codeur de non-jeux. Je me demande, comment fonctionne l'IA dans les jeux modernes populaires, disons, les FPS? Est-il basé sur des règles codées en dur? Combien a-t-elle en commun avec d'autres types d'IA (comme celle qui alimente les voitures autonomes, etc.)? Comment les développeurs s'assurent-ils que l'IA se comporte naturellement et est agréable à jouer?
Les choses que j'ai googlé ont mentionné différents dérivés de MinMax mais n'ont pas répondu à la façon dont l'IA traite un monde continu et changeant, pour quelles actions / états l'IA est récompensée et comment elle détermine ses chances de succès de différentes actions. J'ai également vu le Machine Learning mentionné ici et là, mais il semble qu'il ne soit utilisé dans aucun jeu sérieux?
Réponses:
Il existe de nombreuses méthodes. Je répondrai pour les FPS car chaque genre a son propre ensemble de problèmes, et les approches de l'IA dépendent fortement du domaine du problème et de la meilleure façon de le représenter.
Les approches FPS courantes comprennent:
Et diverses permutations et variations sur ce qui précède.
Minimax n'est généralement pas utilisé pour les jeux avec un état continu comme les FPS, plus pour les jeux au tour par tour dans des espaces de jeu discrets comme les échecs, etc. Il peut être utilisé pour planifier à un niveau élevé, mais ce n'est généralement pas parce qu'il existe de meilleurs systèmes .) face à plusieurs ennemis, informations incomplètes, mais plans simples.
Ils s'assurent que l'IA est amusante en testant le jeu. Si c'est trop difficile, ils peuvent introduire des erreurs dans toute heuristique de décision, ou un retard sur leurs réactions, ou appliquer un facteur aléatoire à leur visée, etc. Si ce n'est pas assez difficile, ils auront juste besoin d'améliorer les données fournies à l'algorithme .
la source
Il existe des articles sur le fonctionnement de diverses IA, celui que je connais le mieux est FEAR
la source
Deux méthodes plus courantes
Recherche UCT. Il y a un formalisme, mais l'idée est essentiellement de faire une lecture aléatoire jusqu'à la fin du jeu, avec une rétroaction pour peser plus lourdement les jeux gagnants que ceux perdants. La bonne chose à propos de la forme pure de ceci est que l'IA n'a pas besoin de savoir ce qui pourrait être un meilleur ou un pire mouvement.
La recherche Minmax, généralement combinée à l'élagage des arbres alpha-bêta, effectue essentiellement une recherche complète de l'espace de jeu jusqu'à une certaine profondeur, évaluant chaque nœud terminal avec un évaluateur statique qui attribue une valeur numérique. Cela fonctionne bien pour les jeux où il existe des mesures évidentes qui mesurent les progrès vers une victoire.
la source