MGG / Actualités jeux vidéo / League of Legends (LoL) /

Blog dev : Des bots plus humains

Blog dev : Des bots plus humains
0

Pour ce troisième Blog dev., Riot vous propose de parcourir les avancées faites par les bots, avec RoamingNumeral, principal design analyst s'occupant d'améliorer l'Intelligence Artificielle.

Blog dev : Des bots plus humains

Pour ce troisième Blog dev., Riot vous propose de parcourir les avancées faites par les bots, avec RoamingNumeral, principal design analyst s'occupant d'améliorer l'Intelligence Artificielle. Ils doivent avoir l'air humain, trop d'intelligence fausserait donc la donne : l'équilibre est ici très difficile à atteindre.

 

Riot GamesRiot sur Blog dev. : Créer un bot plus humain   (Source)


Bonjour à tous !

Bienvenue dans ce nouvel article du blog des développeurs de League of Legends. Cette fois, nous abandonnons l'équipe dédiée au gameplay pour nous intéresser aux bots qui, croyez-le ou non, sont présents dans un grand nombre de parties de League of Legends. Étant donné que nous avons récemment effectué quelques changements visant à les rendre plus humains, nous nous sommes dit que vous pourriez être intéressés par l'histoire de cette mise à jour.

Comme toujours, nous attendons vos commentaires avec impatience pour nous aider à améliorer ce blog. Mais dans l'immédiat, découvrons comment créer un bot plus humain ! C'est l'un des responsables de cette mise à jour, RoamingNumeral, Design Analyst, qui va tout nous dire sur l'amélioration des bots. C'est parti !

Pwyff

 

Pourquoi avons-nous mis à jour les bots ?


Les matchs contre les bots représentent une bonne partie des matchs joués, même chez les joueurs de niveau 30. Cela fait beaucoup d'heures passées en compagnie de nos amis robotiques, et nous pensions pouvoir rendre ces heures plus attrayantes.

Nous avons interrogé les joueurs des modes Coop vs IA et PvP pour savoir ce qu'ils pensent des bots. L'une des réponses les plus claires était qu'ils souhaitaient des bots plus « humains », des bots qui seraient moins prévisibles et qui se concentreraient sur les mêmes choses que les joueurs (last-hit, combos, etc.). De façon plus surprenante, en revanche, ils étaient moins nombreux à vouloir des bots plus forts. En fonction de ces données, nous avons décidé que le principal objectif de notre mise à jour serait de rendre les bots plus humains, d'autant que ces changements allaient également rendre plus intéressants des bots de niveau supérieur.

Les joueurs nous ont également dit que, d'après eux, les bots n'avaient pas l'air de tenir compte de la force et du danger de la même façon que la plupart des joueurs. Il s'avère qu'ils avaient raison.

 

Améliorer l'évaluation des menaces


Nous appelons « évaluation des menaces » les systèmes que les bots utilisent pour déterminer leur force et celle des ennemis. Toutes les décisions des bots au cours de la partie reposent sur ces systèmes.

Nos systèmes précédents utilisaient une méthode très courante dans les jeux, surtout dans les FPS : le bot regarde le nombre de dégâts qu'il a récemment subis et s'en sert pour déterminer la menace future. Dans un FPS, c'est tout à fait logique. Si un bot quitte un couvert et subit des dégâts, il va sûrement continuer de subir des dégâts s'il reste là, donc il est préférable qu'il recule.

League of Legends fonctionne de façon un peu différente. Si Veigar lance tous ses sorts sur un bot et si ce bot survit, le bot n'a aucune raison de s'enfuir. Au contraire, c'est le moment ou jamais d'écraser ce misérable petit @$!#!. Le potentiel offensif de Veigar est pratiquement nul quand toutes ses compétences sont en phase de récupération, alors pourquoi ne pas en profiter pour lui donner quelques coups (voire beaucoup de coups) pendant qu'il est vulnérable ?

Nos nouveaux systèmes tentent de gérer ces situations en tenant compte non seulement des PV, mais aussi du nombre de sorts disponibles dont disposent le bot et les ennemis proches. Dans l'ensemble, nous avons constaté de nettes améliorations en ce qui concerne l'évaluation des menaces par les bots (malheureusement pour Veigar).

 


Cela dit, une meilleure évaluation des menaces n'est pas la seule chose dont ont besoin les bots. League of Legends a été conçu pour être joué par des humains, et non par des bots, ce qui engendre des problèmes assez intéressants. Par exemple, le jeu ne connaît pas l'effet d'un sort avant que celui-ci n'ait été lancé. Quand Morgana lance Chaînes spirituelles, un script s'enclenche et vérifie constamment si quelqu'un a brisé une chaîne. Quand le sort se termine, le script dit « Eh, toi ! Tu es étourdi et tu subis des dégâts. » à tous ceux qui n'ont pas brisé leur chaîne. Avant que Morgana n'utilise son ultime, le jeu ne savait pas que le sort Chaînes spirituelles infligeait des dégâts et étourdissait.

Cela vous paraît évident, pourtant, car les humains peuvent lire les bulles d'aide et anticiper. Dans cette situation, le système peut se permettre de découvrir les effets d'un sort pendant son exécution. Mais cela représente toutefois un énorme problème pour les bots, car ils ne peuvent pas lire et n'apprennent pas de leurs expériences.

Par conséquent, cette mise à jour contient quelques estimations un peu vagues pour calculer les dégâts que peuvent infliger les champions. Les bots continueront parfois de foncer bêtement dans le tas ou de fuir un combat qu'ils pourraient gagner, car ils ne sauront pas calculer parfaitement les dégâts... Tout comme les joueurs, en somme. :P


Pourquoi les bots ne junglent pas et ne sautent pas les murs ?


C'est assez simple : les bots ne savent pas où sont les murs, ni même ce que sont les murs (ils n'ont vraiment pas de chance, hein ?).

Le problème est globalement le même que pour les sorts : League of Legends a été conçu pour être joué par des humains. Un humain comprend facilement pourquoi un chemin tourne subitement à gauche ou à droite : c'est parce qu'il y a un mur droit devant ! Un bot, en revanche, se contente de suivre son « autopathing ». Il ne sait pas où se trouve exactement le mur et il ne connaît pas l'épaisseur du mur ; il ne sait même pas si l'obstacle est un mur. Pour lui, il pourrait aussi bien s'agir d'un tas de sbires. Les bots empruntent naïvement le chemin le plus court indiqué par leur système de pathing pour aller d'un point à un autre.

Sauter par-dessus un mur avec Saut éclair ou toute autre compétence est donc extrêmement difficile pour un bot. Comme il ne connaît pas l'épaisseur du mur et ne sait pas comment aller là où il est plus mince, c'est pratiquement impossible à mettre en place. Il faudrait apporter de nombreux changements aux systèmes relatifs au terrain pour que ces comportements soient possibles dans un avenir (très, très) lointain.

Pareil pour le jungling. L'une des principales conditions pour jungler est de savoir choisir les itinéraires qui sont sûrs ou optimaux pour des raisons autres que la distance. Sans d'abord modifier nos systèmes relatifs au pathing et au terrain, nous ne pouvons pas créer un bot jungler (ou alors ça serait un sac de 300 PO sur pattes, servi sur un plateau).

Nous sommes d'accord avec vous, ce serait génial que les bots puissent sauter par-dessus les murs et jungler, et à l'avenir, nous aimerions chercher les meilleurs moyens d'apprendre cela aux bots. Mais pour l'instant, nous avons choisi de nous concentrer sur d'autres comportements, ceux qui aideront les bots à mieux affronter les joueurs.


Esquiver les compétences de tir


L'une des différences les plus marquantes entre les joueurs et nos précédents bots, c'était leur réaction face aux compétences de tir. Dans la plupart des situations, les joueurs essaient d'esquiver les tirs, alors que les bots acceptent souvent sans broncher de prendre les tirs en pleine face. Comme ce comportement n'est pas très humain, nous voulions apprendre aux bots à esquiver. Nous avons cependant rencontré une petite difficulté (quelle surprise !) : les bots ne peuvent pas « voir » les compétences de tir.

Voici comment Bot Annie voit le Javelot de Nidalee :

Bot Annie en ligne...

Scan en cours...

Cible : Nidalee

Mes PV : élevés

A de la cible disponible : oui

Action : farmer non-stop

-------------------

Scan en cours...

Cible : Nidalee

Mes PV : élevés

A de la cible disponible : NON

Action : farmer encore un peu

-------------------

Scan en cours...

Cible : Nidalee

Mes PV : BAS

PV de la cible : élevés

A de la cible disponible : NON

Action : WTF ! ! OÙ SONT PASSÉS MES PV ? ! NIDALEE OP, RITO PLS ! (Je m'enfuis.)


Voici comment Bot Annie voit le Javelot de Nidalee :

Bot Annie en ligne...

Scan en cours...

Cible : Nidalee

Mes PV : élevés

A de la cible disponible : oui

Action : farmer

-------------------

Scan en cours...

Cible : Nidalee

Mes PV : élevés

A de la cible disponible : NON

[UTILISATION DE SORT DÉTECTÉE]

Le sort est une compétence de tir : OUI

La cible est tournée vers moi : OUI

Action : ESQUIVE DE NINJA

-------------------

Scan en cours...

Cible : Nidalee

Mes PV : élevés

A de la cible disponible : NON

Action : SORTEZ LES VENTILOS ET LES GLAÇONS, ÇA VA CHAUFFER ! (J'attaque.)

 

 

 

Grâce à ce changement, les bots peuvent désormais essayer d'esquiver les compétences de tir... mais ce n'est pas parfait. Exemple : la Lance de glace d'Anivia n'entre pas en récupération tant qu'elle n'arrive pas en bout de course ou tant qu'elle n'est pas réactivée, donc les bots ne savent pas si ce sort a été lancé. L'Orbe d'illusion d'Ahri fait un aller retour, et les bots peuvent esquiver l'orbe à l'aller mais pas au retour. Il y a d'autres compétences que ce système ne gère pas encore parfaitement, mais esquiver certains tirs est toujours mieux que ne rien esquiver du tout !


Mettre à jour les combos et les builds des bots


En dehors des changements précédents, plus compliqués, il restait plein d'autres choses que nous pouvions faire pour humaniser les bots, comme mettre à jour les combos de sorts et les builds d'objets. Il suffisait juste d'y consacrer du temps. Notre cher Riot Afic, de l'assurance qualité, nous a ici beaucoup aidés grâce à ses connaissances de niveau Diamant. Les bots mis à jour utilisent désormais bien plus souvent des combos similaires à ce que font les joueurs aujourd'hui et achètent des objets beaucoup plus logiques.

Petite remarque à ce sujet : Bot Annie peut maintenant enchaîner le Saut éclair-étourdissement-Tibbers. Prévoyez des sous-vêtements de rechange.


Des bots plus humains


Sans surprise, des bots qui essaient de tenir compte de variables plus nombreuses nécessitent plus d'efforts informatiques. Les ingénieurs de notre équipe, RiotAaronMike et RiotWooTang, ont fait un excellent boulot et ont réussi à optimiser notre code de façon à ce que nous puissions sortir cette mise à jour sans surcharger le serveur.

L'un des avantages de rendre les bots plus efficaces et plus humains, c'est que nous pouvons ainsi réduire de manière contextuelle la fréquence à laquelle ils scannent l'environnement et réagissent. Pour les bots débutants, la fréquence des scans est désormais 1/3 de la précédente ; pour les bots intermédiaires, la fréquence des scans varie entre 50% et 100% de la précédente, selon le degré de menace qui plane sur eux. Dans aucun de ces cas on ne peut véritablement parler de « lenteur », mais les scans ne s'enchaînent plus aussi vite qu'avant, ce qui permet de réduire le nombre de réactions surhumaines et irréalistes.

Ces changements, ainsi que des myriades d'autres changements invisibles, ont créé des bots que nous estimons plus humains. Ils n'auront pas le niveau des joueurs Diamant (ni peut-être celui des joueurs Argent), mais ce n'est pas notre objectif actuel. Lors des prochaines étapes, nous allons voir ce que nous pouvons faire avec ces bots pour offrir une meilleure expérience aux joueurs qui font leurs premières parties en Coop vs IA. Vous en saurez plus sur ce nouveau projet prochainement !

0
MGG

L'actu

En Continu

18:25 LoL — Patch notes 14.23 : Déjà des changements pour Ambessa Medarda
13:08 Ce personnage d'Arcane pourrait être la clé des futures séries de Riot Games dans l'univers de LoL
13:37 5 saisons pour la série Netflix Arcane au lieu de 2 ? Un des patrons de Riot Games revient sur cette rumeur qui enflamme les fans de LoL
19:01 LoL Patch 14.23 : Une nouvelle fournée de skin Arcane arrive dans la Faille de l'invocateur pour célébrer la seconde saison de la série
13:30 Arcane Saison 2 : Qu'est-ce que la Rose Noire ? On vous dit tout ce qu'on sait sur cette organisation secrète
15:13 Arcane Saison 2 : Voici les 5 questions des fans auxquelles la fin de la série Netflix doit absolument répondre
19:47 LoL a aujourd'hui perdu ce petit truc qui rend la série Arcane si géniale
19:44 Le plus gros streamer LoL du monde monte sa propre équipe esport !
17:33 Voici 5 détails cachés dans la saison 2 d'Arcane que vous ne pouvez comprendre qu'en ayant joué à LoL
15:23 Oui, il y aura bien d'autres productions League of Legends après Arcane, mais il faudra attendre un long moment avant de les découvrir

Articles

recommandés

Patch 14.18 : Le patch officiel des Worlds 2024 !
Riot Games va augmenter les prix des achats dans League of Legends, Valorant et ses autres jeux dans certaines régions...
"C'était un peu exagéré", Riot Games avait promis que tout changerait pour League of Legends en 2025, mais ce n'était pas vrai...

Guides

à découvrir

League of Legends : Tier List des champions en Saison 13
Guide pour Ahri Mid en S13
Guide pour Ashe ADC en S13