Publié par
Sam-le-terrible
Le fait est que le souci ne vient pas de la difficulté de coder les IA en question (l' utilisation de paramètres c' est la base du concept d' IA) le souci vient d' un manque de volonté de se donner les moyens pour les coder. Recruter du monde par exemple et je t' assure qu' il y a pas besoin d' avoir bossé des dizaines d' années à la NASA pour être capable de coder une IA qui tient la route, faut juste du personnel spécialisé.
Alors après que ce soit pure perte de s' indigner du fait que le Studio se foute totalement de cet aspect, soit, je ne suis pas bâti sur un modèle de génie, mais je suis assez lucide pour voir qu' effectivement on en restera à une solution de facilité comme la situation actuelle, il n' y a d' ailleurs qu' à regarder le foutage de gueule intégral qu' est la gestion des IA des invocs pour se rendre compte que les spécialistes en IA chez Ankama ça ne court pas les rues et qu' ils n' ont pas l' intention d' en embaucher.
En fait, ce que l'on appelle une IA dans un jeu video , n'a pas grand chose avoir avec une IA au sens informatique.
Le seul jeu ayant eu une IA réelle, c'est " Créatures " qui est sorti il y a 11 ans.
Une IA au sens informatique, est un processus qui est capable d'apprendre et de s'adapter en conséquence.
Ce que l'on a comme IA dans Dofus, est la même chose que l'on peut trouver dans n'importe quel autre jeu ou il y a des mobs/pnj qui ont un ensemble d'actions prédéfinis.
Par exemple, un système dit multi agent, peut donner l'impression d'être intelligent, mais cela n'est pas de l'intelligence.
Eliza le chatbot psy est impressionnant pour comprendre la subtilité entre la capacité d'intelligence réelle ( donc mémoire et adaptation ) et l'illusion d'intelligence donnée par un simple mirroir ( le cas de Eliza ).
Ce que l'on appelle une IA dans un jeu, est juste un ensemble de routine pondérée. quand on prend un simulateur d'echec, la base n'est pas la mémoire, mais uniquement une analyse de toutes les parties probables et l'ordinateur fera toujours le moins mauvais choix en fonction de ton moins mauvais choix probable ( algo dit du min-max ).
Prendre les exemples des echecs est un bon exemple pour comprendre la difficulté de faire une IA correcte.
Aux échecs, le problème fréquent est qu'un bon joueur d'echec ne fera pas necessairement le moins mauvais choix parce qu'il a une vision d'ensemble plus complexe ... là où un joueur moyen ou débutant appliquera la même strategie que l'ordinateur.
Donc contre les bons joueurs, les deep blue & co appliquent des heuristiques de recherche basé sur une base de données de parties déjà connues ... en gros, un peu de calcul mais surtout une mémoire phénoménale pour reperer une ressemblance à une partie déjà connue pour la faire tendre à la solution la plus favorable plus l'ordinateur.
Sur une partie de Go, le problème est pire ( un seul cas d'ordinateur ayant vaincu un joueur humain de haut niveau et ce sur un petit goban ).
Au niveau de Dofus, la complexité est du même ordre que celle d'un jeu d'echecs mais :
- le temps de recherche de l'arbre doit etre le plus court possible
- la taille de l'échiquier est plus grande
- le nombre de pièces en jeu sont moindre mais ont plus d'action possible ( PM + PA à consommer )
Donc là ou la complexité théorique est déjà un terrain connu, la complexité pratique au niveau de la composante du temps de réponse est immense.
Sur des MMO de type WoW la solution est la même que sur un RTS ou un FPS, un mob ne te poursuivera que si tu es dans son champs de vision.
Ce champ de vision n'est en fait qu'un tout petit échiquier mobile ... donc la complexité temporelle est réduite à simplement quelques pièces sur une echiquier de quelques cases.
En fait, la seule solution viable à terme si Ankama veut des IA correctes est ... de remplacer chaque serveurs de jeu par un cluster qui fait tourner des dizaines de milliers de thread représentant chacun une IA en jeu.
Vu la gueule fonctionnelle des problèmes de lag, je suspecte que le serveur de jeu est mono-thread mono-process pour l'essentiel alors que la solution viable sera autour d'une architecture SMP ou NUMA massivement multithreadé voire d'un gros cluster.
Ce genre d'architecture est complexe à mettre en oeuvre et rare sont les compétences pouvant gérer cela.
Sinon, on garde nos invocs et les mobs avec leurs IA de pious ...
parce qu'il ne faut pas oublier que ce qui guide nos invocs est structurellement la même IA que celle du Tot, de l'Ougah, du fauchalak, du kanigrou, ou du piou, ...
Sur ce coup, courage à Ankama, c'est un gros chantier :/