Les formules mathématiques dans Pokémon Go et sur Goptimiz.

Cette page contient des formules mathématiques. Âmes sensibles, s'abstenir.

Afin que les chiffres et calculs présents sur ce site puissent être vérifiés et réutilisés en cas de besoin, cette page liste les formules sur lesquelles se basent les calculs présents sur Goptimiz.

C'est aussi l'occasion d'expliquer comment (et pourquoi) ces formules sont utilisées.



Les movesets

Un moveset est la combinaison d'une attaque rapide et d'une attaque chargée. Chaque Pokémon possède un moveset, qu'il utilise lorsqu'il combat.

Simulation des combats

Pour calculer la puissance offensive et défensive des movesets de chacun des Pokémons, Goptimiz simule tous les combats possibles dans Pokémon Go.

Les paramètres des combats et les formules permettant de calculer les dégâts d'un Pokémon étant connus, chaque simulation est effectuée avec un maximum de précision.

La formule utilisée est celle qui permet de déterminer les dégâts qu'inflige une attaque. La formule est la suivante :

arrondi_inf(0,5 × Attaque attaquantDéfense défenseur × Puissance attaque × STAB × Efficacité) + 1

Toutes les combinaisons de combat possibles sont testées : chaque espèce de Pokémon avec chaque movesets possibles sont simulées, aussi bien en tant qu'attaquant, qu'en tant que défenseur.
Cela représente 858 786 simulations de combat au total.

Paramètres du combat

Les simulations de combat se basent sur les paramètres suivants :

  • Les 2 adversaires sont tous les deux niveau 40, avec des IV parfaits.
  • Le combat dure 99 secondes au maximum et s'arrête lorsqu'un des deux adversaires tombe KO.
  • Les Pokémons défenseurs ont leurs PV doublés.
  • Un Pokémon peut stocker jusqu'à 100 d'énergie.
  • Le Pokémon défenseur attend en moyenne 2 secondes après chaque attaque (entre 1.5 et 2.5 secondes).
  • Le défenseur commence le combat avec une double attaque rapide. La deuxième attaque rapide commence à 1 seconde (même si la première attaque rapide n'est pas terminée), et elle ne compte pas dans les délais de récupération du Pokémon défenseur.
  • L'attaquant esquive toutes les attaques chargées de la manière la plus optimisée possible. Les dégâts de l'attaque chargée sont réduits de 75%, mais l'esquive dure 500ms.
  • Un Pokémon gagne 0.5 énergie à chaque fois qu'il subit 1 point de dégât (arrondi au supérieur).
  • Le Pokémon défenseur n'utilise son attaque chargée que 50% du temps lorsqu'elle est disponible.

A la fin du combat, un score entre 0% et 100% est attribué au Pokémon attaquant et défenseur en utilisant 3 variables :

  • Durée : la durée du combat en pourcentage (0 secondes = 0%, 99 secondes = 100%)
  • Dgts att : les dégâts effectués par le Pokémon attaquant en pourcentage des PV max du Pokémon défenseur (0% si le défenseur n'a pas perdu de vie, 100% s'il a perdu tous ses PV).
  • Dgts def : les dégâts effectués par le Pokémon défenseur en pourcentage des PV max du Pokémon attaquant.

Les scores utilisent les formules suivantes :

  • Pokémon attaquant : Dgts att + (1 - Durée) + 0.5 × Dgts def2.5
  • Pokémon défenseur : (1 - Dgts att) + Durée + 0.5 × Dgts def2.5

Ces formules permettent de prendre en compte le DPS d'un Pokémon ainsi que sa résistance, tout en favorisant le DPS pour les Pokémons attaquant et en favorisant la résistance et la durée du combat pour les Pokémons défenseurs.


CP, IV et niveaux des Pokémons

Les Points de Combat

Les Points de Combat (ou CP) indiquent à peu près la puissance brute d'un Pokémon.

Les CP d'un Pokémon sont calculés grâce à la formule suivante :

max(10, arrondi.inf(racine(Endurance * CpM) * racine(Défense * CpM) * (Attaque * CpM) 10))

Qu'est-ce que le CpM ?

Trouver les IV d'un Pokémon

Grâce à la formule permettant de connaître les CP, calculer les IV possibles d'un Pokémon devient un jeu d'enfant :

Pour cela, il suffit de tester toutes les combinaisons d'IV possibles en se basant sur les statistiques propres à l'espèce du Pokémon, ainsi que sur les CP et PV du Pokémon. Toutes les combinaisons qui donnent des CP égaux aux CP du Pokémon sont des combinaisons potentielles.

Afin d'éliminer le plus de combinaisons possibles, on peut utiliser plusieurs données :

  • Le nombre de poussières requis pour recharger un Pokémon, qui indique une fourchette de niveaux possibles pour le Pokémon.
  • Le niveau du joueur, qui limite les niveaux possibles du Pokémon.
  • Si le Pokémon a déjà été rechargé ou non, ce qui permet de savoir si le Pokémon peut avoir des demi-niveaux ou pas.
  • L'évaluation du leader, qui permet de réduire les différentes combinaisons d'IV possibles.

Le CpMultiplier (CpM)

Tous les calculs utilisant le niveau des Pokémons utilisent une variable appelée CpMultiplier (ou CpM).

La valeur de cette variable change en fonction du niveau du Pokémon concerné. Voici la liste des valeurs du CpM en fonction du niveau du Pokémon :

NiveauCpM
10,09399999678134918
1.50,13513743132352829
20,16639786958694458
2.50,19265091419219971
30,21573247015476227
3.50,23657265305519104
40,25572004914283752
4.50,27353037893772125
50,29024988412857056
5.50,30605737864971161
60,32108759880065918
6.50,33544503152370453
70,34921267628669739
7.50,36245773732662201
80,37523558735847473
8.50,38759241108516856
90,39956727623939514
9.50,41119354951725062
100,42250001430511480
10.50,43292641341041438
110,44310754537582397
11.50,45305995387198578
120,46279838681221003
12.50,47233607806265349
130,48168495297431951
13.50,49085581023246050
140,49985843896865839
14.50,50870175659656525
150,51739394664764404
15.50,52594251185655594
160,53435432910919189
16.50,54263576120138168
170,55079269409179688
17.50,55883059930056334
180,56675451993942261
18.50,57456914708018303
190,58227890729904175
19.50,58988791191950440
200,59740000963211060
20.50,60482365638017654
210,61215728521347046
21.50,61940411105751991
220,62656712532043457
22.50,63364918157458305
230,64065295457839966
23.50,64758096635341644
240,65443563461303700
24.50,66121926903724670
250,66793400049209595
25.50,67458190023899078
260,68116492033004761
26.50,68768490850925446
270,69414365291595459
27.50,70054289698600769
280,70688420534133911
28.50,71316909790039062
290,71939909458160400
29.50,72557561099529266
300,73170000314712524
30.50,73474101722240448
310,73776948451995850
31.50,74078557640314102
320,74378942999999997
32.50,74678121099999994
330,74976103999999999
33.50,75272908699999996
340,75568550999999995
34.50,75863037799999999
350,76156383999999999
35.50,76448606500000005
360,76739716999999996
36.50,77029726600000004
370,77318650000000000
37.50,77606496199999997
380,77893274999999995
38.50,78179005499999998
390,78463696999999999
39.50,78747357799999995
400,79030001163482699