[Tuto] Calculer les chances de succès d'une équipe

Dompteurs venus d’Azeroth et d’ailleurs, je vous salue.

Aujourd’hui, on va parler du calcul des chances de réussite d’une équipe de mascotte face à une autre (ou face à une seule mascotte). À ma connaissance, il n’existe que deux façons de procédés :
_En faisant une arborescence de probabilités qui sont indépendantes des unes des autres, donc je les multiplie entre elles!
_En utilisant Python pour lancer des simulations.
Je ne connais rien à Python. Si quelqu’un saurait comment faire, ça m’intéresse. Cela limite mes possibilités. Mais même procédant ainsi, je vais procéder de manière légèrement empirique, en me permettant des simplifcations.

L’intérêt de ce calcul est de savoir à quoi s’attendre. On a tous déjà fait une estimation à l’avance de nos chances de réussite, ne serait-ce que pour savoir si ça valait le coup d’essayer. Pouvoir le calculer, c’est le stade au-dessus. Il peut servir à estimer le nombre de try nécessaire, à savoir où se trouvent dans le plan de jeu le plus de chances d’échec.
Sachez toutefois que ce calcul n’est pas forcément pertinent. Il ne peut pas vous dire ce que vous pourrez faire à la place pour augmenter vos chances. Si vous avez suffisamment de mascotte et que vous estimez ne pas manquer de temps, vous pouvez bruteforce décider de bruteforce le jeu sans problème (par exemple vouloir spammer Baiser de grenouille face à des élémentaires qui lui sont moins rapides).

Ce qu’il faut savoir
_Les dégâts, les plages de vie, les soins vont fortement influencer le résultat, au même titre que le plan de jeu. C’est une évidence, mais les évidences font partie des choses les plus difficiles au monde à mettre le doigt dessus, parce qu’avec l’habitude on ne les voit plus.
_Les chances de coup critique sont de 5% ((voir lien explicatif ici)
_Les pourcentages de chances de toucher et de réussir à assommer doivent être pris en compte (25% pour Coup de tête par exemple).
_Plusieurs choses permettent de simplifier le calcul :
*Si l’on fait constamment de l’overheal ou qu’on s’arrange pour être intuable, on a forcément 100% de chances de victoire.
*Si une de nos mascottes meurt en deux coups quoiqu’il arrive, il est inutile d’estimer que les 5% de chances de critique qu’elle peut subir change quoique ce soit au plan de jeu.

Le plan de jeu
C’est comment on joue, on peut utiliser la même équipe de plusieurs manières différentes, ça casse en plus la monotonie et ça permet de s’adapter. Le plan de jeu, c’est ce qu’on va regarder en détail pour évaluer les chances de succès (ou d’échec, mais regardons le verre à moitié plein).
Comme en theocrafting, on va vouloir détailler quelque part ce qu’il s’est passé. Il n’est pas nécessairement utile de passer nécessairement par le theocrafting, puisqu’on peut aussi voir cela en live et utiliser notre mémoire.
On va différencier deux types de plans de jeu :
_Le PvE
_Le PvP

Chances de succès en PvE
En PvE, il est nécessaire de savoir quand il ne faut impérativement pas subir de coup critique et quels scénarios vont nous forcer à devoir recommencer. Par convention je commence à 100% de chances de réussite (toujours pour voir le verre à moitié plein) et je diminue progressivement.
À chaque tour, je considère qu’il y a une probabilité, même égale à zéro, de faire baisser mes chances de réussite.
En PvE extérieur, et selon si j’ai des mascottes de rechange (par exemple un Bélier pour faire Brouter+débandade pour burst un Mort-vivant je n’en manque pas!), je me permets d’ignorer les deux premiers tours parce que ce sont les plus rapides à refaire.
Pour chaque tour, je prends (1-%age échec), par exemple s’il ne faut pas que je subisse un coup critique, je descends à (1-0,05)=0,95.
Ensuite, je multiplie entre eux tous ces résultats.

Prenons un exemple.

À chaque fois que je frappe ou que Luisaille frappe, il y a 5% de chances de subir un coup critique. Ensuite je fais faire un copier-coller de ce que j’ai marqué ici :
On commence à 100% de chances de réussite
Tour 1 : je ne l’estime pas important, en plus c’est au tour 1 donc au pire on refait
Tour 2 : il ne doit pas nous mettre de coup critique => -5% de chances de réussite
Tour 3 : il nous tue à coup sûr, donc aucun impact
Tour 4 et 7 : il va nous caler deux Portail du Vide, aucun ne doit faire de coup critique : -10% de chances de réussite
Tour 5 : il ne doit pas nous mettre à la fois 3 cisailles et un coup critique => -1,67% de chances de réussite
Tour 6 : il nous tue à coup sûr
Tour 7 : avec le tour 4
Tour 8 : il meurt et on attaque en premier.

Prenons un autre exemple plus théorique :
Tour 1, 2, 3, 5, 8, je ne dois pas subir de coup critique
Tour 4 : il faut que j’attaque en premier, alors que ma vitesse est la même que l’adversaire
Tour 9 : il ne doit pas m’assommer avec son Coup de tête.
Tour 10 : Ses 4 boules de naphtes ne doivent me toucher que 3 fois au maximum (20%)
Résultat :
Tour 1,2,3,5,8 : 0,95 exposant 5 =0,773
Tour 4 : 0,5
Tour 9 : 0,75
Tour 10 : il n’a que 20% de chances de me toucher à chaque fois, donc 0,20 exposant 4 de me toucher 4 fois = 0,016.
Les chances de fail au tour 10 sont ridicules. Je décide de les ignorer.
Résultat : 0,773x0,65x0,5=0,29 soit pas beaucoup.
Il va de soi que le simple fait d’être ex aequo en vitesse réduit de moitié mes chances de succès. Sans le problème du tour 4, j’aurais eu 0,58 en chances de succès.
Si je décide d’ignorer les 2 premiers tours, j’obitens (0,95x0,95x0,95x0,5x0,75)=0,32.
Et si j’avais résolu le problème du tour 4, j’aurais eu 0,64. Ce qui en aurait fait une team viable.

Plan de jeu en PvP
Je ne sais pas s’il est possible d’envisager une arborescence. Toujours est-il qu’il est possible d’envisager la possibilité qu’un adversaire fasse telle ou telle action, s’y prenne de telle façon, surtout si son équipe ne permet pas beaucoup de variations dans le plan de jeu.
Toutefois, s’il a choisi une équipe qui a peu de possibilités d’adaptations, c’est qu’il doit jouer une team de gros sagouin avec de grosses chances de gagner, on sait tous comment c’est possible et à quel point ça scie les nerfs.
Ce qui est intéressant en PvP, c’est que, quand il n’y a pas de bots, il y a deux joueurs donc chacun va prendre des décisions et les deux voir les voir. Donc on peut apprendre en faisant du PvP.
De plus soyons francs : calculer des chances de réussite en PvP a un intérêt limité : la chance décide de son côté, et si c’est celui d’une team cancer, ça blaze deux fois plus. À la limite, quand on joue une team cancer et qu’on se fait avoir par la RNG, ça soulage un peu.

Si je devais procéder, ce serait de manière empirique :
_Si je prends cette décision, je sais que je vais devoir procéder ainsi, lui il risque de procéder ainsi
_S’il a Déviation, comment s’y prendre, peut-il me mettre la pression et me forcer à essayer de claquer un CD ou va-t-il me feinter? Dois-je attendre? Si je l’ai déjà combattu qu’a-t-il fait au combat d’avant? Il a feinté ou pas? Va-t-il refeinter?
_Je sais que plus je prends de risques avec la RNG; plus je fais de Coup de tête plus il y a de chances que l’une d’entre elles réussisse à assommer ma cible.

Ça ne me semble pas fou d’envisager de calculer les chances de succès en PvP parce que le nombre de décisions est limité par tour : on prend le nombre de techniques qui ne sont pas sous CD, on ajoute la possibilité de switch et de Passer et c’est fini. Sachant qu’en général :
_quand on fait passer, c’est qu’il y a un barrage donc c’est très spécifique.
_quand on switch, c’est soit qu’on est stun, soit pour faire exploser un champ de mine sur la mascotte de notre choix, soit pour contrer un swap forcé. Par exemple, s’il l’on garde une mascotte low life elle peut à la fois « tanker » un effet de bombe (du style Geyser), une attaque à gros CD et un champ de mine.

Maintenant, la question, c’est comment transformer cette prévisibilité en chances de réussites? Je n’en sais rien du tout, donc je m’arrête là.
D’autant plus que je pense vraiment qu’à la longue, en PvP, on sait estimer quand on a plus de chances de réussir ou d’échouer.

Coucou !

Oui, l’ensemble des possibilités d’un combat de mascottes peut se représenter sous forme d’arborescence. Je ne connais pas vraiment les combats de mascotte, mais l’idée c’est qu’il n’y a pas possibilité de passer d’une branche à l’autre, ce qui correspond au fait que l’ordre est très important (oublié le nom de la propriété), donc il n’y a pas vraiment de simplification possible. Le problème pour connaître simplement le pourcentage de succès de telle ou telle strat, c’est qu’il faut parcourir l’arborescence à cause du joueur adverse (je peux préciser ce point pas évident mais je dis juste qu’on ne prendra pas les mêmes embranchements selon la réussite ou les échecs te telle et telle attaque.).

Si un combat dure 10 tours, avec 3-4 choix à chaque fois (de mémoire c’est plus changer/1/2/3 au premier tour, et les compétences ont des CDs)

La complexité doit être de l’ordre de 4^(10 * 2). 10 * 2 car les deux joueurs interviennent, et 4 le nombre estimé de choix à chaque phase. Ca fait environ 10^12. Mile milliards de feuilles dans l’arbre « au maximum ». Ce n’est pas rédhibitoire car on peut en ignorer une bonne partie.

A noter que les compétences qui peuvent rater ou critiquer compliquent largement le problème.

On peut j’imagine parcourir l’arbre selon une technique de type min-max (c’est l’IA la plus basique qui soit), ce qui doit simplifier grandement. Min-max permet de déterminer la solution optimale sans l’intervention du hasard. Le prendre en compte n’est pas compliqué.

De prime abord, développer un tel outil me paraît possible. Et pas nécessairement très compliqué (Je n’ai regardé que de manière superficielle) au point même qu’il existe peut être déjà (je n’ai pas zieuté). Après si on veut prendre en compte chacune des compétences de toutes les mascottes, ça peut être très long.

Je ne sais pas si je réponds bien à tes questions.

TL;DR

Il n’existe pas vraiment de moyen de calculer la probabilité d’un coup seulement parce qu’on joue à 2 et qu’il faut prendre en compte l’ensemble de l’arborescence du dessous. On doit pouvoir attribuer une chance de succès à tous les coups en parcourant tout l’arbre, sous réserve d’un complexité abordable. Du même coup on trouve la meilleure des solutions.