dimanche 22 juin 2008

Système d'équivalence entre les ressources

La valeur d’échange des ressources dans un MMO est une des choses les plus complexes à équilibrer, puisqu’elle dépend de l’offre et de la demande des joueurs (tout ce qui dépend de motivations humaines est par nature complexe à anticiper, réguler, et donc à équilibrer…).

Dans le cas de ressources qui sont distribuées par les créatures, la valeur de celles-ci est conditionnée par leur utilité. Si elles sont peu utiles elles auront une valeur assez faible.

Normalement, les mécanismes d’offre et de demande permettent de déterminer une valeur d’équilibre pour les ressources que l’on pourrait qualifier de « suffisante ».

Cependant, la génération de ces ressources ne dépend pas uniquement de leur demande. Des créatures génératrices de ressources sont par exemple décimées pour d’autres raisons que l’obtention des ressources qu’elles peuvent générer. Il en résulte une génération de ressources qui ne correspond pas obligatoirement à une réelle demande.

C’est ainsi que certaines ressources perdent rapidement de leur valeur.

Afin de pallier à la dépréciation totale de ces ressources, il existe plusieurs solutions : permettre leur revente auprès de PNJ contre de la monnaie (ces ressources seront revendues aux PNJ tant que la demande ne sera pas suffisante pour augmenter la valeur d’échange de ces ressources entre les joueurs), ou permettre la transformation de ces ressources en d’autres ressources qui elles auront une valeur d’échange supérieure (« reprocessing » dans Eve Online, « décraft » pour obtenir des runes dans DOFUS ou dans WOW par exemple).

Ce sont deux solutions assez proches finalement, qui consistent tout simplement à changer la valeur d’échange de certaines ressources en les transformant.

La transformation en monnaie est très efficace, car elle est généralement très rapide et accessible. C’est en outre un mécanisme qui s’équilibre très bien dans l’absolu. Si la valeur d’échange de la majorité des ressources devient trop faible, les joueurs vont préférer les échanger auprès de PNJ contre de la monnaie.

Si ce process perdure, il risque d’y avoir une inflation qui va rendre la revente de ces ressources aux PNJ de moins en moins intéressante, ce qui va encourager les joueurs à échanger ces ressources entre eux, et donc réduire la quantité de monnaie générée par la revente jusqu’à ce qu’un pseudo équilibre soit atteint.

En pratique, cela fonctionne rarement aussi bien, les mécanismes qui permettent de détruire de la monnaie empêchent parfois l’inflation d’être suffisamment importante pour revaloriser les échanges entre joueurs en dévalorisant les quantités de monnaie offertes par les NPC en échange des ressources.

L’on peut revaloriser la valeur d’échange des ressources en leur donnant plus d’intérêt (en les utilisant pour d’autres échanges, des quêtes, des recettes d’objets, etc.), mais c’est une méthode d’équilibrage plutôt bancale puisqu’elle ne peut généralement pas être mise en place par anticipation, mais plus après un constat d’échec : « Cette ressource ne vaut plus rien, je vais essayer de lui redonner plus de valeur ».

Ce problème de valeur insuffisante pour certaines ressources est amplifié lorsqu’une même créature offre plusieurs ressources différentes, dont les probabilités d’obtention et leur utilité ne sont pas équilibrées.

Une solution pourrait tout simplement être de proposer un échange entre toutes les ressources offertes par une même créature en fonction de leur probabilité d’obtention. 10 poils de bidule avec un taux d’obtention de 10 % pourraient ainsi s’échanger contre 1 touffe de bidule avec une probabilité d’obtention de 1%.

Concrètement, ça suffirait à résoudre tous les problèmes d’équilibrage de valeur entre les ressources proposées par une même créature.

C’est également un mécanisme qui permet de réduire l’aspect aléatoire du « drop » tout en lui laissant une certaine forme « magie » (la chance de récupérer quelque chose très rare et de façon assez inattendue). Ce système permet par exemple d’insister encore plus sur l’aspect aléatoire du « drop », chaque créature, aussi insignifiante soit-elle peut ainsi potentiellement offrir des ressources rares et de valeur tout en rendant leur obtention assez prévisible et donc moins frustrante. C’est un peu comme reprendre le concept générique du « token » (jeton qui est offert en récompense d’une action et qui peut être ensuite échangé contre une autre récompense) et l’appliquer à l’intégralité des créatures d’un jeu.

Cependant le « token » n’est qu’un intermédiaire d’un échange, alors qu’avec ce système, les ressources peuvent profiter d’une double utilité, celle d’être un « token » et leur utilité intrinsèque liée à leur statut de ressource (utilisation dans un système de craft entre autre).

C’est un système relativement facile à mettre en place et à équilibrer pour les ressources issues d’une même créature, il suffit de respecter les différentes probabilités de « drop » afin de déterminer les ratios d’échange entre les ressources.

dimanche 1 juin 2008

Génération et destruction de monnaie

Voici un petit concept (qui n’a pas été développé faute de temps) qui était destiné à être employé dans le jeu DOFUS, mais que j’aimerais utiliser sur d’autres jeux.

Même si dans votre jeu, les prix des ressources (objets ou services par exemple) ne sont pas fixés, et qu’ils s’équilibrent en fonction de l’offre et de la demande, vous pouvez tout de même avoir certains mécanismes payant dont le prix est fixe (utilisation de transport, services proposés par des PNJ etc.).

Mêmes si ces services sont indexés sur des valeurs libres (le prix du pain dans un jeu par exemple), vous pouvez rapidement avoir des écarts importants entre le coût que vous aviez imaginé pour votre service et sa valeur réelle en jeu.

Dans un jeu où la majorité des prix sont fixés par l’offre et la demande, et où la monnaie est générée de façon continue sans être détruite assez rapidement, elle finit par devenir un intermédiaire des échanges plus qu’une réelle réserve de valeur. Dans ce genre de système, l’inflation (si elle est progressive) n’a à priori aucune incidence en théorie sur le fonctionnement du jeu si l’on met de côté les services dont les coûts sont fixes.

L’inflation pose cependant des problèmes si une partie de vos joueurs n’ont comme principale source de récompense que la monnaie générée par le jeu. Ces joueurs se retrouvent eux lésés par l’inflation, car ce qu’ils gagnent a comparativement de moins en moins de valeur.

Dans un jeu où la majorité (ou une trop grande partie) des prix sont fixés (jeux dont beaucoup de services ou d’objets peuvent être obtenus sans l’aide d’autres joueurs, ou directement via des PNJ par exemple), l’inflation est catastrophique puisqu’elle modifie l’équilibre initial du jeu.

Idéalement, nous avons des mécanismes qui génèrent de la monnaie, et d’autres qui en détruisent. Il est illusoire de penser que ces mécanismes peuvent s’équilibrer ou se compenser totalement. Les agents économiques ont par habitude tendance à thésauriser au maximum, en profitant des systèmes de génération de monnaie et en évitant si possible toute utilisation d’un mécanisme de destruction de monnaie. C’est normal, ils sont rationnels, et c’est un comportement individuel qui a court terme leur est bénéfique (accumulation de monnaie), même si à long terme (inflation donc perte de valeur pour la monnaie) les individus finissent par se pénaliser eux-mêmes.

Pour contrer l’inflation, il ne suffit donc pas de réduire la quantité de monnaie générée en jeu, ni d’augmenter la destruction de monnaie, ces modifications ne peuvent que ralentir l’inflation, pas la supprimer.

En outre, il faut faire attention aux joueurs qui subiront le plus la destruction de monnaie. En règle générale, les taxes en pourcentage appliquées sur les transactions impliquant de la monnaie sont un bon moyen de détruire de la monnaie là où l’inflation a le plus d’importance (chez les joueurs de haut niveau par exemple, ou dans certains types de commerce).

Si nous voulons supprimer toute forme d’inflation, il faudrait pouvoir fixer une fois pour toute, un montant moyen de monnaie possédé pour chaque joueur. Une fois ce montant moyen atteint, il faudrait ne plus générer de monnaie, et ne plus en détruire. Ce n’est pas une bonne solution, certains joueurs ont plus besoin de cette génération de monnaie que d’autre (si elle n’est pas distribuée de façon uniforme et qu’elle sert à compenser des manques à gagner par rapport à ce que peuvent générer d’autres catégories de joueurs).

La solution la plus viable consiste à équilibrer la destruction et la génération de monnaie pour rester toujours autour de cette valeur d’équilibre, une valeur de richesse moyenne par joueur. Si l’on ne joue que sur la génération, on risque de voir apparaître d’importantes fluctuations et de pénaliser sévèrement les joueurs qui en ont besoin. Si l’on ne joue que sur la destruction (via les taxes par exemple), on risque rapidement d’avoir des taxes trop importantes, qui bien qu’elles visent les joueurs les plus concernés (ceux qui possèdent le plus de monnaie et en font des transactions), risquent de ralentir les transactions, ainsi que la rencontre de l’offre et de la demande.

Un mécanisme tout simple pour pallier à ce problème consiste à calculer régulièrement la somme moyenne de monnaie possédée par l’ensemble des joueurs connectés sur un univers. Si la moyenne réelle est supérieure à la valeur idéale, alors on réduit la quantité de monnaie générée par le jeu, et l’on augmente la destruction de monnaie jusqu’à ce que l’on se rapproche de l’équilibre.

Afin d’éviter les modifications trop brusques (division par deux de la quantité de monnaie générée d’une heure sur l’autre par exemple), il faut appliquer des ratios progressifs sur la génération et la destruction de monnaie.

Dans le tableau suivant, la moyenne idéale de monnaie possédée par un joueur est fixée à 500 unités. La colonne « indice taxe » représente le ratio qui va être appliqué aux taxes (ou destructions de monnaie) en fonction de la quantité moyenne de monnaie par joueur. De même, la colonne « indice génération » représente le ratio qui va être appliqué aux générations de monnaie en fonction de la quantité moyenne de monnaie par joueur. Les valeurs choisies dans ce tableau sont totalement arbitraires.

Plus on s’éloigne de la valeur d’équilibre, plus les mécanismes pour s’en rapprocher sont efficaces. Afin d’éviter les variations trop brusques, il est bien entendu possible d’utiliser beaucoup plus de valeurs intermédiaires, en utilisant par exemple la formule suivante :

Ratio_Taxe = (valeur_réelle / valeur_idéale)

Ratio_Génération = (valeur_idéale / valeur_réelle)

On peut également mettre ces résultats au carré si l’on veut tout faire pour garder la valeur réelle de monnaie le plus près possible de la valeur idéale en évitant le plus possible les fluctuations. Cependant les fluctuations peuvent aussi constituer un mécanisme ludique du jeu, l’objectif principal étant avant tout de ne pas tendre vers une inflation constante.

Est-ce qu’avec ce système, certains joueurs ne risquent pas d’accaparer la majorité de la monnaie du jeu, et d’empêcher d’autres joueurs d’en générer car les plus riches ne veulent pas la détruire (via les taxes lors des échanges par exemple) ?

C’est possible, mais ça n’est pas très grave dans l’absolu puisque ce qui donne une valeur à la monnaie c’est son pouvoir d’achat. La monnaie thésaurisée, qui dort, n’a aucune utilité. Dès qu’elle sera utilisée, qu’elle deviendra à nouveau un intermédiaire des échanges, elle sera taxée, une partie sera détruite, ce qui laissera de la place pour une nouvelle génération de monnaie à d’autres positions du système économique.

Est-ce que les joueurs qui accumulent de la monnaie vont faire augmenter sa valeur en la raréfiant ?

C’est un risque, ce qui devient rare prend de la valeur. Ce n’est pas gênant pour les joueurs qui en sont victimes, puisque la monnaie reste avant tout un intermédiaire des échanges. Et plus la monnaie prendra de la valeur, plus ceux qui thésaurisent auront intérêt à l’utiliser avant qu’elle ne commence trop rapidement à en perdre. En revanche, ça rend un peu obsolète l’idée d’avoir des prix fixes équilibrés avec la quantité de monnaie en jeu, puisqu’elle ne tient pas compte de la répartition réelle de la monnaie entre les agents, et donc des problèmes d’accumulations trop importants.

L’on peut décourager la thésaurisation en donnant un poids à la monnaie (et donc une contre partie à son accumulation), ou au moins en s’assurant qu’un joueur soit obligé d’utiliser régulièrement de la monnaie pour effectuer des achats (pertes d’objets par exemple, ou nécessité d’utiliser des consommables).

Dans tous les cas, ce système n’est pas parfait, les joueurs s’attendent à pouvoir accumuler de la monnaie (car elle est perçue comme une réserve de valeur), et un système qui régule sa quantité peut se révéler frustrant. C’est également un problème de conception de la monnaie. Si l’on conçoit sa monnaie comme une réserve de valeur, elle va poser d’importants problèmes à cause de l’inflation et des écarts qui vont grandir entre les joueurs qui profitent uniquement d’une génération constante et ceux qui profitent de la destruction insuffisante.

Si l’on conçoit sa monnaie comme un simple intermédiaire des échanges, alors cette dernière ne devrait pas être recherchée pour sa valeur intrinsèque (qui n’existe pas), mais juste pour son pouvoir d’achat. C’est une conception à long terme, qui n’est pas vérifiée à court terme (si vous possédez plus de monnaie que la veille, et surtout plus que les autres agents, vous être plus riche à court terme; à long terme, ce surplus de monnaie entraîne une dévaluation de sa valeur d’échange).

Les mécanismes de génération et de destruction de monnaie, ont un énorme avantage, ils permettent de fluidifier la circulation de monnaie et surtout de compenser des flux qui n’existent pas entre certains joueurs, mais ils sont aussi à l’origine de cette vision de la monnaie, qui est trop souvent perçue comme une richesse générée ex nihilo comme les autres récompenses du jeu.