LA LOI DES SÉRIES : AVANTAGES ET INCONVÉNIENTS DU RNG

LA LOI DES SÉRIES : AVANTAGES ET INCONVÉNIENTS DU RNG

jeudi, janvier 25, 2018

Salut à tous, ici Thomas "Blixtev" Blair, prêt pour un nouvel épisode de "Jargon de développeur !".

Aujourd'hui, nous allons nous intéresser au caractère aléatoire du jeu et à ses effets secondaires indésirables. (Je reviendrai donc sur ces "séries" de chance ou de malchance, ou quand une série de nombres aléatoires ne semble pas si aléatoire que cela). Nous en profiterons aussi pour évoquer la théorie du conditionnement opérant, avant de dévoiler un aperçu des prochaines modifications apportées à l'artisanat dans Crowfall® !

C'est parti !

L'imprévu est un concept qui existe depuis des milliers d'années, même s'il a souvent été imputé à des forces surnaturelles comme la volonté des dieux, le destin ou la chance. Ce n'est qu'au cours des deux derniers siècles qu'une analyse plus formelle, menée à travers divers domaines scientifiques, a réussi à quantifier et à décrire de façon mathématique le concept d'imprédictibilité. En ce qui concerne les jeux vidéo, cela revient principalement à la théorie des probabilités en mathématiques : les descriptions statistiques d'un événement, notamment dans le cadre des jeux de hasard.

En tant que joueurs, le concept de probabilité nous est relativement familier. Réfléchissez au mot "chance", et vous penserez pour la plupart à un lancer de dé, l'un des plus anciens outils permettant de comprendre le pouvoir des probabilités. Dans les RPG, les exemples les plus évidents sont l'obtention des butins et les actions de combat (précision, dégâts, chances de coup critique, etc.). À chaque fois que vous voyez le mot "chance" quelque part, cela signifie qu'un nombre "aléatoire" est généré par une obscure équation mathématique, et que ce nombre est comparé à un seuil ou une valeur pour déterminer s'il s'agit d'une réussite ou d'un échec (et quelque part sur cette planète, ce résultat entraîne la colère d'un ou de plusieurs joueurs devant leur ordinateur).

Au début des RPG, le facteur "chance" jouait un rôle essentiel. Les premiers jeux en ligne (comme les MUD) appliquaient des attributs aux différents personnages (force, dextérité, etc.), tout en les masquant aux joueurs. Leur impact sur le gameplay était énorme, mais les "victoires" et les "défaites" des joueurs étaient complètement aléatoires.

Ces dernières années, ce caractère aléatoire est largement tombé en disgrâce auprès des joueurs, puisqu'il remplaçait leurs aptitudes par quelque chose que les joueurs ne pouvaient pas, par définition, contrôler. Lorsque nous parlons de RNG, nous faisons référence aux algorithmes de génération de nombres aléatoires qui, en plus d'être capricieux, sont également enclins aux "séries" de nombres identiques. Dans le meilleur des cas, on ne remarque pas ce flux constant de coups critiques ou de trésors de qualité que l'on reçoit. Mais dans le pire des cas, on ne reçoit jamais les meilleures récompenses, ou on enchaîne les tentatives de fabrication ratées, ce qui nous pousse à quitter le jeu.

En arrière-plan pourtant, la machine fonctionne à plein régime. Il existe plusieurs raisons qui peuvent expliquer notre rapport complexe avec les générateurs de nombres aléatoires. Voyez plutôt...

L'ERREUR DU PARIEUR
L'erreur du parieur est une erreur consistant à croire que si un événement se produit plus souvent que la normale pendant une période donnée, alors il se produira moins fréquemment à l'avenir ; ou que si un événement se produit moins souvent que la normale pendant une période donnée, alors il se produira plus fréquemment à l'avenir. C'est un phénomène que l'on rencontre souvent avec les butins laissés par les monstres. Une probabilité rare de 5 % seraetrestera toujours de 5 %. Peu importe qu'il s'agisse de la première ou de la 50e fois qu'elle se produit. La probabilité reste la même, le RNG n'a aucunement connaissance des résultats précédents et continuera de vous donner 5 % de chance.

Mais notre cerveau ne fonctionne pas de cette manière. Il n'est pas rare d'entendre quelqu'un dire qu'il aura plus de chances d'obtenir une meilleure récompense la prochaine fois. Ou que cette série (de chance ou de malchance) finira forcément par s'arrêter.

Malheureusement, ce n'est pas vrai. Cela peut vous rassurer (surtout si vous êtes à votre 50e échec d'affilée) mais en réalité, chaque résultat est indépendant du précédent. Les résultats précédents ne doivent absolument pas être pris en compte.

LA MÉMOIRE DÉFAILLANTE
Comme si cela ne suffisait pas, la mémoire humaine peut être sélective (non, ce n'est pas une qualité) quand il s'agit de se souvenir de certains événements. Un mauvais résultat au mauvais moment peut avoir plus d'impact sur notre cerveau que 100 résultats positifs survenus à des moments lambda.

Prenons l'exemple du processus d'assemblage dans Crowfall. L'assemblage de l'objet s'apparente à un lancer de dé. Les valeurs utilisées sont basées sur la difficulté à assembler cet objet par rapport au niveau de compétence et aux statistiques de votre personnage.

Exemple pré-5.4 :
Prenons un joueur qui effectue la dernière combinaison pour son épée.
• La difficulté est de 40.
• La statistique d'assemblage du joueur en armurerie est de 15.
• Difficulté de 40 par rapport à un niveau de compétence de 15 = le joueur aura 75 % de chances de réussir son assemblage.

Essayer de fabriquer un objet avec un niveau de difficulté de 40 et une statistique d'assemblage de 15 peut sembler risqué, mais ce n'est pas si risqué que ça. 3 chances sur 4, ce n'est pas mal. Mais il faut prendre le problème dans son ensemble ! Remettons les choses dans leur contexte. Cette combinaison d'une arme avancée est particulièrement importante, parce qu'elle implique plusieurs heures de collecte. Puisqu'il s'agit de la combinaison la plus importante, la réussite ou l'échec d'une telle opération constitue un poids émotionnel plus important que la dizaine de combinaisons effectuées jusque-là. N'oubliez pas qu'avec 1 chance sur 4 d'échouer, les chances d'échec ne sont pas négligeables, surtout qu'elles peuvent se produire plusieurs fois d'affilée.

Dans une telle situation, plusieurs échecs pourraient entraîner une certaine frustration chez le joueur. S'il commet en plus de cela l'erreur du parieur, en s'imaginant que la nature de la génération aléatoire est injuste, il pourrait même quitter le jeu de rage.

Cela dit, le caractère aléatoire n'est pas toujours à blâmer : il faut aussi prendre en compte la pénalité associée au mauvais résultat. Dans ce cas, la source du problème vient d'un objectif initial du système d'artisanat : nous voulions limiter le nombre de préparations du même genre (par exemple, au lieu de distinguer le casque en cuivre, le casque en étain, le casque en fer, etc., nous vous proposons une préparation de "casque" personnalisable).

Notre solution nous permet de résoudre le problème facilement : une même préparation peut donner naissance à un certain nombre d'objets différents, ce qui signifie que le système est bien plus complexe que ne l'indique la (déjà très longue) liste de préparations. Toutefois, l'inconvénient est que nous n'avons qu'une seule préparation à proposer au joueur pour qu'il progresse. Pour utiliser cette préparation pour plusieurs niveaux d'objets, nous avons besoin d'en varier la difficulté. Nous voulons que certains objets soient trop difficiles à obtenir pour les débutants, tandis que d'autres soient trop faciles à obtenir pour les joueurs plus expérimentés.

Cependant, il est évident que le ratio risque/récompense n'est pas optimal. Pour corriger ce problème, nous avons plusieurs solutions, la première étant la difficulté de base.

LA DIFFICULTÉ DE BASE
Nous devons donc nous concentrer sur la difficulté de base. Dans la version 5.4, la qualité des ressources que le joueur utilise rentrera désormais en compte dans le calcul de la difficulté. S'il utilise des ressources de mauvaise qualité, on utilisera la valeur de difficulté de base pour cette préparation. S'il utilise des ressources ordinaires, atypiques, rares, épiques ou légendaires, une difficulté supplémentaire sera ajoutée. Cela nous permet ainsi de réduire la difficulté de base, facilitant ainsi la fabrication pour les débutants qui utilisent des ressources de mauvaise qualité (ce qui sera plus souvent le cas).

Par exemple :
Prenons un joueur qui effectue la dernière combinaison pour son épée.
La difficulté de base est de 25.
Les ressources utilisées sont de faible qualité, nous n'apportons donc aucune modification au niveau de difficulté.
La statistique d'assemblage du joueur en armurerie est de 15.
25 - 15 = le joueur aura 90 % de chances de réussir son assemblage.

Si la meilleure ressource est de qualité rare, il faut alors ajouter 30 au niveau de difficulté de l'assemblage.

55 - 15 = le joueur aura 60 % de chances de réussir son assemblage.

Cela renforcera le besoin d'investir dans l'artisanat, à la fois puisque les joueurs qui débutent dans ce domaine seront limités à des objets de faible qualité, et aussi puisqu'un niveau de compétence plus élevé sera requis pour travailler avec les meilleures ressources.

LE CONDITIONNEMENT OPÉRANT ET LA NOTION DE RENFORCEMENT
Le conditionnement opérant est un autre facteur à prendre en compte. Il s'agit d'un processus d'apprentissage qui modifie un comportement par une récompense ou une punition. Vous avez peut-être déjà entendu parler de Burrhus Frederic Skinner et de ses travaux sur le conditionnement opérant. Skinner récompensait les actions de ses sujets (principalement des rats et des pigeons) en leur donnant à manger, ou les punissait en leur faisant écouter des bruits assourdissants. Pour la plupart de ses expériences, il se servait d'un dispositif connu sous le nom de boîte de Skinner.

De tous les aspects du travail de Skinner, nous allons nous intéresser à la notion de renforcement. La notion de renforcement regroupe l'ensemble des règles qui régissent le déclenchement des mécanismes de renforcement. Ces règles définissent soit le moment où ce renforcement est rendu disponible, soit le nombre d'actions à effectuer, soit les deux. Pour faire simple, cela revient à la probabilité (ou à la fréquence) à laquelle une récompense vous est attribuée pour une action. Les règles sont nombreuses, mais celles qui nous intéressent sont les combinaisons à ratio fixe et les combinaisons à ratio variable. (Crowfall utilise également les combinaisons à intervalles fixes dans les systèmes de pouvoirs passifs, mais c'est un autre sujet).

Une combinaison à ratio fixe est assez explicite : vous effectuez X actions et vous recevez une récompense en échange. La récompense doit être attribuée à chaque fois que vous effectuez le nombre d'actions défini. Par exemple, vous recevez une certaine somme d'argent après avoir tué 20 ennemis. Cela peut être intéressant quand vous touchez au but, mais savoir que vous devez effectuer 20 fois la même action peut être décourageant. C'est justement le problème avec ce type de récompenses : les joueurs seront tentés de laisser tomber après avoir reçu leur première récompense, surtout s'il faut reproduire la même action un grand nombre de fois.

Une combinaison à ratio variable fonctionne à peu près de la même manière, sauf que la récompense n'est pas garantie une fois l'action effectuée. Elle est attribuée aléatoirement (ah, revoilà notre bon vieux RNG !). Pour reprendre notre exemple précédent, imaginez que cette somme d'argent est parfois attribuée après 3 ennemis, et parfois après 47. Avec ce système, les joueurs ne sauront jamais exactement quand la récompense leur sera attribuée. Par conséquent, ils sont beaucoup plus enclins à effectuer l'action, sachant que la récompense pourra tomber à tout moment. Évidemment, l'inconvénient est que le générateur de nombres aléatoires peut fonctionner en séries (comme mentionné ci-dessus). Le joueur peut très bien (et c'est souvent le cas) enchaîner les mauvais résultats. À l'inverse, le joueur suivant pourra avoir plus de chance et recevoir la récompense dès son premier essai... mais ça, le malheureux qui en est à la 50e tentative s'en moque. Généralement, les résultats s'équilibrent sur la durée. Toutefois, si un joueur a connu plusieurs échecs, il peut avoir l'impression que quelque chose ne fonctionne pas correctement.

Les développeurs utiliseront ces types de combinaisons, afin d'encourager divers comportements à travers l'architecture du jeu. Malheureusement, en se basant sur une "moyenne", il n'est pas possible de savoir si ce système engendre des cas uniques (par exemple, celui du joueur et de sa série noire). Alors comment tirer profit d'un système de récompense aléatoire, tout en évitant les séries de ce genre ?

LA PRÉVENTION DES SÉRIES
Prenons l'exemple d'un joueur en pleine série noire. Il a 50 % de chances d'obtenir une récompense pour une action donnée, mais cela fait déjà 10 fois qu'il échoue ! Voilà un phénomène qui peut très bien se produire dans un système aléatoire. C'est statistiquement improbable, mais si l'on tient compte de la quantité de joueurs, il est évident que certains connaîtront ce triste sort... Dans une corrélation linéaire, plus le nombre de joueurs est élevé, plus les cas uniques sont nombreux.

Il existe plusieurs solutions à cela. Au moment du développement de DC Universe Online (quand Todd travaillait sur Wizard101), nous utilisions tous les deux un mécanisme qui nous permettait de suivre chaque fois qu'un joueur "échouait" de façon aléatoire lors d'une quête. Pour chaque échec, nous ajoutions 10 % de chances de réussite supplémentaires pour la même action suivante. Par conséquent, dans la plupart des cas, les joueurs n'avaient pas besoin d'effectuer la même action plus de 3 ou 4 fois avant de réussir.

Raph Koster (le responsable de la conception sur Ultima Online et Star Wars Galaxies, ainsi que l'un de nos conseillers officiels) a souvent proposé une solution alternative : le système dit "du jeu de cartes". Dans ce système, chaque événement n'est plus traité comme un événement indépendant. Au lieu de cela, tous les résultats potentiels sont mélangés ensemble, comme un jeu de cartes, et les cartes (à savoir, les résultats) sont retirées du jeu lorsqu'elles sont utilisées. Puisque chaque carte est retirée du jeu, la probabilité des futurs tirages est modifiée, évitant ainsi tout risque de séries.

Voici un exemple de ce système. Commençons avec un "jeu" de 10 cartes (ou résultats) potentielles, 5 d'entre elles étant des échecs. Lors du premier tirage, le joueur a 1 chance sur 10 de tomber sur une carte en particulier, soit 10 % de chances d'obtenir un certain résultat. Imaginons que le premier tirage se solde par un échec. Le joueur a alors 1 chance sur 9 (soit 44 %) de tirer une carte en particulier, sachant qu'une carte "échec" a déjà été retirée du jeu.

Pas besoin de continuer pour vous démontrer la conclusion suivante : chaque échec augmente les chances de réussite du prochain essai.

Si les deux solutions ci-dessus ont déjà fait leurs preuves, nous allons probablement utiliser le système dit "du jeu de cartes" car cela nous permet d'avoir davantage d'influence sur l'expérience du joueur. Le plus important reste que nous voulons empêcher le joueur de tomber dans une spirale extrêmement négative (pour ce que ça vaut, nous ne nous inquiétons pas des séries positives. Celles-ci n'engendrent aucune frustration chez le joueur, et de toute façon, celui-ci ne reproduit généralement pas son action s'il a obtenu le résultat souhaité).

AUTRES MODIFICATIONS APPORTÉES À L'ASSEMBLAGE ARTISANAL !
Chose promise, chose due ! Parlons un peu des modifications de la phase d'assemblage dans le cadre de l'artisanat. Maintenant que le système de sacrifice a été ajouté (permettant aux joueurs de sacrifier des objets pour les dieux en échange d'XP pour leur dépouille), nous pouvons supprimer la destruction de tous les objets et des ressources à chaque fois que le joueur échoue dans sa fabrication. Initialement, cela devait servir à la fois de pénalité et de recyclage des objets. Puisque ce recyclage n'a plus lieu d'être, il ne nous reste plus qu'à trouver une solution pour les échecs de fabrication... Comme je l'ai déjà dit, l'idée de tout perdre en cas d'échec induisait en erreur tout le calcul du ratio risque/récompense.

Le moment semblait également opportun pour renommer les différents résultats de la phase d'assemblage.

Avant cela, la phase d'assemblage ne pouvait avoir que deux issues : échec ou réussite.

Dans la version 5.4, la phase d'assemblage présentera désormais 3 résultats :
Assemblage remarquable : améliore le produit final au niveau de ressources utilisées le plus élevé. Le joueur accède à la phase d'expérimentation.
Assemblage réussi : assemble l'objet. Le joueur accède à la phase d'expérimentation.
Assemblage défectueux : assemble l'objet à un niveau de qualité inférieur par rapport au résultat escompté. La phase d'expérimentation est écartée.

Par l'intermédiaire de ces modifications, nous voulons établir un système plus gratifiant, tout en nous laissant la possibilité d'échelonner la difficulté et la progression en fonction des investissements effectués dans le cadre de l'artisanat en tant que profession.

EN BREF
Si l'ajout d'un facteur "chance" à un jeu peut sembler bénéfique, cela peut également être plus dangereux que vous ne le pensez ! J'espère que vous avez apprécié cette petite analyse des raisons pour lesquelles les développeurs de jeux vidéo mettent au point divers systèmes (et que vous comprendrez mieux le comportement de certains joueurs !).

J'ai hâte de voir ces modifications à l'œuvre dans la version 5.4 (qui sera bientôt disponible !), et de connaître votre opinion sur la façon dont cela affecte la collecte, l'artisanat et l'économie du jeu !

Comme toujours, n'hésitez pas à nous faire part de vos commentaires sur les forums. À bientôt dans le jeu !

Thomas Blair
Responsable de la conception
ArtCraft Entertainment

besoin d'aide ??