By Philidia on mercredi 31 août 2016
Category: News

Le fonctionnement des sbires

 
La connaissance du fonctionnement des sbires s'arrête pour beaucoup de joueurs au fait qu'ils attaquent votre champion si vous attaquez un adversaire. Mais si vous avez envie d'en savoir beaucoup plus, alors le post de Reinboom devrait vous en apprendre beaucoup sur leur manière de fonctionner, et vous donner des petites subtilités sur le sujet...
 
Attention tout de même, les explications de Reinboom ne concernent que les sbires des lanes, et uniquement les sbires de la faille de l'invocateur, même si les règles sont similaires d'une map à l'autre.
 
Règles générales
 
Les sbires des lanes ont une liste d'actions dont ils doivent vérifier la faisabilité (Toutes les 0.25sec), et exécutent la première qu'ils peuvent faire, en ignorant celles qui sont après. Les sbires ont toujours un objectif qu'ils essayent d'atteindre d'une manière ou d'une autre. Même lorsqu'ils marchent, ils cherchent à atteindre un point en particulier qui change au fur et à mesure qu'ils s'en rapprochent.
 
Dans cette liste d'action, on retrouve donc, dans l'ordre des priorités, les actions suivantes :
 
 
 
Pour vérifier si une cible est valide ou non, il y a des règles évidentes, comme l'équipe dans laquelle la cible est, mais aussi des règles plus subtiles, comme l'emplacement de la cible sur la map.
 
Les interruptions
 
Il y a également plusieurs choses qui peuvent se produire entre chaque intervalle de 0.25sec, et qui font que le sbire refait immédiatement une vérification avec la liste montrée ci-dessus :
 
 
Les points de contrôle
 
Lorsque les sbires apparaissent, ils sont assignés à une liste de points sur la maps (Les points de contrôle), qui leurs donnent le chemin à suivre sur la lane. Par défaut, les sbires cherchent toujours à aller vers le point suivant. S'ils s'en rapprochent suffisamment, ils passent au suivant, leur objectif final étant le nexus adverse. Les points de contrôle sont les mêmes pour chaque équipe. Seule la direction change. Voici un petit exemple :
 

 
Portée
 
Les sbires ont trois portées primaires : Collision, attaque, et acquisition. En image cela donne ça :
 

 
 
Règles spéciales
 
Le comportement des sbires peut changer en fonction de la zone de la map où ils sont et/ou en fonction du moment auquel ils apparaissent. Les plus importants de ces paramètres sont la première vague de sbire, et l'évitement de certaines zones.
 
La première vague de sbires
 
Cette première vague a un comportement différent, de sorte à s'assurer que si aucun sbire n'est touché dans les deux vagues qui s'affrontent, la mort d'un sbire est presque toujours suivie de celle d'un sbire adverse. Pour que le résultat soit équilibré, il y a plusieurs facteurs à contrôler, notamment :
Les sbires mettent à jour leur comportement toutes les 0.25sec. Augmenter cette fréquence ne serait pas raisonnable, dans la mesure où cela impose une charge supplémentaire aux serveurs de jeu.
Les sbires apparaissent avec un espace notable entre eux et le conservent quand ils marchent sur la lane. Cela signifie que lorsqu'un sbire en voit un autre, chez l'adversaire, il voit uniquement ce sbire.
 
Notez que les sbires réévaluent leur cible pour en choisir une autre souvent. C'est à cause de ça que leur comportement donne parfois l'impression d'être erratique. C'est principalement dû aux appels à l'aide, et aux collisions.
 
Riot a déjà tenté d'autres solutions pour éviter ces problèmes liés à l'IA des sbires. Par exemple, un des essais faisait que les sbires avaient leur cible initiale assignée à leur apparition. Mais cela n'a pas fonctionné parce que les sbires du bas et d'en haut prenaient un virage un peu plus serré en arrivant à proximité de leur cible, et les deux vagues se retrouvaient alors plus proches de la rivière. Finalement, Riot a préféré intégrer une IA spécifique à la première vague de sbires.
 
La priorisation des cibles
 
Dans cette IA, on retrouve des éléments comme la priorisation des cibles. Les sbires de la première vague vont cibler en priorité les sbires ennemis qui n'ont pas déjà un autre sbire qui les attaque. Ils "distribuent" donc leur focus dans la vague adverse. Ils ignorent cependant les sbires mages qu'ils trouvent, pour ne pas trop perturber cette "distribution". Les sbires mages vont malgré tout "réveiller" les autres sbires (Le réveil constitue une portée d'acquisition plus faible que la portée d'acquisition normale. Le terme est expliqué en détail plus bas), ce qui signifie que si au bout de 0.25sec, un sbire n'a pas trouvé de cible valide autre qu'un sbire mage, il cessera d'appliquer la règle lui demandant d'ignorer les sbires mages.
 
Ignorer la collision avec les alliés avant d'arriver sur la lane.
 
La première vague de sbires ignore toutes les collisions avec les alliés avant de passer la première tour. Cela permet de s'assurer que les champions alliés ne peuvent pas manipuler le comportement spécial de la première vague de sbires.
 
Silence radio
 
Lorsqu'un appel à l'aide est lancé par un sbire allié, ou qu'une collision se produit, la première vague de sbire qui entend cet appel refusera de changer son comportement une deuxième fois. Cela afin de s'assurer que les sbires restent focalisés sur leur cible actuelle jusqu'à leur mort.
 
Arrêt de certains comportements
 
Toutes ces logiques spécifiques à la première vague de sbires peuvent être annulées par plusieurs évènements. Si un sbire cible un champion adverse ou entend un appel à l'aide provoqué par un champion ennemi, il abandonne son comportement spécifique dû à la première vague, et redevient un sbire "normal", utilisant l'IA d'un sbire classique. Même chose si la cible d'un sbire meurt. Cela permet de s'assurer qu'une fois que l'action commence sur la lane, les sbires agissent de nouveau normalement. Cette règle est très importante, puisqu'elle permet de s'assurer que celle du silence radio ne fait pas qu'un sbire pourchasse un champion indéfiniment.
 
Portées d'acquisition multiples
 
À l'inverse du comportement par défaut d'un sbire, la première vague a 3 différentes portées d'acquisition : La portée de réveil, d'acquisition, et de première acquisition. Chacune d'elle est utilisée pour résoudre un problème mathématique issu de la manière dont les sbires apparaissent. Ces derniers démarrent au Nexus, avec un délai entre chaque apparition, ce qui donne une ligne avec un sbire en tête. Cela signifie que lorsque le sbire de tête arrive à portée d'acquisition d'un autre sbire, il est en général le seul sbire à cette portée. Le délai de 0.25sec pour l'acquisition d'une cible peut parfois permettre à d'autres sbires d'être à portée au même moment, et cela rend la chose imprévisible. La priorisation des cibles ne suffisant pas à résoudre le problème seule, du fait de cette imprévisibilité, il faut ce système supplémentaire de portée :
 
 
Toutes ces portées combinées permettent de s'assurer qu'un sbire a une bonne liste d'ennemi à portée lors de sa première acquisition de cible. Une petite image pour illustrer :
 

 
Ici, le sbire n'a pas encore été réveillé, même si dans ce cas il ciblerait normalement le premièr sbire. Même avec la portée de première acquisition (Le cercle blanc), il choisirait seulement entre les deux premiers sbires.
 

 
Maintenant que le sbire a finalement un sbire adverse dans sa portée de réveil (Le cercle bleu), il se "réveille", et compare tous les sbires à sa portée de première acquisition (Le cercle blanc). Cela lui permet de découvrir le 3ème sbire mêlée, et de voir que ce dernier a le moins d'autres sbires en train de le cibler. Donc il le prend pour cible. L'opposé arrive également, et le sbire adverse a bien pris comme cible le sbire dont on parlait.
 

 
À partir de là, seul le cercle rouge (Et la portée d'attaque) des sbires importe. C'est la portée d'acquisition par défaut des sbires, et c'est ce que tous les sbires après la première vague utilisent.
 
L'évitement de zones
 
Après ces règles générales sur l'IA des sbires, il n'y a actuellement aucune raison de laisser un sbire suivre un adversaire à travers la rivière ou la jungle, en traversant la map, allant même sur les autres lanes tant qu'il garde sa cible. Ce scénario se voyait parfois dans le passé, ce qui donnait des situations étranges où un sbire suivait indéfiniment dans la jungle un champion, jusqu'à ce qu'il perde la vision sur ce dernier, quand il entrait dans un buisson par exemple.
 
Ce problème est résolu depuis la saison 2016, et les sbires évitent maintenant des régions spécifiques de la map. Cette règle est spéciale parce que la solution est évidente d'un point de vue de sa description, à savoir : "Ne pourchasse pas dans la rivière/jungle". Malheureusement, ce n'est pas un concept que le jeu avait jusqu'à la saison 2015. Les serveurs de League of Legends n'ont pas le visuel de vos parties quand vous jouez. Un serveur voit plutôt des choses comme cette image (Qui est juste une représentation visuelle des chiffres qu'il a) :
 

 
La solution fut donc d'apprendre au serveur où était la rivière. Riot a donc ajouté plus de données dans les fichiers de la faille de l'invocateur :
 

 
C'est de cette manière que les sbires ont pu commencer à se demander s'ils étaient autorisés à être là où ils sont. Il y a cependant quelques règles subtiles pour cela :
 
 

 
Le sbire peut ici cibler Ahri parce qu'elle est dans une zone marquée comme étant la lane. Si elle était dans la rivière, il ne la choisirait pas comme cible, sauf s'il la ciblait déjà avant qu'elle n'entre sur la rivière (C'est la première règle vu au-dessus).
 

 
Une fois qu'Ahri est entrée sur la rivière, comme le sbire la ciblait déjà, il continue à le faire et à l'attaquer. Il ne ciblera cependant rien de nouveau qui soit dans la rivière (C'est toujours la première règle).
 

 
Une fois que le sbire quitte la lane lui-même, il va viser sa liste de cibles, et refuser d'en acquérir une nouvelle jusqu'à ce qu'il revienne sur la lane (C'est la deuxième règle).
 
Avec ces règles, Riot peut donc marquer clairement les zones où les sbires ne sont pas autorisés, comme la jungle, la rivière, ou le périmètre de la base.
 
La collision : Une importance vitale
 
Nous en avons parlé plus haut, les hitbox sont ce qui détermine entre autres si un sbire entre en collision avec un autre, si un champion entre en collision avec un sbire ou un autre champion, mais aussi si un skillshot touche sa cible ou non. Les champions ont tous des hitbox, de différentes tailles, et ces dernières sont général plus grandes sur les tanks.
 
Ces hitbox ont une importance vitale pour le jeu, et jouent un grand rôle dans les actions. Au-delà du fait de déterminer si un skillshot touche une cible ou non, manipuler les sbires fait partie du jeu, et ignorer la collision avec les sbires pour les champions (Une sorte de fantôme permanent donc), aurait pour effet de faire perdre une partie du talent nécessaire pour réussir certaines choses. Il y a par exemple une plus grande difficulté à essayer de placer un grappin avec Blitzcrank en passant à travers une vague de sbire plutôt qu'en la contournant.
 
Pour aller plus loin : La règle de la première vague appliquée à toutes les vagues
 
Et si une des règles de la première vague, à savoir une meilleure répartition des cibles, s'appliquait à toutes les vagues ? Pour Riot, le changement ne serait pas bénéfique, et même contre-productif, du fait de ce qu'il se passe dans le cas où une lane push avec un gros groupe de sbires. Dans ce cas de figure, les sbires ont tendance à se focaliser sur une cible en particulier. Mieux répartir les cibles ralentirait alors les pushs. Qui plus est, cela deviendrait bizarre au bout d'un moment, car dans le cas d'une égalité numérique, la répartition des cibles des sbires rendraient ces derniers plus résistants, et donc plus longs à tuer sans l'intervention d'un champion. Cela aboutirait à de véritables murs de sbires des deux côtés, et gênerait les champions pour qu'ils contournent ces murs.
 
Leave Comments