Des maths dans GTA Vice City ?!

GTA Vice City ?

Pour ceux et celles qui ne connaîtraient pas, GTA Vice City est un jeu vidéo dans lequel on joue le rôle de Tommy Vercetti, un mafieux dont le but est de prendre le contrôle de la ville fictive de Vice City  (qui est inspirée de Miami). Tout le jeu baigne dans une ambiance américaine des années 80.

Pour arriver à ses fins, le joueur incarnant Tommy devra faire des missions, il y en a principalement deux types :

  1. les missions scénaristiques : Tommy grimpe l’échelle sociale du crime en prenant le contrôle d’un studio de cinéma, en braquant une banque, en réalisant des meurtres, en détruisant un entrepôt de drogues concurrent, … Bref, tout ce que peut faire un mafieux pour prendre le contrôle d’une ville !
  2. les boulots : Tommy doit aussi, pour achever sa prise de contrôle de la ville (et aussi permettre au joueur de finir le jeu !) faire plusieurs boulots, notamment : chauffeur d’ambulance, chauffeur de taxi, policier, …

C’est ce troisième métier qui nous intéresse ici. Tommy campe le rôle d’un policier qui ferait passer l’inspecteur Harry pour l’abbé Pierre. En effet, Tommy en flic, ça consiste à buter des gens, ni plus, ni moins, des criminels certes, mais on les bute, toute sommation est inutile !

Le diaporama ci-dessous permet de se mettre un peu dans l’ambiance du jeu (avant de passer aux maths !)

Les missions d’auto-défense

Ces missions de police (appelées « missions d’auto-défense » dans le jeu) permettent de passer de 100 à 150 points de gilet pare-balles. Pour ce faire, il faut enchaîner douze niveaux, où il faut tuer  :

  • 1e niveau : un criminel dans une voiture ;
  • 2e niveau : deux criminels dans une voiture ;
  • 3e niveau : trois criminels dans une voiture ;
  • 4e niveau : quatre criminels dans une voiture ;
  • 5e niveau : cinq criminels dans deux voitures ;
  • 12e niveau : douze criminels dans trois voitures.

Une fois arrivé au douzième niveau, c’est bon, on a les 150 points de gilet pare-balles, et c’est suffisant pour pouvoir terminer le jeu. Mais on peut très bien continuer, on peut même continuer très longtemps, comme on va le voir, il n’y a peut-être même pas de limites dans le jeu !

Mais alors me direz-vous, où sont les mathématiques dans GTA VC ? Eh bien partout, et en particulier dans le calcul de l’argent que l’on gagne en faisant ces missions d’auto-défense : dès que l’on termine un niveau, on gagne de l’argent. Ci-dessous, le diaporama donne les captures d’écran de la fin des niveaux 1 à 12.

Les gains obtenus à chaque niveau sont les suivants :

  • 1e niveau : 50 $
  • 2e niveau : 200 $
  • 3e niveau : 450 $
  • 4e niveau : 800 $
  • 5e niveau : 1250 $
  • 6e niveau : 1800 $
  • 7e niveau : 2450 $
  • 8e niveau : 3200 $
  • 9e niveau : 4050 $
  • 10e niveau : 5000 $
  • 11e niveau : 6050 $
  • 12e niveau : 7200 $

Le gain augmente à chaque nouveau niveau. On peut alors se poser plusieurs questions :

  • combien gagnerai-je au niveau n ?
    • comment sont calculés les gains de chaque niveau dans le jeu ?
  • combien de dollars aurai-je empoché si j’arrive à enchainer 100 niveaux ?
  • combien dois-je enchainer de niveaux pour gagner un milliard de dollars ?!

C’est ici qu’interviennent les maths ! On va en effet découvrir qu’en faisant quelques calculs, on va répondre à chacune de ces questions. On sera ainsi capable de prédire : (i) le gain g_n obtenu en terminant le niveau n , (ii) le gain total G_N obtenu après avoir enchainé N niveaux (et donc entre autres pour N=100 ) et (iii) le nombre N de niveaux à enchaîner pour gagner un milliard de dollars (ou tout autre montant).

Combien gagnerai-je au niveau n ?

À chaque niveau, on gagne plus que le niveau précédent, ce montant supplémentaire que je note \Delta_n augmente lui-même avec les niveaux. Avec \Delta_n , on peut écrire ce que l’on gagnera au niveau n+1 en fonction de que l’on a gagné au niveau n :

\displaystyle  g_{n+1} = g_n + \Delta_n.

Nous ne sommes pas beaucoup plus avancés me direz-vous peut-être. En fait si : puisque l’on connait les gains des douze premiers niveaux, on va pouvoir déterminer \Delta_n . Pour cela, calculons ces \Delta_n pour les douze premiers niveaux :

\displaystyle  \begin{aligned}  \Delta_{1} &= g_{2} - g_{1} = 200 \,\$ - 50\,\$ = 150\,\$ \\  \Delta_{2} &= g_{3} - g_{2} = 450 \,\$ - 200\,\$ = 250\,\$ \\  \Delta_{3} &= g_{4} - g_{3} = 800 \,\$ - 450\,\$ = 350\,\$ \\  \Delta_{4} &= g_{5} - g_{4} = 1250 \,\$ - 800\,\$ = 450\,\$ \\  \Delta_{5} &= g_{6} - g_{5} = 1800 \,\$ - 1250\,\$ = 550\,\$ \\  \Delta_{6} &= g_{7} - g_{6} = 2450 \,\$ - 1800\,\$ = 650\,\$ \\  \Delta_{7} &= g_{8} - g_{7} = 3200 \,\$ - 2450\,\$ = 750\,\$ \\  \Delta_{8} &= g_{9} - g_{8} = 4050 \,\$ - 3200\,\$ = 850\,\$ \\  \Delta_{9} &= g_{10} - g_{9} = 5000 \,\$ - 4050\,\$ = 950\,\$ \\  \Delta_{10} &= g_{11} - g_{10} = 6050 \,\$ - 5000\,\$ = 1050\,\$ \\  \Delta_{11} &= g_{12} - g_{11} = 7200 \,\$ - 6050\,\$ = 1150\,\$. \\  \end{aligned}

Vous l’avez peut être remarqué, \Delta_n peut s’écrire :

\displaystyle  \Delta_n = n \cdot 100\,\$ + 50\,\$,

ainsi, si on est au niveau 42 , alors on gagnera 42\cdot 100\,\$ + 50\,\$ = 4250\,\$ de plus que ce que l’on a gagné au niveau 41 . Voilà, on est maintenant capable de calculer ce que l’on gagnera à n’importe quel niveau n :

\displaystyle  \begin{aligned}  g_{n+1} &= g_n + n \cdot 100\,\$ + 50\,\$ \\  \end{aligned}.

Mais cette formule n’est pas très pratique. En effet, imaginons que l’on veuille calculer ce que l’on gagnerait au niveau 144, alors :

  • on connait le gain au 12e niveau : g_{12} = 7200\,\$
  • on calcule le gain au 13e niveau : g_{13} = 7200\,\$ + 12\cdot 100\,\$ + 50\,\$ = 8450\,\$
  • puis celui au 14e niveau : g_{14} = 8450\,\$ + 14\cdot 100\,\$ + 50\,\$ = 9800\,\$
  • et ainsi de suite jusqu’au 144e niveau !

Ça va être long ! Il serait peut-être même plus rapide de jouer directement au jeu pour avoir la réponse ! Mais avec quelques calculs, la formule peut s’écrire plus simplement :

\displaystyle  g_{n} = n^2 \cdot 50\,\$.

Ainsi, au niveau 144, on gagnera :

\displaystyle  g_{144} = 144^2\cdot 50\,\$ = 1\,036\,800\,\$.

Ci-dessous, la calculatrice permet de calculer le gain pour n’importe quel niveau et le graphique donne le montant du gain pour les cinquante premiers niveaux.

Gain en fonction du numéro du niveau

Gain en fonction du numéro du niveau

Combien aurai-je gagné après avoir enchaîné 100 niveaux ?

Dans le cas général, après avoir enchainé N niveaux, on aura gagné un certain gain que je note G_N qui est la somme des gains de tous les niveaux, ainsi :

\displaystyle  G_N = g_1 + g_2 + g_3 + \cdots + g_n + \cdots + g_N.

Or, on connaît maintenant le gain au niveau n , ainsi :

\displaystyle  \begin{aligned}  G_N &= 1^2 \cdot 50\,\$ + 2^2 \cdot 50\,\$ + 3^2 \cdot 50\,\$ + \cdots + n^2 \cdot 50 + \cdots + N^2 \cdot 50\,\$, \\  &= 50\,\$\cdot\left(1 + 4 + 9 + \cdots + n^2 + \cdots + N^2\right). \\  \end{aligned}

On est presque arrivé : on peut maintenant calculer les gains cumulés au bout de N niveaux, mais pour cela, il faut tout de même calculer la somme des carrés de tous les entiers de 1 à N , alors pour N=5 , ça peut encore aller :

\displaystyle  \begin{aligned}  G_5 &= 50\,\$\cdot\left( 1^2 + 2^2 + 3^2 + 4^2 + 5^2 \right) \\  &= 50\,\$\cdot\left( 1 + 4 + 9 + 16 + 25 \right) \\  &= 50\,\$\cdot 55 \\  &= 2750\,\$ \\  \end{aligned}

mais pour N = 100 , ça va être long !

Cependant, grâce à la formule

\displaystyle  \sum_{n=1}^N n^2 = \frac{(2N+1)(N+1)N}{6},

la formule du gain G_N devient beaucoup plus simple et rapide à calculer :

\displaystyle  G_N = \frac{(2N+1)(N+1)N}{6} \cdot 50\,\$.

On peut maintenant répondre facilement à l’une des questions posée au début de l’article : si j’arrive à enchainer 100 niveaux des missions d’auto-défense de GTA Vice City, alors j’aurai empoché la coquette somme de

\displaystyle  \begin{aligned}  G_{100} &= \frac{(2\cdot 100+1)(100+1)100}{6} \cdot 50\,\$ \\  &= \frac{201\cdot101\cdot100}{6} \cdot 50\,\$ \\  &= 338\,350 \cdot 50\,\$ \\  &= 16\,917\,500\,\$. \\  \end{aligned}

Ci-dessous, la calculatrice permet de calculer la cagnotte pour n’importe quel nombre de niveaux enchaînés et le graphique la donne jusqu’à cinquante niveaux enchaînés.

Gain obtenu en fonction du nombre de niveaux enchainés

Gain obtenu en fonction du nombre de niveaux enchaînés

Combien dois-je enchaîner de niveaux pour gagner un milliard de dollars ?

On connaît maintenant la formule pour calculer le gain G_N que l’on aura obtenu après avoir enchaîné N niveaux, mais peut-on maintenant calculer le nombre de niveaux à enchaîner pour gagner, par exemple, un milliard de dollars ?

La réponse est oui 🙂 ! Mais ce n’est pas évident, la formule donnant G_N peut être réécrite :

\displaystyle  \begin{aligned}  G_N &= \frac{(2N+1)(N+1)N}{6} \cdot 50\,\$ \\  &= \left(\frac{N^3}{3} + \frac{N^2}{2} + \frac{N}{6} \right) \cdot 50\,\$, \\  \end{aligned}

et une telle équation, où l’on veut calculer N en fonction de G_N est appelé en maths une équation du troisière degré (car N est élevé jusqu’à la puissance trois), et une telle équation n’est pas évidente à résoudre.

Fort heureusement, je m’en suis occupé de telle manière que vous n’ayez pas à le faire, et après quelques calculs, on obtient la formule (un peu moche et compliquée !) suivante :

\displaystyle  N = \left\lceil \frac{1}{\sqrt{3}} \mathrm{ch}\!\left(\frac{1}{3}\mathrm{argch}\left(36\sqrt{3}\frac{G_N}{50\,\$}\right)\right) - \frac{1}{2} \right\rceil.

Cette formule fait appel à la fonction cosinus hyperbolique et à la fonction argument cosinus hyperbolique, que toute bonne calculatrice connaît. Vous pouvez donc vous jeter sur votre calculatrice et recopier cette formule pour calculer le nombre de niveaux à enchaîner pour gagner un milliard de dollars (ou un million, ou un millier, …), ou utiliser la calculatrice ci-dessous.

Le graphique ci-dessous donne le nombre de niveaux à enchaîner pour des montants de cent-mille à un million de dollars. Étant donné que ça tombe rarement pile, si je souhaite gagner par exemple un millions de dollars, je devrai enchaîner trente-neuf niveaux, et j’aurai alors gagné 1 027 000 $.

Nombre de niveaux à enchaîner en fonction du gain voulu

Nombre de niveaux à enchaîner en fonction du gain voulu

Après la théorie, la pratique

Dans un esprit de démarche scientifique, je me devais de vérifier par l’expérience que ce que j’ai avancé jusqu’ici est bel et bien exact. Pour ce faire, j’ai enchaîné les missions d’auto-défense avec l’hélicoptère Hunter jusqu’au niveau 261, c’est-à-dire jusqu’à ce que le PC sur lequel je jouais plante ! Le diaporama ci-dessous donne les captures d’écran de chaque fin de niveau (lorsque le montant gagné est affiché), du premier jusqu’au 261e.

La formule programmée dans le jeu pour calculer le montant gagné à chaque niveau est donc bien celle que j’ai donnée plus haut (la formule en bleu). En fait, pour être exact, du niveau 1 au niveau 261, c’est bien cette formule qui est utilisée, mais a priori, rien ne prouve que c’est encore le cas au niveau 262 et au-delà … Donc même si cela parait complètement improbable, à partir du niveau 262, c’est peut-être une toute autre formule qui est utilisée, peut-être même qu’on ne gagne plus d’argent, peut-être même qu’on en perd, peut-être même que …
Mais ayant passé assez de temps sur ces missions, je laisse aux lecteurs pointilleux le soin de vérifier cela !


 Détails des calculs : mathsgtavc.pdf.

3 thoughts on “Des maths dans GTA Vice City ?!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *