Contributeur
La théorie des jeux (game theory) est un outil, ou plutôt une série d'outils, pour analyser le comportement d'un individu ou d'un groupe d'individus lorsqu'il est placé dans un contexte d'interaction : il s'agit d'analyser le choix optimal que celui-ci doit prendre en anticipant les décisions d'un autre individu ou groupe d'individus. Cette discipline a été mise en place pour la première fois par des économistes (von Neumann et Morgenstern en particulier), puis affinée par des mathématiciens (notamment le célèbre John Nash). Ce qui est intéressant avec la théorie des jeux, c'est qu'elle dépasse très largement le cadre de l'économie, et a des applications pratiques dans énormément d'autres domaines : les jeux de société, le sport, la stratégie militaire, la vie de tous les jours... Même si cette théorie est issue du domaine de la recherche, elle a de nombreuses utilisations pratiques, en guidant les décisions de chefs d'Etat, ou en analysant des situations de relations internationales. Il n'est donc pas très étonnant qu'elle ait été appliquée ces dernières années au jeu vidéo, mais est dans ce domaine principalement restée cantonée à la recherche universitaire. Cet article sera donc une petite introduction aux liens qui peuvent exister entre théorie des jeux et jeu vidéo.
Comme précisé dans l'introduction de cet article, je suis loin d'être un spécialiste de la théorie des jeux. Je ne serais pas capable d'entrer dans tous les détails techniques, et me contenterai d'une analyse superficielle. Ne voyez pas dans cet article un texte rigoureusement scientifique et académique, mais plutôt une petite introduction à la théorie des jeux, écrit par un non-initié et adressé à des non-initiés. Si vous êtes un spécialiste du domaine et que vous décelez des erreurs dans cet article, n'hésitez pas à m'en faire part par message privé.
Un exemple simple pour se mettre dans le bain
Pour comprendre comment la théorie des jeux fonctionne et comment elle peut être appliquée aux jeux vidéo, commençons avec un exemple très simple et essayons de voir si nous pouvons résumer le gameplay d'un jeu de façon simplifiée en utilisant cet outil. Imaginons une partie de Counter-Strike dans laquelle s'affrontent deux joueurs : un terroriste, et un anti-terroriste. Le but pour le terroriste est d'aller poser sa bombe en A ou en B. Le but de l'anti-terroriste est de l'en empêcher. Cette situation ouvre quatre possibilités distinctes :
- Le terroriste va poser sa bombe en A. L'anti-terroriste se déplace en A, et surprend le terroriste occupé avec sa bombe. S'il n'est pas manchot, il le tue, et gagne la partie
- Le terroriste va poser sa bombe en A. L'anti-terroriste se déplace en B. Le terroriste peut tranquillement gagner la partie.
- Le terroriste va poser sa bombe en B. L'anti-terroriste se déplace en B, et surprend le terroriste occupé avec sa bombe. S'il n'est pas manchot, il le tue, et gagne la partie
- Le terroriste va poser sa bombe en B. L'anti-terroriste se déplace en A. Le terroriste peut tranquillement gagner la partie.
"Merci captain obvious", vous dites-vous. Il est en effet très fastidieux d'écrire ces quatre possibilités ligne par ligne, et on a vite l'impression d'enfoncer des portes ouvertes. C'est pourquoi, dans la théorie des jeux, on utilise un outil appelé matrice, qui permet de résumer ces quatre hypothèses de manière beaucoup plus simple. Une matrice se présente de cette façon :
(Joueur 1, Joueur 2) | Choix A du joueur 2 | Choix B du joueur 2 |
---|---|---|
Choix A du joueur 1 | Case 1 | Case 2 |
Choix B du joueur 1 | Case 3 | Case 4 |
Dans la case 1, on retrouvera donc le résultat de la situation dans laquelle le joueur 1 fait le choix A, et le joueur 2 fait le choix A.
Dans la case 2, c'est le résultat de la situation dans laquelle le joueur 1 fait le choix A, mais le joueur 2 fait le choix B.
Vous avez compris l'idée : la matrice sert à mettre en relation les choix des deux joueurs, et ce, dans toutes les situations possibles (AA, AB, BA, BB). A partir de là, nous allons pouvoir exprimer les conséquences de ces interactions. Pour ce faire, on attribuera une valeur à celles-ci, et ce pour les deux joueurs. Dans chaque case, le premier chiffre représentera la valeur que retire le joueur 1 de l'interaction, et le deuxième chiffre représentera la valeur que le joueur 2 retire de l'interaction. Par exemple, une situation notée (1, 1) sera une situation dans laquelle les deux joueurs retirent le même bénéfice de leurs choix respectifs. Une situation notée (0, 3) sera une situation dans laquelle le joueur 1 ne retire aucun bénéfice de son choix, alors que le joueur 2 en retire un bénéfice plus grand.
Nous pouvons maintenant poser la matrice de l'exemple de Counter-Strike :
(Terroriste , Antiterroriste) | Zone A | Zone B |
---|---|---|
Zone A | (0, 1) | (1, 0) |
Zone B | (1, 0) | (0, 1) |
On retrouve ici, de façon beaucoup plus lisible, les 4 hypothèses que l'on avait vu. A partir de cette matrice, le joueur terroriste peut donc aborder de façon logique sa partie selon l'anticipation qu'il fait des déplacements de l'anti-terroriste. Bien évidemment, cet exemple était extrêmement simplifié, et une véritable de partie de Counter Strike ne peut pas se résumer à ça. Vous aurez aussi remarqué le peu d'intérêt pratique de cet exemple : le mécanisme de gameplay en question est tellement basique que l'aborder par le biais de la théorie des jeux ne fait que le rendre plus compliqué à saisir au lieu de le simplifier. L'intérêt de ce premier paragraphe était donc d'aborder de façon plus concrète et plus digeste les outils de la théorie des jeux, et l'application que l'on peut en faire dans le milieu des jeux vidéo.
Le dilemme du prisonnier pour comprendre les jeux online
Le dilemme du prisonnier est, dans la théorie des jeux, une situation dans laquelle les deux joueurs ont intérêt à coopérer, mais seront tentés de ne pas le faire si le jeu n'est répété qu'une fois et s'ils n'ont pas la possibilité de communiquer. Le nom de ce problème vient de la première façon dont il a été formulé : deux suspects sont arrêtés par la police, sont placés dans des salles séparées, et se voient faire la même offre. Si l'un des deux dénonce l'autre suspect, il est remis en liberté tandis que l'autre va en prison. Si les deux se dénoncent mutuellement, ils vont tous les deux en prison mais pour une durée moindre. Si aucun des deux ne dénonce l'autre, ils vont tous les deux en prison pour une durée symbolique de quelques mois.
Cette petite introduction étant faite, nous pouvons à présent nous attaquer au cœur du sujet. Il sera ici question d'un problème classique de la théorie des jeux, le dilemme du prisonnier (voir encadré), utilisé de manière à comprendre certains comportements que l'on rencontre au cours de toutes les parties de jeux en ligne, quel que soit le jeu en question. Dans le cadre de n'importe quel jeu en ligne par équipes donc, le joueur a toujours un choix à faire : jouer de son côté en ignorant son équipe, ou adopter un style de jeu teamplay, qui consiste à modifier sa façon personnelle de jouer en fonction des autres membres de son équipe. Prenons l'exemple d'un raid de World of Warcraft : chaque joueur peut soit décider de s'attribuer le rôle de dps sans s'inquiéter des besoins du raid, soit décider de jouer le rôle du tank ou du healer et d'adapter son style de jeu pour prendre en compte ses camarades. Dans Team Fortress 2, chaque joueur pourrait jouer Sniper, ou décider de jouer medic. Dans League of Legends, on retrouve ce même choix à faire entre carry et support. Vous voyez l'idée : ce même type de choix se retrouve dans tous les types de jeux en équipes.
Vous conviendrez aussi que, dans le cadre d'un matchmaking aléatoire dans lequel le joueur ne connaît pas ses coéquipiers, le joueur n'est pas certain du comportement que ceux-ci vont adopter. Posons la matrice suivante :
(Joueur, Equipe) | Jeu "solo" | Jeu "en équipe" |
---|---|---|
Jeu "solo" | ||
Jeu "en équipe" |
On voit ici que 4 situations sont possibles. Reprenons-les une par une.
- Le joueur joue "solo", et ses coéquipiers jouent "solo" aussi. Tout le monde va s'amuser, mais sans réellement profiter de toutes les possibilités que le jeu a à offrir.
- Le joueur joue "solo" mais ses coéquipiers jouent "en équipe". Le joueur va s'amuser comme un petit fou, mais le reste de son équipe qui essaie d'adopter une stratégie beaucoup moins.
- Le joueur joue "en équipe" mais ses coéquipiers jouent "solo". Le joueur ne va pas beaucoup s'amuser (il va même carrément rager), mais ses coéquipiers vont innocemment apprécier la partie.
- Le joueur joue "en équipe" et ses coéquipiers aussi. Toute l'équipe va s'amuser, et va en plus de ça profiter de toutes les possibilités que le jeu a à offrir. C'est du gagnant-gagnant.
Complétons à présent la matrice avec ces nouvelles données :
(Joueur, Equipe) | Jeu "solo" | Jeu "en équipe" |
---|---|---|
Jeu "solo" | (1, 1) | (1, 0) |
Jeu "en équipe" | (0, 1) | (3, 3) |
Ce que nous apprend la théorie des jeux, c'est que la situation optimale serait atteinte si le joueur et ses coéquipiers se mettaient d'accord pour jouer en équipe, c'est-à-dire en s'attribuant des rôles et en développant une stratégie commune. Pourtant, cette matrice nous apprend que cette situation est peu probable : chaque joueur individuel ne connaissant pas ses coéquipiers ni le comportement qu'ils vont adopter va être tenté d'éviter la situation dans laquelle il est le seul à tenter de jouer en équipe pendant que tous les autres jouent "solo", cette situation ne lui apportant aucun bénéfice. La réaction la plus probable des joueurs, individuellement, est donc de tous jouer "solo" pour limiter leurs risques, même si ils savent qu'ils tireraient plus de fun à se mettre tous d'accord pour adopter une stratégie commune. Voilà donc expliquée, par la théorie des jeux et de manière scientifique, la mauvaise réputation des matchmaking aléatoires et des raids en "pick-up".
Mais le raisonnement ne s'arrête pas là. Ce que nous apprend la théorie des jeux, c'est que le dilemme du prisonnier qui conduit à des comportements de non-coopération peut être résolu si l'on reproduit la même situation plusieurs fois avec les mêmes acteurs. Appliqué aux jeux vidéo en ligne, ce raisonnement implique que, pour que les joueurs adoptent le comportement optimal du "jeu en équipe", il suffit qu'ils jouent plusieurs parties ensemble, et aient ainsi l'opportunité de communiquer et d'apprendre à se connaître. C'est en fait le système des guildes et des clans qui est ici expliqué par la théorie des jeux. Celle-ci permet donc à la fois de mettre en évidence les problèmes du matchmaking aléatoire au niveau du degré d'amusement des joueurs, mais aussi la résolution de ces problèmes à travers la création de groupes mieux organisés permettant aux joueurs de communiquer entre eux.
DayZ vu par la théorie des jeux
DayZ est un jeu qui mettait en avant les interactions de joueurs livrés à eux-même dans une zone infestée de zombies, en leur permettant de coopérer pour survivre ou, au contraire, de s'approprier les ressources des autres par la force. Cette idée était appuyée par des mécaniques de jeu très poussées en terme de communication entre les joueurs : votre voix ne porte que jusqu'à une certaine distance et devient de moins en moins audible avec celle-ci, de nombreuses emotes sont à votre disposition pour communiquer avec des joueurs parlant une langue différente, des interactions très différentes existent au sein des échanges entre joueurs, etc ... Pourtant, à la sortie du jeu, on s'est vite rendu compte que l'écrasante majorité des joueurs ont préféré adopter la stratégie du "chacun pour soi", en s'attaquant les uns les autres plutôt que de coopérer contre la menace commune que constituent les zombies. Posons la matrice de ce jeu (vous trouvez en spoiler une traduction plus littéraire de celle-ci juste en dessous) :
(Joueur 1, Joueur 2) | Coopération | Affrontement |
---|---|---|
Coopération | (3,3) | (0, 6) |
Affrontement | (6, 0) | (2, 2) |
Case 1 : les deux joueurs coopèrent contre les zombies, et conservent leurs ressources
Case 2 : le joueur 1 veut coopérer, mais se fait tirer dans le dos par le joueur 2. Le joueur 2 récupère toutes les ressources
Case 3 : le joueur 2 veut coopérer, mais se fait tirer dans le dos par le joueur 1. Le joueur 1 récupère toutes les ressources
Case 4 : les deux joueurs se tirent dessus. L'issue du combat est incertaine, et les deux en sortiront affaiblis
On se rend compte ici que même si la coopération pourrait bénéficier aux deux joueurs, le risque pris en adoptant un comportement pacifique est extrêmement élevé alors que les bénéfices à tirer de l'affrontement sont énormes. Les joueurs vont donc tout naturellement préférer se tirer dessus à vue plutôt que de chercher à s'allier. La théorie des jeux nous permet donc ici de comprendre pourquoi DayZ, dans son état actuel et en prenant des joueurs qui ne se connaissent pas, ressemble plus à un FPS compétitif qu'à un jeu de survie coopératif.
Mais la théorie des jeux va aussi plus loin, en nous proposant une solution au problème. En fait, on se rend compte ici très simplement, en observant la matrice du jeu, qu'il suffirait de rajouter une motivation extérieure pour que les comportements changent radicalement. Cette modification extérieure, ce pourrait être par exemple des zombies beaucoup plus dangereux, qui représenteraient une menace telle que les joueurs n'auraient pas d'autre choix que de coopérer. On peut en effet supposer que cette nouvelle menace serait particulièrement dangereuse pour un joueur seul. Dans la matrice du jeu, on va ainsi retirer 4 unités de ressources dans tous les cas où le joueur se retrouverait seul :
(Joueur 1, Joueur 2) | Coopération | Affrontement |
---|---|---|
Coopération | (3,3) | (0, 2) |
Affrontement | (2, 0) | (1, 1) |
Case 1 : les deux joueurs coopèrent et font face aux zombies. Ils conservent leurs ressources.
Case 2 : le joueur 1 veut coopérer, mais il se fait tirer dans le dos par le joueur 2. Le joueur 2 récupère toutes les ressources, mais se fait attaquer par les zombies. Il perd 4 points de ressources pour se tirer d'affaire (munitions, soins ...)
Case 3 : le joueur 2 veut coopérer, mais il se fait tirer dans le dos par le joueur 1. Le joueur 1 récupère toutes les ressources, mais se fait attaquer par les zombies. Il perd 4 points de ressources pour se tirer d'affaire (munitions, soins ...)
Case 4 : les deux joueurs se tirent dessus. L'issue du combat est incertaine, et les deux en sortiront affaiblis
On se retrouve alors à nouveau dans une situation de dilemme du prisonnier. Comme nous l'avons vu dans le paragraphe précédent, la théorie voudrait que même si les joueurs ont tout avantage à coopérer, ils préfèrent limiter leurs risques et adopter une posture aggressive non-optimale. Pourtant, ce ne serait pas le cas : nous avons vu que, dans le cas d'un jeu répété, le dilemme du prisonnier finit par être intégré par les joueurs, et que ceux-ci finissent donc par coopérer. On peut donc supposer que, pendant les premières heures de jeu, ceux-ci soient tentés de se tirer dessus à vue mais qu'après avoir vu les conséquences qu'entraînent ce comportement, ils le corrigent et se mettent naturellement à coopérer. Dans cette situation, les joueurs sont mathématiquement encouragés à coopérer, les risques encourus par ce comportement étant dérisoires par rapport aux gains que la coopération a à offrir.
Le mot de la fin
La théorie des jeux, même dans sa forme la plus simplifiée, permet ainsi de comprendre de façon très claire certains mécanismes de gameplay, de déceler les erreurs qui auraient pu s'y glisser, et de corriger certains de ces défauts. Dans un souci de rendre l'article plus digeste, les notions les plus mathématiques de la théorie des jeux ont été mises de côté mais, si le sujet vous intéresse et que vous voulez pousser un petit peu plus dans ce sens, n'hésitez pas à faire des recherches à ce sujet sur internet ou en bibliothèque : beaucoup de livres et d'articles traitent de la théorie des jeux dans beaucoup de domaines qui pourraient vous intéresser.