Faire une fausse distribution aléatoire?


8

Parfois, un "vrai" événement aléatoire semble injuste et rend les joueurs frustrés. Par exemple, un ennemi a une probabilité de 20% de causer des dégâts doubles ("coup critique"). Ainsi, il pourrait faire 4 coups critiques consécutifs avec une probabilité de 1/725. Ce n'est pas aussi petit qu'il y paraît.

J'espère que la probabilité pourra être ajustée après chaque coup. Si le joueur vient de recevoir un coup critique, la probabilité diminue pour le coup suivant. Sinon, cela augmente.

Existe-t-il un modèle mathématique pour ce comportement?


Réponses:


9

Vous voudrez peut-être repenser complètement ce que les "coups critiques" font dans votre système et pourquoi vous les utilisez. "Eh bien, d'autres RPG les utilisent!" n'est pas une raison valable. Un signe avant-coureur d'une conception asymétrique est la nécessité d'appliquer des règles de plus en plus spéciales.

Tout type de bonus aléatoire enlève les compétences directes et tactiques des joueurs et ajoute à la planification stratégique (chargement des objets RPG, priorité des statistiques sur l'équipement, etc.). En raison de ce changement d'attention, vous devez décider de ce qu'est votre jeu avant d'appliquer sans motif les anciennes normes comme les critiques et les échappés.

Ma suggestion est que si vous voulez que le hasard participe à votre jeu, alors gloire dedans, que ce soit aléatoire.

Mais si vous voulez vraiment ajouter plus de règles arbitraires, vous pouvez simplement démarrer un compte à rebours lorsque la première critique se produit et pendant ce compte à rebours, plus de critiques sont réduites à 50%, puis à 25% et ainsi de suite. Bien entendu, chaque critique réinitialise le compte à rebours . Cela vous donne deux endroits pour régler vos règles arbitraires: combien de temps dure le compte à rebours et combien de réduction est accumulée à chaque critique. Une combinaison de ces deux contrôles vous permet d'éviter clairement le problème inexprimé de "que se passe-t-il si le patron devient critique, puis normal, puis deuxième critique?" qu'un simple contrôle de chaîne ne réglerait pas.


5

Dota 2 utilise PRD (distribution pseudo aléatoire) qui n'affecte pas significativement l'attente, mais diminue les chances d'une séquence, par exemple une séquence bash. Jetez un oeil à cela, explique tout en détail. http://www.youtube.com/watch?v=KdS-K_rosCI


En fait, ce n'est pas le cas. Il présente simplement le concept sans aucun détail sur cet algorithme.
Lai Yu-Hsuan

@ LaiYu-Hsuan Oui, la vidéo de la version de base peut être un peu plus facile à comprendre: youtu.be/yR7BcWfBCsc
aaaaaaaaaaaa

3

Je pense que c'est un cas où essayer d'être trop intelligent entraînera une spirale de réglages et d'ajustements au générateur de nombres aléatoires qui le rendra très complexe.

La réponse pourrait être dans la question: si un joueur peut être frustré par trop de coups critiques d'affilée, eh bien, réduisez directement les chances que cela se produise. Si le RNG tire une 4ème critique d'affilée, vous pouvez par exemple souhaiter le relancer. Ou même appliquer critical = false.


3

Une approche assez courante que vous pouvez utiliser qui devrait donner les résultats que vous recherchez: plutôt que de lancer un dé à chaque fois, choisissez plutôt une carte: supposons que vous ayez 1/10 de chance d '«échec critique», 4/10 de chance d'échec, 4/10 de chance de succès et 1/10 de chance de «succès critique». Ensuite, plutôt que de lancer un d10 (métaphorique) et de gérer le résultat, mélangez plutôt une pile de dix cartes de résultat (virtuelles) et distribuez-les, une par une, chaque fois que vous avez besoin de générer un tel résultat. Lorsque vous n'avez plus de deck, remélangez et recommencez. Cela peut toujours générer des échecs critiques consécutifs, mais il garantit qu'il y aura du succès (et des succès critiques) dans un délai raisonnable. Si vous voulez que les choses ne soient pas aussi évidentes (et que cela ne vous dérange pas d'introduire une petite chance de résultats extrêmes successifs), vous pouvez toujours «doubler» votre deck; construisez une pile de vingt cartes qui contient deux copies de chaque résultat et mélangez-les à la place.


C'est une excellente réponse. C'est l'équivalent de: si vous voulez 10 nombres aléatoires de 0 à 100, plutôt que d'obtenir un nombre aléatoire 10 fois, vous générez simplement un tableau avec toutes les options possibles (0, 1, 2, ..100) et le mélangez, puis utilisez le premier 10. Cela évite les répétitions donc ce n'est pas tout à fait un équivalent, mais dans de nombreux cas, c'est une bien meilleure solution.
Zeh

1

L'inférence bayésienne traite un peu la situation. Vous commencez avec une distribution de probabilité pour un événement qui se produit, puis une fois qu'il se produit, vous mettez à jour cette probabilité en une nouvelle. Ce sont les probabilités a priori et postérieure respectivement. Il est souvent plus utile de visualiser ceci sous forme d'arborescence (récupéré sur Internet).

entrez la description de l'image ici

Dans l'arbre, les branches représentent la probabilité de prendre cette branche, et les nœuds sont l'événement. Donc, dans votre cas, faisons de A, B, C les événements de coup critique avec les attaques A, B et C resp. Alors P et NP seront les événements d'en obtenir un autre ou non. Nous remarquons qu'au point (B -> P), il y a 25% de chances d'obtenir un autre coup critique étant donné que vous en avez obtenu un au dernier tour. Bien sûr, votre arbre ne ressemblerait pas à ça, mais c'est le mieux que je puisse faire en 5 minutes.


1
L' inférence baysienne n'a rien à voir avec cela!
Starwed

@starwed alors aimeriez-vous proposer un terme différent plutôt que de simplement me crier dessus?
Jemmy

@Jeremy, vous devez savoir comment résoudre le problème du PO. Jusqu'à présent, vous venez de reformuler sa question avec une illustration mathématique. Mais cela ne dit pas au PO comment rendre le RNG plus amusant.
kurtzbot

1

Je pense qu'il y a déjà quelques bonnes réponses données ci-dessus mais suggérerais une approche différente.

Lorsque le joueur effectue un coup critique, vous lui donnez une petite récompense pour inciter le jeu. Un peu comme la façon dont un accro au jeu restera à la table de poker «juste un peu plus longtemps» après avoir gagné une main. Lorsque l'ennemi est touché par une critique, cela n'augmente peut-être pas du tout l'expérience de jeu, mais se sent plutôt injuste, surtout si c'est ce qui lui a fait perdre le combat.

Ainsi, ma suggestion serait de simplement garder les crits pour le joueur et de ne pas les utiliser du tout pour les ennemis. Après tout, le joueur est un héros et devrait être favorisé par les dieux eux-mêmes pour atteindre la grandeur :)


0

Voici des techniques aléatoires mais pas complètement aléatoires que j'utilise.

1) Sac à mélanger. Mettez tous les résultats valides dans un sac, choisissez-en un au hasard et retirez-le du sac. Répétez jusqu'à ce que le sac soit vide, puis remplissez-le à nouveau. Pour rajouter au hasard, remplissez le sac lorsqu'il ne reste plus que X articles.

2) Pourcentages progressifs. Premier jet X% de chance, en cas d'échec le deuxième jet est X + Y%, puis X + 2Y% etc. Réinitialiser à X% en cas de succès. La valeur de départ et la progression peuvent être ajustées (même non linéaires).

3) Temps de recharge internes. Lancez X & chance, en cas de succès, ne lancez pas pour N prochaines secondes ou M tentatives ou autre chose. Peut être combiné avec d'autres méthodes. Pour ajouter plus d'aléatoire, effectuez plusieurs vérifications d'événements avec différents délais, c.-à-d. Faites 2 rouleaux à 25% avec 3 et 7 secondes de recharge interne par opposition à 1 rouleau à 50% avec un icd de 5 secondes (pas exactement la même probabilité, mais vous pouvez calculer et faire correspondre si important).

4) Espacement pré-roulé. Plutôt que de vérifier vs un pourcentage pour chaque événement, choisissez simplement quand les événements se produisent. Par exemple, "ce boss lance des attaques toutes les 1d4 + 4". Fonctionne bien lorsque vous voulez que quelque chose se produise de manière relativement cohérente et quelque peu aléatoire, mais vous ne voulez pas d'événements consécutifs. D'une certaine manière, un cas particulier des méthodes (2) plus (3). Encore une fois pour plus de hasard, vous pouvez avoir 2 séquences ou plus qui se chevauchent.

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.