Des conceptions de jeux vidéo ont-elles utilisé des nombres aléatoires non uniformes de manière intéressante?


30

Une variété de jeux vidéo utilisent des nombres uniformément distribués pour décider du résultat d'un événement, comme une "50% de chance de toucher" signifie presque toujours de vérifier si un nombre aléatoire à virgule flottante de 0-1 est supérieur à 0,5. De nombreux jeux superposent quelques-uns de ces pourcentages uniformes les uns sur les autres, par exemple, un jet de touche D&D est un nombre uniformément réparti de 1 à 20, sauf que 1 et 20 ont des résultats spéciaux. À mon avis, il semble que des éléments comme des coups critiques soient ajoutés par les concepteurs pour essayer d'imiter le fait qu'en réalité, frapper / manquer ou gagner / perdre n'est pas en fait un résultat binaire.

Dans de nombreux cas, le montant réel des "dommages" causés par une attaque serait probablement plus proche d'une distribution de la courbe gaussienne / cloche, ce qui entraîne de nombreux résultats au milieu, mais la valeur aberrante occasionnelle très excitante et la courbe lisse les reliant. Les jeux de dés comme Settlers of Catan imitent les distributions gaussiennes en additionnant plusieurs rouleaux indépendants, mais j'ai l'impression que je n'ai presque jamais vu ce mécanisme dans les jeux vidéo.

Il semble que des jeux comme Civilization (Sid Meier a longuement parlé à GDC de la perception des joueurs ne correspondant pas aux mathématiques réelles utilisées dans le jeu) bénéficieraient de résultats qui correspondent à la façon dont les choses fonctionnent dans le monde réel. Des jeux vidéo ont-ils utilisé de manière intéressante une distribution gaussienne ou non uniforme de nombres aléatoires?


1
Exemple lol @ Civ. Qu'est-ce qu'un archer qui bat un tank n'est pas amusant? Haha! Je suppose que cela dépend si vous êtes celui avec l'archer. :-)
paulecoyote

Je ne trouve pas le lien pour le moment, mais l'essentiel était que les joueurs étaient très contrariés lorsqu'une "70% de chances de gagner", comme indiqué dans l'interface utilisateur, entraînait parfois des pertes. Il a blâmé le fait que les humains sont mauvais à faire des probabilités mais je blâme le fait qu'une "70% de chances de gagner" n'a même pas de sens dans un monde de résultats analogiques aux batailles.
Ben Zeigler

En fait, je pense que le problème était que la probabilité était mal calculée, car ce n'était qu'une prédiction heuristique. Vous auriez 90% prévu lorsque votre chance était de 98% ou quelque chose dans ce sens. Soit dit en passant, DnD utilise également des nombres non uniformes - dégâts et HP sont des lancers de dés multiples.
Superbe

Réponses:


22

Les tireurs utilisent souvent une distribution aléatoire gaussienne pour la précision des armes. (Si vous utilisez des nombres aléatoires linéaires et que vous avez des décalcomanies à balles, il est très facile pour un joueur de voir que la distribution de précision est carrée, ce qui "ne va pas".)

Une méthode de sélection aléatoire intéressante que vous ne mentionnez pas, mais qui apparaît assez souvent dans les jeux, est «aléatoire sans remplacement». Ceci est analogue à tirer des cartes d'un jeu; le jeu se déroule dans un ordre aléatoire à travers un ensemble de résultats possibles (mis en place avec la distribution souhaitée), puis "remaniements". Ceci est fait pour réduire le risque de stries chanceuses ou malchanceuses.


7
Le concept de votre deuxième paragraphe est également connu sous le nom de "Shuffle Bag".
Tetrad

2
Il est également courant pour les tireurs de choisir au hasard un point sur un cercle (c'est-à-dire un angle et un rayon) pour les impacts de balles. Cela élimine également le carré et garantit que plus de balles frappent près du centre que non.
Sean James

9

J'utilise beaucoup les distributions de Poisson - principalement lorsque j'essaie de déterminer le nombre de fois qu'un événement aléatoire doit se produire dans un laps de temps.

Cela a la belle propriété que la distribution des événements si vous avez deux pas de temps de 1 seconde est identique à un pas de temps de 2 secondes, donc idéal pour les simulations avec des pas de temps de longueur variable.


8

Quelque chose que j'ai fait dans le passé et que World of Warcraft fait actuellement est d'augmenter les chances d'un événement aléatoire en fonction du nombre d'essais depuis le dernier événement réussi. C'est-à-dire qu'un objet de quête peut avoir un taux de chute de 20% lors de la première destruction de PNJ, de 22% le 2e, de 25% le 3e, revenant à 20% lorsqu'il tombe. J'ai implémenté un arbre technologique où la chance de découvrir une technologie augmentait à chaque tour jusqu'à ce qu'elle soit de l'ordre de 99,9% de chances de se produire.


7

Les rencontres aléatoires dans les RPG sont souvent non uniformes.

Set X to a random integer between 64 and 255.
For each step in plains, decrement X by 4. 
For each step in forest, swamp, or desert, decrement X by 8.
When X < 0, a fight ensues. Go to step 1.

Cela rend les rencontres plus réalistes car les animaux / arbres, etc. aiment avoir un peu d'espace entre eux.


Je n'y ai jamais vraiment pensé, mais c'est une approche assez astucieuse pour beaucoup de randomisations à rebours.
Kzqai

2

J'ai déjà vu des coups critiques dans certains RPG d'action, mais généralement pour les jeux basés sur l'action, les chiffres sont intentionnellement simples pour une raison: le joueur est occupé à courir et à sauter, à esquiver et à tirer, et il n'a vraiment pas le temps pour faire des calculs de probabilité dans leur tête.

Donc, vous êtes plus susceptible de voir des nombres non uniformes dans des choses comme les jeux de stratégie au tour par tour. Un exemple typique est les jeux "voyous" (Nethack, Angband) qui ont des dégâts d'arme non uniformes - une arme peut faire des dégâts 3d5 par exemple, et une autre fait 4d4, et le jeu vous dira ces chiffres et c'est à vous décidez lequel est le meilleur (en tenant compte d'autres variables comme le poids de l'arme, la compétence des personnages, etc.)


même warcraft 3 utilise des dégâts basés sur les dés, la plupart des dégâts dans l'éditeur de scénario utilisent la formule "X + YdZ"
Henk

2

League of Legends a un héros nommé Gangplank avec une attaque qui avait une distribution à peu près uniforme qu'ils ont changé en gaussien. Il y a une zone d'effet circulaire où plusieurs coups peuvent se produire et ils ont décidé de le regrouper vers le centre.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.