21 votes

Quelles sont les chances d'obtenir des scores de capacités spécifiques dans D&D ?

Je suis sur le point de commencer une nouvelle partie en 5e et je déteste toutes les façons de déterminer les scores de capacité.

J'ai toujours pensé que nous jouons aux RPG au moins en partie pour avoir la possibilité de prétendre être plus que ce que nous sommes dans la vie réelle et personne ne veut jouer un personnage qui est juste moyen. C'est pourquoi j'estime que les personnages devraient avoir la possibilité de devenir des stars mondiales dans certains domaines.

En utilisant le tableau standard ou l'achat de points, vous ne pouvez pas commencer au niveau 1 avec plus de 15 dans n'importe quelle capacité. Cela signifie que vous ne pouvez pas avoir plus de 17 avec les mods raciaux et que, pour atteindre le plus haut niveau possible de 20, vous devez prévoir d'utiliser au moins deux possibilités de prouesses pour atteindre 20, et vous n'avez pratiquement aucune chance d'améliorer une capacité secondaire de façon significative si vous voulez prendre des prouesses non liées à une capacité.

Et en lançant des dés, vous pouvez avoir une certaine chance de commencer dans une meilleure position, mais vous avez une chance significative de commencer dans une position bien pire. Si les conséquences d'une telle catastrophe se limitaient à quelques séances de difficulté, ce serait une chose, mais laisser au hasard la possibilité de jouer, pendant des mois ou une année, un personnage dont les modificateurs négatifs l'emportent sur les positifs me semble inacceptable.

C'est pour cette raison, je pense, que certains DM (dont Matt Mercer de Critical Role) fixent des plafonds plus bas pour les jets, en disant, par exemple, que si le total de vos jets pour les six statistiques est inférieur à 70, vous pouvez relancer le jeu.

J'aime bien cette idée, mais je ne suis pas sûr qu'elle soit suffisante pour ce que je veux (donner à mes joueurs une chance d'être exceptionnels).

Je sais qu'il y a 1296 résultats possibles pour un lancer de 4D6, et je sais que le résultat moyen d'un lancer de 4D6 et de l'abandon du plus petit nombre est de 12,2446, ce qui signifie (je pense) que le score moyen en faisant cela six fois est de 73,46759.

Je pense faire de 73 le "plancher" pour mes joueurs (pour qu'ils soient au moins dans la moyenne des héros) mais je ne suis pas sûr de maîtriser suffisamment les mathématiques pour savoir si c'est la bonne décision.

Ce que j'aimerais savoir, c'est quelle est la probabilité d'obtenir un total inférieur à 70 sur ces jets. Donc, si vous lancez 4D6, que vous faites tomber le plus petit six fois et que vous faites le total des six résultats, quelle est la probabilité qu'il soit inférieur à 70 ?

J'aimerais également savoir ce qu'il en est pour les 71, 72, etc... jusqu'à 78. Et j'aimerais savoir quelle est la probabilité d'obtenir plus de 80, et 81, 82, etc. jusqu'à environ 90.

Je ne suis pas mathématicien et je ne sais pas comment résoudre ce problème. Je ne sais même pas comment formuler la question. J'espère avoir été assez clair pour obtenir une réponse.


Ouah ! C'est la première fois que je pose une question ici et je ne m'attendais pas du tout à recevoir des réponses aussi étonnantes aussi rapidement. J'apprécie vraiment les efforts que vous avez déployés pour m'informer sur cette question. Je vous remercie de tout cœur.

37voto

Cubic Points 11322

Les PC sont exceptionnels quel que soit leur score de capacité

Je réponds d'abord à votre question plutôt qu'à celle des mathématiques : votre problème est que vous accordez trop d'importance aux scores de capacité. Un combattant est déjà exceptionnel du simple fait d'être un combattant, tout comme un magicien, un clerc ou un druide sont déjà exceptionnels du fait de leur appartenance à ces classes. Les scores de capacités influencent les choses que les personnages peuvent faire, mais ce n'est pas le cas. au mieux décrire les forces relatives des PC les uns par rapport aux autres - et même dans ce cas, il s'agit d'une mesure très inexacte et trompeuse, mon barbare nain avec une force de 28 n'est pas vraiment plus exceptionnel qu'un sorcier dont la statuette la plus élevée est un 17 en charisme, mais qui a la capacité de détruire des châteaux sur un coup de tête grâce à Tremblement de terre.

Ainsi, je ne pense pas que votre problème puisse être résolu par les mathématiques, et certainement pas en modifiant légèrement les scores de capacité obtenus par les joueurs ; il s'agit plutôt de présenter les PJ comme des héros plus grands que nature, ce qui est tout à fait de votre ressort en tant que DM.

La question mathématique littérale

Voici les probabilités exactes (à six chiffres significatifs) d'obtenir à la fois les scores individuels et un score qui soit au moins aussi grand comme un score particulier (en utilisant le système de 4d6 drop lowest). Mais comme je l'ai dit plus haut, je ne suis pas sûr que le fait de savoir cela améliorera beaucoup les choses pour vous (notez qu'un humain "moyen" est supposé avoir des valeurs autour de 10 (voir aussi la section Bloc de statuts du roturier ) :

Probabilités de score individuel

\$ \begin {array}{c|c|c} \text {Score d'aptitude} & \text {Probabilité} & { \text {Probabilité d'être} \\\text {au moins aussi grand que}} \\\hline 18 & 1.620370\% & 1.620370\% \\ 17 & 4.166667\% & 5.787037\% \\ 16 & 7.253086\% & 13.040123\% \\ 15 & 10.108025\% & 23.148148\% \\ 14 & 12.345679\% & 35.493827\% \\ 13 & 13.271605\% & 48.765432\% \\ 12 & 12.885802\% & 61.651235\% \\ 11 & 11.419753\% & 73.070988\% \\ 10 & 9.413580\% & 82.484568\% \\ 9 & 7.021605\% & 89.506173\% \\ 8 & 4.783951\% & 94.290123\% \\ 7 & 2.932099\% & 97.222222\% \\ 6 & 1.620370\% & 98.842593\% \\ 5 & 0.771605\% & 99.614198\% \\ 4 & 0.308642\% & 99.922840\% \\ 3 & 0.077160\% & 100.000000\% \\ \end {array} \$

Valeur attendue du score d'aptitude unique : 12,24

Total attendu : 73,47 (comme vous le soupçonniez dans la question)

Et voici les probabilités pour les totaux des scores (jusqu'à 6 chiffres significatifs). Notez qu'il y a beaucoup de zéros et de 100% ici, principalement parce que les chances sont si astronomiquement petites ou grandes que 6 chiffres significatifs ne suffisent pas (sauf pour les probabilités accumulées pour les valeurs minimales, puisque bien sûr rien ne peut être plus petit que le minimum).

Probabilités de score total

\$ \begin {array}{c|c|c} \text {Score total} & \text {Probabilité} & { \text {Probabilité d'être} \\\text {au moins aussi grand que}} \\\hline 108 & 0.000000\% & 0.000000\% \\ 107 & 0.000000\% & 0.000000\% \\ 106 & 0.000000\% & 0.000000\% \\ 105 & 0.000001\% & 0.000002\% \\ 104 & 0.000006\% & 0.000007\% \\ 103 & 0.000022\% & 0.000030\% \\ 102 & 0.000073\% & 0.000102\% \\ 101 & 0.000212\% & 0.000314\% \\ 100 & 0.000559\% & 0.000873\% \\ 99 & 0.001355\% & 0.002228\% \\ 98 & 0.003053\% & 0.005280\% \\ 97 & 0.006438\% & 0.011719\% \\ 96 & 0.012800\% & 0.024518\% \\ 95 & 0.024120\% & 0.048638\% \\ 94 & 0.043277\% & 0.091916\% \\ 93 & 0.074221\% & 0.166137\% \\ 92 & 0.122070\% & 0.288207\% \\ 91 & 0.193078\% & 0.481284\% \\ 90 & 0.294415\% & 0.775699\% \\ 89 & 0.433730\% & 1.209429\% \\ 88 & 0.618481\% & 1.827910\% \\ 87 & 0.855065\% & 2.682974\% \\ 86 & 1.147820\% & 3.830794\% \\ 85 & 1.498018\% & 5.328812\% \\ 84 & 1.902979\% & 7.231791\% \\ 83 & 2.355468\% & 9.587259\% \\ 82 & 2.843496\% & 12.430755\% \\ 81 & 3.350615\% & 15.781370\% \\ 80 & 3.856750\% & 19.638120\% \\ 79 & 4.339492\% & 23.977612\% \\ 78 & 4.775768\% & 28.753380\% \\ 77 & 5.143685\% & 33.897065\% \\ 76 & 5.424356\% & 39.321421\% \\ 75 & 5.603493\% & 44.924914\% \\ 74 & 5.672574\% & 50.597488\% \\ 73 & 5.629472\% & 56.226960\% \\ 72 & 5.478471\% & 61.705431\% \\ 71 & 5.229710\% & 66.935141\% \\ 70 & 4.898120\% & 71.833262\% \\ 69 & 4.502022\% & 76.335284\% \\ 68 & 4.061548\% & 80.396832\% \\ 67 & 3.597061\% & 83.993893\% \\ 66 & 3.127736\% & 87.121629\% \\ 65 & 2.670427\% & 89.792056\% \\ 64 & 2.238874\% & 92.030931\% \\ 63 & 1.843300\% & 93.874230\% \\ 62 & 1.490344\% & 95.364575\% \\ 61 & 1.183308\% & 96.547883\% \\ 60 & 0.922602\% & 97.470485\% \\ 59 & 0.706332\% & 98.176817\% \\ 58 & 0.530938\% & 98.707756\% \\ 57 & 0.391803\% & 99.099559\% \\ 56 & 0.283804\% & 99.383363\% \\ 55 & 0.201753\% & 99.585116\% \\ 54 & 0.140730\% & 99.725846\% \\ 53 & 0.096296\% & 99.822142\% \\ 52 & 0.064621\% & 99.886763\% \\ 51 & 0.042516\% & 99.929279\% \\ 50 & 0.027414\% & 99.956693\% \\ 49 & 0.017318\% & 99.974011\% \\ 48 & 0.010713\% & 99.984724\% \\ 47 & 0.006487\% & 99.991211\% \\ 46 & 0.003842\% & 99.995053\% \\ 45 & 0.002225\% & 99.997279\% \\ 44 & 0.001259\% & 99.998538\% \\ 43 & 0.000696\% & 99.999233\% \\ 42 & 0.000375\% & 99.999608\% \\ 41 & 0.000197\% & 99.999805\% \\ 40 & 0.000101\% & 99.999905\% \\ 39 & 0.000050\% & 99.999956\% \\ 38 & 0.000024\% & 99.999980\% \\ 37 & 0.000011\% & 99.999991\% \\ 36 & 0.000005\% & 99.999996\% \\ 35 & 0.000002\% & 99.999998\% \\ 34 & 0.000001\% & 99.999999\% \\ 33 & 0.000000\% & 100.000000\% \\ 32 & 0.000000\% & 100.000000\% \\ 31 & 0.000000\% & 100.000000\% \\ 30 & 0.000000\% & 100.000000\% \\ 29 & 0.000000\% & 100.000000\% \\ 28 & 0.000000\% & 100.000000\% \\ 27 & 0.000000\% & 100.000000\% \\ 26 & 0.000000\% & 100.000000\% \\ 25 & 0.000000\% & 100.000000\% \\ 24 & 0.000000\% & 100.000000\% \\ 23 & 0.000000\% & 100.000000\% \\ 22 & 0.000000\% & 100.000000\% \\ 21 & 0.000000\% & 100.000000\% \\ 20 & 0.000000\% & 100.000000\% \\ 19 & 0.000000\% & 100.000000\% \\ 18 & 0.000000\% & 100.000000\% \\ \end {array} \$

Code source pour la génération du tableau (Haskell)

{-# LANGUAGE Strict, TypeApplications #-}
import qualified Data.Map as M
import Text.Printf
import Data.List(sortBy)
import Data.Ord(comparing)
import Control.Applicative((<|>))
import Data.Ratio

rolls :: [Int]
rolls = do
  a <- dice
  b <- dice
  c <- dice
  d <- dice
  return . sum . take 3 . sortBy (comparing negate) $ [a,b,c,d] where
  dice = [1..6]

frequencies :: M.Map Int Int
frequencies = foldr (\v m -> M.alter (\f -> fmap (+1) f <|> Just 1) v m) M.empty rolls

probabilities :: M.Map Int Rational
probabilities = fmap ((/ 6^4) . fromIntegral) frequencies

printProb :: Int -> Rational -> Rational -> IO ()
printProb k p acc = printf "%d & %.6f\\%% & %.6f\\%%\\\\\n" k (percent p) (percent acc) where
  percent = fromRational @Double . (100*)

totalScoreInstances :: [(Int, Rational)]
totalScoreInstances = do
  (strength, pStr) <- oneScore
  (constitution, pCon) <- oneScore
  (dexterity, pDex) <- oneScore
  (wisdom, pWis) <- oneScore
  (intelligence, pInt) <- oneScore
  (charisma, pCha) <- oneScore
  let totalScore
        = strength
        + constitution
        + dexterity
        + wisdom
        + intelligence
        + charisma
  let totalProb
        = pStr
        * pCon
        * pDex
        * pWis
        * pInt
        * pCha
  return (totalScore, totalProb)
  where oneScore = M.toList probabilities

totalScoreProbabilities :: M.Map Int Rational
totalScoreProbabilities = foldl
  (\m (s, p) -> M.alter (\tp -> fmap (+ p) tp <|> Just p) s m)
  M.empty
  totalScoreInstances 

main = do
  putStrLn "## Individual Score Probabilities"
  putStrLn "\\$"
  putStrLn "\\begin{array}{c|c|c}"
  putStrLn "\\text{Ability Score} & \\text{Probability} & \\text{Probability of being at least as great as}\\\\\\hline"
  fst $ M.foldrWithKey (\k v (m,acc)  -> let acc' = acc+v in (m >> printProb k v acc', acc')) (return (), 0) probabilities
  putStrLn "\\end{array}"
  putStrLn "\\$"
  let expected = M.foldlWithKey (\t k v -> t + (fromIntegral k * v)) 0.0 probabilities
  printf "Expected single ability score value: %.2f\n" $ fromRational @Double expected
  printf "\nExpected total: %.2f\n" $ fromRational @Double expected * 6
  putStrLn "## Total score probabilites"
  putStrLn "\\$"
  putStrLn "\\begin{array}{c|c|c}"
  putStrLn "\\text{Total Score} & \\text{Probability} & \\text{Probability of being at least as great as}\\\\\\hline"
  fst $ M.foldrWithKey (\k v (m,acc) -> let acc' = acc+v in (m >> printProb k v acc', acc')) (return (), 0) totalScoreProbabilities
  putStrLn "\\end{array}"
  putStrLn "\\$"

Note : si vous voulez l'exécuter vous-même, compilez avec ghc -O2 et n'essayez pas de l'exécuter via l'interpréteur si vous voulez voir le résultat avant la mort thermique de l'univers.

23voto

Exempt-Medic Points 69187

Voici un exemple toutdice programme qui fait ce que vous vouliez

https://anydice.com/program/171e4
Le code :

T: 0
loop X over {1..6}
{
 R:[highest 3 of 4d6]
 T: T+R 
}
output T

Comment cela fonctionne-t-il ?

  1. Nous définissons une variable, T, égale à 0.
  2. Ensuite, nous exécutons la section entre crochets pour la première fois.
  3. Chaque fois qu'une variable, R, est le résultat de 4d6, laissez tomber le plus bas.
  4. Nous ajoutons la variable R à T.
    Ensuite, nous exécutons la section entre crochets cinq fois de plus (en augmentant T de R à chaque nouveau tirage).
  5. Enfin, nous avons notre variable de sortie T, qui est la somme de tous nos 6 jets.

Vous pouvez cliquer sur différents boutons dans le lien pour afficher différentes statistiques, par exemple "Au plus" vous montrera les totaux à l'extrême gauche et le pourcentage de chance d'obtenir au plus ce total à sa droite.

Nous constatons que la probabilité d'obtenir au maximum 70 est de 33,06 %.
La probabilité d'obtenir au maximum 78 est de 76,02 %.
La probabilité d'obtenir au moins 80 est de 19,64%.
La probabilité d'obtenir au moins 90 est de 0,78 %.


Une autre méthode de code pour faire cela est la suivante, comme l'a indiqué @Sdjz :
https://anydice.com/program/171e5

output [highest 3 of 4d6] + [highest 3 of 4d6]+ [highest 3 of 4d6]+ [highest 3 of 4d6]+ [highest 3 of 4d6]+ [highest 3 of 4d6]

Leur code fait la même chose d'une manière sans doute plus facile à lire ou plus évidente/intuitive, en additionnant simplement six jets de "4d6 pour le plus bas".

graph of probabilities


Une autre méthode équivalente a été évoquée par @LouisWasserman sur ce lien : https://anydice.com/program/171f0

output 6d[highest 3 of 4d6]

Cela fonctionne parce que lorsque toutdice lance des dés, par exemple 3d6, il lance trois fois 1d6 et additionne les résultats.
Leur code prévoit qu'il lance six dés avec "4d6 pour la plus basse" face.
Il additionne ensuite les résultats, ce qui est équivalent aux deux autres méthodes ci-dessus.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X