Méthodes d'application et distorsion de la précision dans les jeux. Tableaux visuels pour comparaison

Il est possible de calculer le fait d'un coup dans les jeux sur la base de la précision obtenue de différentes manières:

  • comparer avec un nombre pseudo-aléatoire (qui peut également être obtenu de différentes manières [ 1 ]);
  • comparer avec le plus grand ou le plus petit des deux nombres pseudo-aléatoires;
  • comparer la moyenne de deux nombres aléatoires ou plus (la moyenne peut également être considérée différemment).


Les bonus de précision peuvent également être mis en œuvre de différentes manières, provoquant ainsi une irritation des joueurs pour diverses raisons.

De la même manière, les dégâts infligés peuvent être calculés différemment, notamment sur la base de dés (cubes).

Toutes ces différentes approches affectent le gameplay: sa complexité et sa prévisibilité. Chacun d'eux peut s'avérer être une bonne décision en fonction des objectifs poursuivis, il est donc plus avantageux de faire un choix consciemment.

L'article présentera des graphiques visuels des changements de probabilités réelles dans différentes approches, ce qui leur permettra de naviguer rapidement et de prendre la meilleure décision.

Manipulation de précision


Habituellement, lorsque le joueur est informé que la précision du personnage est de 60%, il perçoit ces informations comme: "sur 10 coups, je peux compter sur 6 coups sûrs." Et si sur 10 coups sûrs il observera 1 coup sûr au lieu de 6, alors il considérera presque certainement que l'accident du jeu est cassé. Il en sera particulièrement convaincu si cela se produit sur un segment de 100 tirs. Pour éviter de tels problèmes, les développeurs manipulent souvent secrètement la probabilité réelle d'un coup ( ou même abandonnent l'élément de hasard ).
Par exemple, dans le jeu Fire Emblem: The Binding Blade, pour déterminer un coup avec précision, non pas un nombre aléatoire a été comparé, mais la moyenne de deux nombres aléatoires [ 2 ].


Le résultat de cette manipulation est que les attaques bien ciblées (> 50%) tombent beaucoup plus souvent qu'elles ne le devraient avec une distribution uniforme, et les attaques non féroces (<50%) tombent beaucoup moins fréquemment. Voici comment cette distribution de probabilité change:


Par exemple, avec 10% de la précision indiquée, la valeur réelle est de 1,9%. Et à 75%, le réel sera de 87,24%.

Mais, d'ailleurs, vous pouvez modifier la précision de bien d'autres façons.

Par exemple, vous pouvez prendre la moyenne de 3 nombres aléatoires:


La distorsion qui en résulte devient encore plus frappante: la précision de 10% devient 0,41%; La précision de 75% devient 92,69%.

Cependant, la moyenne peut également être calculée comme la moyenne géométrique. Voici les changements avec une moyenne géométrique de 2 nombres aléatoires:


Ici, 10% se transforment en 4,83% et 75% en 88,18%. Mais, le plus intéressant, la transition se produit à 30%, et non à 50%, comme la moyenne arithmétique. Par conséquent, si vous voulez être sûr que le joueur aura toujours un avantage, assurez-vous simplement que sa précision minimale ne sera jamais inférieure à 30% et que les ennemis seront si bas assez souvent ( pour les ennemis, vous pouvez utiliser la moyenne arithmétique, ou quelque chose d'encore plus déformé ).

Une moyenne géométrique de 3 nombres conduit à peu près aux mêmes résultats, mais uniquement avec une large dispersion:


Ici, 10% se transforment en 1,95% et 75% en 93,98%.

Souvent, pour améliorer ou affaiblir certaines compétences, une manipulation plus simple est introduite, lorsque l'un des deux nombres aléatoires est choisi pour être le plus grand ou le plus petit:


Par conséquent, la probabilité de toucher varie considérablement. Par exemple, lorsque vous choisissez le plus petit nombre, une précision de 10% est convertie en 19,02% et une précision de 75% est convertie en 93,75%.
Cette méthode, par exemple, est utilisée dans le jeu "Neverwinter Nights" dans la compétence "Slippery Mind", dans lequel, en cas d'échec du test de salut, un deuxième test de volonté est effectué [ 3 ].

Neverwinter Nights - Pixie Warrior [ 4 ]

Vous trouverez ci-dessous un tableau de distorsion de précision pour différentes méthodes de calcul.


Dans un article précédent sur la manipulation des probabilités, une méthode a été présentée pour des événements très rares, où la probabilité d'un événement augmentait avec le temps:
Le développeur Carsten Germer utilise la fonction d'aléatoire contrôlé pour des événements rares et pas seulement [ 5 ]. Par exemple, pour garantir la perte périodique d'un bonus particulièrement rare avec une chance de 1 sur 10 000, après chaque «échec», il augmente les chances dans l'ordre: 1 à 9 900; 1 à 9800; 1 à 9700 ... et ainsi de suite jusqu'à ce que l'événement soit enregistré. Et afin de garantir l'absence de raretés fréquentes, il a introduit une variable supplémentaire qui bloque l'opération de 100% lors des 10 prochains contrôles après la dernière opération.
Idées fausses des joueurs dans l'évaluation des risques [ 1 ]

Voici comment la probabilité de cet événement rare change lors de l'utilisation de cette méthode:


Comme vous pouvez le voir, en fin de compte, il n'y a rien à voir avec la probabilité de 1 sur 10 000, mais aux fins du gameplay, cela a peut-être été suffisant. Bien qu'il ressemble davantage à une dissimulation involontaire de probabilités réelles du développeur lui-même, ce qui peut conduire à des décisions incorrectes dans les améliorations futures du programme.

Ci-dessous, je donne également un changement dans l'événement de 1% qui se produira au moins une fois que le nombre de tentatives augmente. Algorithme de distorsion: les 10 premières tentatives - un échec garanti. Ensuite, à chaque échec, la probabilité augmente de 1% (0,1% et 0,01%) avant d'être touchée. Puis tout depuis le début.


Cependant, si votre objectif principal en tant que développeur est de garantir qu'un utilisateur dans un événement à 1% ne tombe pas dans une série de 1000 échecs consécutifs, il sera plus facile et plus transparent de définir un hit à 100% après 200 échecs consécutifs. Cela vous évitera la rare perplexité des joueurs et vous permettra de laisser le code du programme plus concis et plus convivial pour de futures améliorations.

Différentes façons d'accumuler des bonus de précision


S'il y a peu de bonus à la précision dans le jeu et qu'ils sont facilement contrôlés par le développeur, alors il est plus facile d'utiliser l'approche la plus simple avec une augmentation linéaire de la précision par simple ajout à la valeur de base . Cette méthode est plus facile à mettre en œuvre dans le jeu et est toujours compréhensible pour les joueurs. Avec cette approche, il est possible d'atteindre une précision de 100%, ce qui ne correspond pas toujours aux plans du développeur.





Si le jeu prévoit de nombreux bonus importants à la précision, afin de ne pas dépasser la précision garantie de 100%, vous pouvez calculer la précision finale sous la forme d'une série de lancers supplémentaires (le plus souvent peu probable séparément ). Par exemple, avec une précision de 70% et un bonus de 50%, la probabilité finale d'un coup sera de 85%, comme vérifier deux lancers successifs quand au moins un coup suffit.




Un peu exotique est l'approche pour changer l'essence du bonus en précision par le bonus de réduire la probabilité de manquer .

// newAccuracy -    % // baseAccuracy -    % // bonusAccuracy -     % let newAccuracy = 100 - ( (1 - baseAccuracy * 0.01) / (1 + bonusAccuracy * 0.01) ) * 100; 

Garantit qu'il y aura toujours une chance de manquer avec n'importe quel bonus. Grâce à cela, le jeu peut donner des bonus de "précision" de plus de 100%, au moins 1000%. Et il y aura toujours une chance de manquer. Mais le joueur est plus susceptible de confondre et donc de décevoir.



Le plus souvent, l'approche avec une simple somme des bonus est utilisée, car elle est la plus compréhensible pour le joueur et facile à mettre en œuvre par le développeur.

Répartition des dégâts basée sur les dés


Cet élément est entièrement basé sur des données visuelles de la publication « Probabilité et jeux: dégâts des rouleaux de Red Blob Games [6] ». Ici, je présente brièvement quelques exemples et conclusions de cette publication. Dans l'article d'origine, vous recevrez des conclusions plus détaillées et des graphiques de distribution interactifs, ainsi que des fonctions personnalisables de manière interactive pour sélectionner diverses combinaisons uniques.

L'exemple le plus évident (mais pas le seul) de calcul de dégâts de dés différents est présenté sur la base du calcul des dégâts à une valeur maximale de 12. Le résultat peut être obtenu en utilisant des dés différents ( par exemple, si vous jouez à un jeu de société et que vous n'avez pas de dés spéciaux ):

1d12 - un dé à 12 faces


2d6 - deux dés avec 6 faces différentes


3d4 - trois dés avec 4 faces différentes


4d3 - quatre dés avec 3 faces différentes


6d2 - six dés avec 2 faces différentes


Comme vous pouvez le voir, l'utilisation de cubes inappropriés peut modifier considérablement l'équilibre du jeu.

Conclusion


Ainsi, les sujets suivants ont été examinés:

  • manipulations avec précision en utilisant diverses méthodes de vérification;
  • différentes façons d'accumuler des bonus de précision;
  • répartition des dégâts basée sur les dés.

Chacune des méthodes peut être utile au développeur. Pour les jeux avec un public plus occasionnel, des algorithmes de rechange sont plus souvent choisis, dans lesquels la probabilité de réussite du joueur est surestimée, et afin de susciter l'excitation, une illusion d'une victoire improbable est créée (plus dans l'un des articles précédents: [ 7 ]).

Les références


1. Idées fausses des joueurs dans l'évaluation des risques. Contrôle d'un générateur de nombres aléatoires en développement .
2. Fire Emblem Wiki - Générateur de nombres aléatoires .
3. Neverwinter Nights 2 - Capacités de classe - Esprit glissant .
4. Neverwinter Nights - Pixie Warrior .
5. «Pas si aléatoire» dans la conception et la programmation de jeux .
6. Probabilité et jeux: les rouleaux de dégâts des jeux Red Blob .
7. Génération de Close call dans les jeux: "Au bord de la défaite" ou "Presque gagné" .

Source: https://habr.com/ru/post/fr434928/


All Articles