Les concepts de `` IA pure '' de niveau supérieur (tels que Neural-Nets ou Genetic Algos) sont-ils jamais mis en œuvre avec succès dans les jeux commerciaux?

18

Bien que le graphisme soit mon principal domaine d'intérêt, je m'essaye aux concepts de Game AI depuis un certain temps maintenant; de la simple recherche de chemin A * aux Perceptrons complexes.

Ma question est la suivante; Quelqu'un a-t-il des exemples d'implémentations réussies (ou peut-être plus intéressant, d'échecs) de certains concepts d'IA de niveau supérieur dans des titres commerciaux à grande échelle?

Par niveau supérieur, j'entends les méthodes de simulation de l'intelligence que l'on trouve généralement dans l'IA pure. Par exemple ..

  • Les réseaux de neurones
  • Algorithmes génétiques
  • Théorie de la décision

Je comprends qu'en plus d'un budget financier, les développeurs ont également un budget d'utilisation de la mémoire (l'IA étant souvent à l'arrière). Beaucoup de ces méthodes sont coûteuses à mettre en œuvre et fournissent des rendements limités. Je suis simplement intrigué de savoir si quelqu'un sait où ou quand l'un de ces (ou tout autre concept de haut niveau que j'ai oublié de mentionner) a été déployé dans tous les jeux bien connus :)

Je sais aussi que dans ce secteur, les secrets commerciaux sont une réalité;) Mis à part les titres AAA, si vous avez vos propres réussites (ou catastrophes), ce serait bien de les entendre! :RÉ

Bluestone
la source

Réponses:

18

De manière générale, les réseaux de neurones et les algorithmes génétiques ne sont pas utilisés dans les jeux, et en dehors de l'intérêt récent pour l'utilisation de réseaux de neurones pour l'apprentissage en profondeur, pas si souvent en dehors des jeux non plus.

La principale raison pour laquelle ils sont enseignés dans le monde de l'IA n'est pas en raison de leur applicabilité pratique, mais parce qu'ils sont assez faciles à expliquer en tant que dispositifs d'enseignement - les deux ont des analogues mathématiques et biologiques qui permettent à un étudiant de comprendre comment ils pourraient travailler.

Dans le monde réel, vous avez généralement besoin de fiabilité et de prévisibilité. Le problème avec les méthodes d'apprentissage est que s'ils apprennent «à l'état sauvage», ils peuvent apprendre les mauvais schémas et ne pas être fiables. Un NN ou un GA pourrait potentiellement atteindre un maximum local qui n'est pas garanti d'être suffisamment bon pour fournir l'expérience de jeu requise, par exemple. D'autres fois, cela pourrait finir par être trop bon, trouver une stratégie parfaite imbattable. Aucun n'est souhaitable dans la plupart des produits de divertissement.

Même si vous vous entraînez hors ligne (c'est-à-dire avant le lancement, et non pendant le jeu), un ensemble de données apparemment beau pourrait cacher des anomalies qui, une fois trouvées par un joueur, sont faciles à exploiter. Un réseau de neurones en particulier fait généralement évoluer un ensemble de poids qui est assez opaque à étudier, et les décisions qu'il prend sont difficiles à raisonner. Il serait difficile pour un concepteur de modifier une telle routine d'intelligence artificielle pour qu'elle fonctionne comme souhaité.

Mais le problème le plus accablant est peut-être que les GA et NN ne sont généralement pas les meilleurs outils pour toute tâche de développement de jeux. Bien que de bons dispositifs d'enseignement, toute personne ayant une connaissance suffisante du domaine est généralement mieux équipée pour utiliser une méthode différente pour obtenir des résultats similaires. Il peut s'agir d'autres techniques d'IA telles que les machines à vecteurs de support ou les arbres de comportement, jusqu'aux approches plus simples telles que les machines à états ou même une longue chaîne de conditions si-alors. Ces approches tendent à mieux utiliser les connaissances du domaine du développeur et sont plus fiables et prévisibles que les méthodes d'apprentissage.

J'ai entendu cependant que certains développeurs ont utilisé des réseaux de neurones pendant le développement pour former un pilote à trouver un bon itinéraire autour d'une piste de course, puis cet itinéraire peut ensuite être expédié dans le cadre du jeu. Notez que le jeu final ne nécessite aucun code de réseau neuronal pour que cela fonctionne, pas même le réseau formé.

Le «coût» de la méthode n'est d'ailleurs pas vraiment le problème. Les NN et les AG peuvent être mis en œuvre à très bon marché, le NN se prêtant en particulier au pré-calcul et à l'optimisation. L'enjeu est vraiment de pouvoir en tirer quelque chose d'utile.

Kylotan
la source
3
En dehors des jeux, les AG ont énormément réussi à trouver des solutions ésotériques à des problèmes d'ingénierie, par exemple les premiers travaux du Dr Adrian Thompson sur les circuits génétiques résultant en des sous-circuits "inutiles" qui ont affecté le flux de manière à faire fonctionner le reste. Le problème est que les solutions ésotériques efficaces n'ont pas de valeur dans les jeux comme dans l'ingénierie. Le problème vraiment difficile de l'IA de jeu est de faire en sorte que l'IA ait une stratégie compréhensible, pas simplement de bien jouer.
4
J'ai utilisé GA pour régler les variables du pilote AI. Mais comme vous l'avez mentionné, cela a été fait hors ligne avec un outil pour générer les données de réglage. Le jeu n'était pas livré avec GA actif, juste les chiffres qui avaient été dérivés pendant le développement.
wkerslake
@Joe - oui, j'aime les GA moi-même. Je pense que c'est un moyen assez efficace d'explorer un espace problématique d'une manière assez intuitive pour la personne qui peaufine l'algorithme. Je les ai également utilisés pour la prise de décision en temps réel, mais il est difficile de prétendre qu'ils étaient plus efficaces ou plus efficaces que les alternatives.
Kylotan
+1 pour la connaissance du domaine. Ne négligez pas non plus l'analyse de rentabilisation: des semaines de temps programmeur pour créer et régler et entretenir une ligne de course NN pourraient être moins rentables qu'un simple outil max pour poser une spline et quelques jours de temps de conception.
tenpn
Le problème est plus que pour apprendre quelque chose d'utile, il faut un grand réseau neuronal qui demande beaucoup de puissance de calcul. Si vous avez un petit filet, il est bon marché de vous entraîner comme vous l'avez dit, mais n'a aucune chance d'apprendre un comportement sophistiqué. Un autre problème que je vois est que vous avez besoin d'une énorme quantité d'exemples d'entraînement pour ML, donc vous ne pouvez pas vous entraîner pendant le jeu car cela prendrait trop de temps pour que les ennemis deviennent intelligents. D'un autre côté, le renforcement de l'apprentissage Q semble être une bonne technique pour cela. Une astuce ne fonctionnerait qu'une seule fois contre cette IA. Je ne sais pas si les jeux l'ont utilisé.
danijar
7

Les applications de l'IA "académique" dans les jeux ont tendance à être beaucoup plus subtiles que les types de choses que l'on considère normalement comme l'IA dans la sphère du jeu. Lorsque j'étais à l'école, mon professeur de Game AI s'est concentré sur l'IA pour le contrôle de la caméra. Son autre domaine d'intérêt était la gestion narrative de l'IA qui, pour autant que je sache, reste limitée au monde universitaire pour la plupart. Un exemple notable de cette dernière zone serait la façade .

Le principal problème de l'IA "académique", dans les jeux, est qu'ils résolvent différents problèmes. Souvent, vous ne voulez pas satisfaire aux exigences du jeu; vous voulez juste satisfaire. Comme cela a été formulé précédemment: vous ne voulez pas être facile, mais vous ne voulez pas non plus que votre adversaire IA soit trop difficile.

Cela étant dit, la série de jeux Black and White de Lionhead a utilisé une IA similaire à ce dont vous parlez avec la question ci-dessus et a au moins été assez réussie pour qu'ils puissent faire une suite .

Je me souviens de rapports d'IA rayonnante de "The Elder Scrolls IV: Oblivion" qui étaient également un exemple de cette veine de comportement à l'origine, mais elle a dû être réduite à néant à cause d'un comportement inattendu étrange, comme des PNJ s'entretuant avec de la nourriture.

lathomas64
la source
GA est également utilisé dans la série de créatures: en.wikipedia.org/wiki/Creatures_(artificial_life_program) mais pas aussi réussi que le noir et blanc ou Oblivion mentionné précédemment
lathomas64
Merci pour la réponse .. C'est intéressant car vous avez mentionné à quel point l'équilibre dans Game AI est crucial, car avec à peu près tous les aspects du développement de jeux, cela doit être amusant avant qu'il ne soit réaliste / crédible. Une IA trop 'intelligente' n'est pas du tout amusante, personne n'aime un smart-alec :)
Bluestone
1

Ils sont difficiles à déboguer, donc un problème (probablement causé par une optimisation accidentelle) ne peut pas être résolu facilement. Pour cette raison, tout réseau de neurones utilisé par les jeux devrait apprendre en temps réel pendant le jeu. Cependant, ils ont été utilisés, par exemple le jeu NERO.

Lucas
la source
1

Depuis que vous avez demandé des exemples dans l'industrie, en voici un pour vous: le premier titre que je connaisse de ces réseaux de neurones utilisés était Fantasy Empires, un D & D TBS / jeu d'action sorti en 1993. Apparemment, ils les ont utilisés pour piloter ce que le maître de donjon dirait et faites de façon "intelligente" mais "non prévisible" ... si vous avez beaucoup joué au jeu, vous pourriez ne pas être d'accord! La figure de maître de donjon animé offre des conseils sur votre style de jeu, basé sur vos actions récentes, à partir d'une collection de piqûres sonores statiques, en utilisant le NN. Je suppose que c'est un réseau très simple.

(voir page 57 du manuel pour plus de détails)

entrez la description de l'image ici

Ingénieur
la source
Cela peut être un exemple intéressant, mais pour quelqu'un qui n'a pas joué à ce jeu, cela n'aide pas beaucoup. Pouvez-vous peut-être expliquer quelles mécaniques de jeu étaient contrôlées par le réseau de neurones, quelle était l'intention et donner quelques exemples de bons et de mauvais résultats qu'il a produits?
Philipp
@Philipp Votre point dûment noté - ETA. Les résultats n'étaient pas tant «mauvais» que simplement que la nature analogique des réseaux neuronaux semblait être gaspillée en étant quantifiée à un ensemble très limité d'actions de sortie.
Ingénieur