Economie et jeux vidéo
Quelques biais d’optimisation naïve, et World of Warcraft (1/2)
Jean-Edouard — 21/09/2010 - 10:50
Au temps béni où je jouais encore à World of Warcraft, jeu qui n’était pas sans m’inspirer de nombreuses considérations théoriques intéressantes, j’étais très frappé (et pour tout dire, assez lassé) par le sérieux de beaucoup de joueurs et le perfectionnisme avec lequel ils géraient leur personnage virtuel, leurs stratégies de combat etc (voir cette vidéo culte, qui rend bien compte de l’ambiance). Le summum est atteint à mon avis avec ce que les joueurs en leur jargon nomment « l’optimisation du stuff » (notez que les joueurs eux-mêmes parlent d’optimisation, on dira d’un joueur moins performant qu’il ne pourrait l’être que son personnage « n’est pas optimisé »).
De tels joueurs me semblent de très bons exemples à l’état naturel d’homines oeconomici qui mériteraient d’être davantage étudiés. Dans la plus pure tradition kahnemanienne, le plus intéressant me semble être d’identifier les (petites) erreurs commises par les joueurs dans leur optimisation afin d’illustrer la façon dont ils raisonnent en général. Il n’est ensuite que de supposer que traders et joueurs de WoW (les deux ensembles ayant une intersection non vide) ont des niveaux de geekitude semblables pour étendre l’analyse aux marchés financiers.
Précisons d’abord le problème auquel sont confrontés les agents. Lorsque les joueurs ont atteint le niveau maximum dans le jeu, ils peuvent se confronter par équipe (un « groupe », ou « raid » s’il est plus important, en général composé de membres d’une même « guilde ») à des « donjons » regorgeant de monstres et surtout présentant plusieurs « boss » (je suis conscient que pour les non spécialistes cela fait beaucoup de vocabulaire à assimiler d’un coup). Ces boss peuvent être extrêmement difficiles à battre : chaque joueur dans le groupe (qui peut être de 40 personnes) doit s’en tenir à une stratégie définie à l’avance, réagir au bon moment, surveiller ce que font ses pairs etc. Les stratégies peuvent être extrêmement complexes, et surtout la moindre erreur d’un joueur peut entraîner la mort de tout le groupe, d’où une certaine tension entre les joueurs (d’autant que l’on pardonnera beaucoup plus facilement leurs erreurs aux « hauts gradés » de la guilde qu’aux petits nouveaux, dont certains peuvent être en « période d’essai ». Il est toujours fascinant de voir comment les individus reproduisent dans des mondes virtuels les structures sociales qui leur sont familières).
Il est déjà assez remarquable que les joueurs trouvent très vite des stratégies extrêmement bien pensées pour battre les boss les plus redoutables, et que les meilleures stratégies circulent extrêmement vite sur Internet. Mais à supposer que tous les joueurs s’en tiennent à la stratégie requise, encore faut-il qu’ils aient tous le « stuff » et le « skill » requis.
NB : attention, tout ce qui suit sera probablement assez vite ou est déjà daté, j’en suis resté au jeu tel qu’il était fin 2009.
La force d’un joueur dépend d’un nombre énorme de paramètres. D’abord de la force « pure » de son personnage, reflétée par son niveau dans le jeu, celle-ci est définie automatiquement et ne demande aucune optimisation. Ensuite, le joueur a la possibilité de spécialiser son personnage en lui choisissant des « talents » particuliers, en nombre limité. Il peut ainsi choisir d’améliorer la puissance de certains sortilèges, ou au contraire sa résistance aux coups, ou bien choisir de lancer ses sorts plus vite, etc. En tout 70 « points » de talent sont à répartir sur 90 talents, sachant qu’on peut dépenser plusieurs points sur un même talent. Le nombre de combinaisons possibles est déjà considérable.
Une fois choisis ces talents, le joueur peut être amené à choisir sa façon « routinière » d’infliger le maximum de dégâts (je prends l’exemple d’un « dps caster » pour être plus clair), ce qu’on appelle parfois un « cycle » (de sorts). Etant donné le nombre de sorts différents dont dispose un personnage, sachant que chaque sort peut octroyer des bonus au joueur favorisant l’utilisation d’autres sorts. Là encore les possibilités sont énormes, et les joueurs réfléchissent beaucoup à la façon d’optimiser, voir par exemple cette page sur le site de la guilde Millenium, l’une des guildes françaises les plus réputées.
Enfin, tout dépend crucialement de l’équipement du joueur, aussi appelé son « stuff ». Le personnage peut en effet porter une robe, une armure, des gants, une cape, des bijoux et autres affliquets, avec le choix entre des centaines de modèles pour chaque pièce, que l’on peut de plus personnaliser par des enchantements ou l’incrustation de gemmes magiques, afin d’ajouter de plus en plus de bonus.
Les trois sont totalement interdépendants : selon son équipement et ses talents, un joueur n’adoptera pas le même cycle ; inversement selon ses talents et les sorts qu’il aime utiliser, un joueur n’utilisera pas le même équipement, et selon son équipement et ses sorts il ne choisira pas les mêmes talents. Des millions de possibilités existent pour chacun des trois éléments, je vous laisse donc imaginer le désarroi de l’économiste qui essaierait de poser un programme d’optimisation un peu sérieux.
Le plus surprenant est qu’assez vite la plupart des joueurs font des choix très semblables, et qui semblent assez près d’être optimaux, au sens où il est difficile de trouver une modification qui permette d’améliorer les dégâts infligés par le joueur. Voilà qui renforce l’idée (Vernon-) smithienne que les choix rationnels sont le résultat de l’interaction répétée des agents, même si ceux-ci peuvent être individuellement irrationnels. Ici on comprend facilement ce qui se passe : dès qu’un joueur trouve une meilleure combinaison que celle qui est la plus répandue il est très vite copié, et par ailleurs beaucoup essaient de petites variations sur la combinaison en vigueur (par erreur, ou parce qu’ils n’ont pas l’équipement requis), si bien que les innovations sont fréquentes. Les techniques évoluent donc rapidement et convergent assez vite vers un optimum.
Il y a quelques raisons néanmoins de penser que ce processus est entaché de certains biais systématiques, et c’est le sujet de ce billet (il était temps d’y arriver). De manière intéressante, plusieurs de ces biais me semblent proches des erreurs classiques que l’on peut faire en optimisation, notamment pour tout ce qui concerne la négligence des conditions de second ordre (mais ici, ce n’est probablement pas à un économiste de jeter la pierre).
Indicateur biaisé : le premier biais, qui à mon avis conditionne largement les autres, c’est que le but visé n’est pas aisément quantifiable ni même observable, et que les joueurs ont recours en général à des indicateurs. Ainsi dans World of Warcraft, le but devrait être de parvenir à vaincre un « boss » donné avec le maximum de sécurité, ou de progresser aussi rapidement que possible dans les « donjons », objectifs qui dépendent beaucoup des capacités de ses coéquipiers, du donjon ou du « boss » en question. Il est beaucoup plus simple d’essayer de maximiser un ou plusieurs indicateurs de la puissance d’un joueur, comme par exemple son « dps », ou quantité de dégâts qu’il est censé infliger par seconde. Cela induit un biais important, parce qu’un « dps » élevé n’est pas nécessairement synonyme de succès. Ce biais est aussi une condition nécessaire au maintien d’autres biais.
En général en effet lorsqu’un « groupe » se forme pour s’aventurer dans un donjon, beaucoup de joueurs spécialisés dans l’infliction de dommages élevés sont candidats. S’il y avait moyen de sélectionner ceux qui apportent le plus de chances de succès au groupe, on aurait un mécanisme évolutionnaire favorisant les personnages les plus « optimisés ». Comme il est difficile d’évaluer le véritable apport d’un joueur, on sélectionne en général ceux qui affichent le score de « dps » le plus élevé, en tenant compte aussi d’un ou deux autres indicateurs, et de certaines complémentarités avec les autres membres du groupe. Du coup la « sélection » est biaisée, ce qui peut permettre à des erreurs de perdurer.
Optimum local/global : un autre problème répandu est l’illusion qu’un optimum local est aussi un optimum global. Dans le processus évolutif que nous avons esquissé, les joueurs améliorent petit à petit, à coups de changements infimes, les caractéristiques de leur personnage et leur façon de jouer, jusqu’à être proche d’un « optimum » ou aucun changement ne peut apporter davantage. Ce processus est très similaire à un algorithme qui tâtonnerait pour trouver le maximum d’une fonction, mais souffre du même problème : il se peut à la fois qu’aucun petit changement n’améliore la situation, et qu’une configuration entièrement différente fasse nettement mieux. Ainsi mon personnage avait une configuration extrêmement exotique, qui ne lui valait que le mépris des joueurs plus expérimentés mais, si effectivement il faisait beaucoup moins bien que des personnages suivant davantage les codes en vigueur, il n’était pas totalement indigent non plus. Si bien qu’on peut se demander s’il n’aurait pas surpassé les joueurs plus « classiques » si j’avais passé autant de temps qu’eux à expérimenter et à essayer d’améliorer « localement » la situation, en restant dans la même configuration générale.
Caractère local de la dérivée : autre problème, peut-être plus basique, la négligence que la dérivée n’est pas constante. Présentons une façon (extrêmement simplifiée, la vraie formule, étudiée et utilisée par les joueurs les plus aguerris, est bien plus complexe) de calculer les dégâts infligés à un adversaire, à partir de trois statistiques caractérisant un personnage : son score de toucher t, son score de coup critique c, et son score de dégâts d. Simplifions davantage en supposant que t est directement la probabilité qu’un sort atteigne l’adversaire, que d est alors la quantité de dégâts occasionnée, et que c est la probabilité d’obtenir un « coup critique », qui occasionne le double de dégâts. La formule simplifiée pour le nombre de dégâts occasionnés en moyenne par coup est donc
Dégâts par coup = t ( 2d.c + d.(1-c) )
Il faudrait d’ailleurs ajouter au moins une nouvelle caractéristique, le score de hâte, mettons h, qui pour résumer détermine combien de sorts le joueur peut lancer par seconde, en quel cas on aurait la formule suivante :
Dégâts par seconde = h.t.( 2d.c + d.(1-c) )
Formule où l’on voit bien que tout dépend de tout et réciproquement. Le raisonnement mené par bon nombre de joueurs est alors le suivant. Partant d’une configuration initiale (par exemple proche de la configuration la plus en vogue), on peut calculer si un joueur a intérêt à augmenter davantage telle ou telle caractéristique. Ce raisonnement est légitime si effectivement on est proche de cette configuration initiale. Ainsi par exemple à mon époque on considérait que le score de hâte était bien plus important que le score de coup critique. On recommandait donc à tous les joueurs de privilégier le premier. Or on voit bien dans la formule que plus le score de hâte est élevé, plus le score de coup critique est intéressant, et réciproquement, autrement dit la dérivée de la quantité de dégâts par seconde par rapport à h et par rapport à cn’est pas constante. Il est donc tout à fait possible qu’une des deux caractéristiques soit plus intéressante pour certains joueurs, mais pas pour d’autres. Notons néanmoins que cela ne devrait pas affecter la recherche de la configuration optimale (pourvu que les joueurs réactualisent le calcul des dérivées de temps en temps), en revanche les joueurs qui en sont encore loin peuvent adopter des configurations qui, étant donné leur niveau, sont moins intéressantes qu’elles pourraient l’être.
Fin de ce petit tour d’horizon au prochain numéro, avec une petite conclusion sur ce qu’on peut tirer de ces exercices, et peut-être même des conclusions portant sur le monde réel, où les mêmes biais peuvent se rencontrer facilement.



Commentaires récents
il y a 23 semaines 5 jours
il y a 23 semaines 5 jours
il y a 23 semaines 5 jours
il y a 23 semaines 6 jours
il y a 25 semaines 6 jours
il y a 26 semaines 17h
il y a 26 semaines 18h
il y a 24 semaines 5 jours
il y a 24 semaines 5 jours
il y a 26 semaines 5 jours