PDA

View Full Version : Average Rolls and Point Buy



bekeleven
2024-02-27, 11:42 PM
I've been goofing off with programatically answering some of these questions recently, and realized that the world gets better when everyone listens to what I say, so without further ado: I made a program to determine the average stat arrays using various stat generation methods. With it, we can perform activities like deriving the elite array, determining optimal point buy, and more.

Average Rolls and the Elite Array
The program I wrote perform the following: It generates a number of stat arrays based on the input stat generation algorithm, then orders the stats in each array from the highest to the lowest. Once it's done that, it extracts the top, middle, and lowest values in each position, then calculates the mean roll in that position.

I'll tell it to roll one million stat arrays with the rules of: Six values, 4d6b3 for each value. Here's the results:

4d6B3x6


Highest Value
18
18
18
17
17
16


Median Value
16
14
13
12
10
9


Lowest Value
8
7
6
4
4
3


Mean Value
15.66
14.17
12.96
11.76
10.41
8.50


This table has some interesting information for us. First of all, this is likely where the elite array (15, 14, 13, 12, 10, 8) was derived. However, we can see that by both mean and median, rolling dice has a higher expected output than the elite array. From the mean array, the elite array rounds 0.66, 0.17, 0.41 and 0.50 down, while rounding only 0.96 and 0.76 up.

We also learn that if you roll a million unique characters, you'll get at least one with three 18s, but four 18s is evidently asking too much.

Point Buy
The biggest hurdle between this data and data about point buy is fractional values. I solved this by estimating a regression line. After tinkering a little, I found one that looks ugly as hell, but gives a pretty close fit to the data at hand: You can see the match here. (https://docs.google.com/spreadsheets/d/11QvZfSpmUQH_7zL0IWPIhgCtTpgUbq-emEwvafeabeQ/edit?usp=sharing) It's least accurate at 14.

That said, if you plug in the above data, you can see that the mean roll is worth 27.69 points. This tracks, as the median roll is worth 28. From this we can conclude that, unless you are risk-averse, you should select an offer of rolled stats over an offer of 25 point buy. However, you should select 28 point buy over rolled stats regardless of your preferences because odds are you will get equal or lesser value from the rolls.

Rerolls
"But Bek!" I hear you shouting. (I have very good ears.) "What about rerolling if you have a negative total modifier? What about rerolling if you have no +2s?" Good point, forum-goer! You're so smart. These are both referenced in PHB page 8, under "rerolls." Basically, even a by-the-book DM has to let you try again if your rolls were so bad you ended up with 8,7,6,4,4,3.

Well, it just so happens, I can set a flag to toss score arrays with those characteristics and regenerate them. So, let's go a few more (millions of) times:

4d6B3x6, Highest Score 14+


Highest Value
18
18
18
18
17
16


Median Value
16
14
13
12
11
9


Lowest Value
14
7
6
4
3
3


Mean Value
15.89
14.34
13.08
11.86
10.49
8.57


Our highest array is higher! ...But our lowest array is lower, because we got at least one array with two 3s. Past that, we can see the two most important arrays have moved: Our median roll is up to 29 points, and all of the values in our mean roll moved up a small fraction, resulting in the fractional point buy value moving up to 28.86.

4d6B3x6, Modifiers sum to +1 or greater


Highest Value
18
18
18
18
17
16


Median Value
16
14
13
12
11
9


Lowest Value
12
10
8
6
4
3


Mean Value
15.84
14.38
13.18
12.00
10.65
8.73


This one was a larger bump. Our median array is still 29 points, and our mean array is up to 29.39 points. This means that even if offered a 29 point buy, you're slightly incentivized to roll under these conditions.

I should point out that the "lowest value" array isn't technically legal. This is due to it being made from the lowest values of each array, rather than a single array itself. For instance, the 6/4/3 at the end could've come from an array of 18/18/18/6/4/3.

Requiring a positive modifier will matter a lot more than requiring a 14 minimum, because most rolls with no +2s are going to end up without a positive modifier. Nonetheless, let's apply both at once to eliminate those all-12 results and fully simulate rolling by the book:

4d6B3x6, Highest Score 14+, Modifiers sum to +1 or greater


Highest Value
18
18
18
18
17
16


Median Value
16
14
13
12
11
9


Lowest Value
14
10
8
6
4
3


Mean Value
15.95
14.45
13.23
12.02
10.66
8.72


Everything went up just a tad (except the lowest mean ability; I assume that's noise), resulting in a fractional point buy value of 29.84.

Conclusion
How risk-averse are you? Because if your DM gives you the option to roll against a set point buy, you are technically advantaged to roll unless the point buy is 30 or greater. Given that my third-order polynomial regression line isn't a perfect fit, we can knock that down to 29 to be sure. But everybody's at least a little risk-averse, and I would take 28 point buy over rolling (Maybe even 27!).

Obviously, changing the roll parameters changes this result, as would changing the point buy values. Point buy is already designed to weight MAD over SAD, but perhaps not to the extent some tables prefer, since SAD classes (that typically need only one mental stat) start more inherently powerful than things like melee classes (that typically need all three physical stats in some measure).

I don't have a larger point to make. I just wanted to share some data that interested me.

bekeleven
2024-02-28, 12:35 AM
The advantage of point buy over the RAW dice roll is that you get to select which ability score goes where. According to the book you're supposed to roll each score and record the result. Thus you could get an 18 int barbarian with 12 str, 14 dex, 8 con, 16 wis, and 10 cha.


Make this roll six times, recording each result on a piece of paper. Once you have six scores, assign each score to one of the six abilities. At this step, you need to know what kind of person your character is going to be, including his or her race and class, in order to know how best to distribute the ability scores.

4d6b3 in order (and even "3d6 in order") are ability generation methods, but they're not the 3.X default ones.

For kicks:

3d6x6


Highest Value
18
18
18
16
16
14


Median Value
14
12
11
10
9
7


Lowest Value
7
6
4
3
3
3


Mean Value
14.23
12.45
11.12
9.88
8.55
6.77


Taking away the dropped roll basically cuts the head off the dragon, shifting all of the rolls down one place. This median array has a point buy value of 16... Or would, if 7s were buyable; let's treat it as a -1 and say it has a value of 15. The mean score array adds up to 15.07, but again, it wasn't designed to be super-accurate outside of the bounds of the point buy area. The 6.77 contributes -1.76 to that total.

Darg
2024-02-28, 12:58 AM
4d6b3 in order (and even "3d6 in order") are ability generation methods, but they're not the 3.X default ones.

Yeah, I was mixing it with another game. I still prefer it for my characters because it can create some interesting progression paths and tactics one wouldn't normally see if you can just pick what goes where. Not many people would purposely place their 10 on a elite array in intelligence for a wizard for example.

loky1109
2024-02-28, 05:05 AM
12 10 8 6 4 3 has modifiers sum -9. It's lower than +1.

Maat Mons
2024-02-28, 07:42 AM
We also learn that if you roll a million unique characters, you'll get at least one with three 18s, but four 18s is evidently asking too much.

Actually, if you roll a million unique characters, you have about a 63.48% chance of rolling an array with four 18's. Just because the particular Monte Carlo simulation you ran happened to be among the 36.52% that doesn't get such an array doesn't mean it's especially unlikely. If you want to use a Monte Carlo simulation to say anything meaningful about a one-in-a-million (actually ~1-in-992,616) occurrence like a quad 18 stat array, you'd need to simulate a whole lot more than a million trials.

Remuko
2024-02-28, 02:33 PM
I've been goofing off with programatically answering some of these questions recently, and realized that the world gets better when everyone listens to what I say, so without further ado: I made a program to determine the average stat arrays using various stat generation methods. With it, we can perform activities like deriving the elite array, determining optimal point buy, and more.

Average Rolls and the Elite Array
The program I wrote perform the following: It generates a number of stat arrays based on the input stat generation algorithm, then orders the stats in each array from the highest to the lowest. Once it's done that, it extracts the top, middle, and lowest values in each position, then calculates the mean roll in that position.

I'll tell it to roll one million stat arrays with the rules of: Six values, 4d6b3 for each value. Here's the results:

4d6B3x6


Highest Value
18
18
18
17
17
16


Median Value
16
14
13
12
10
9


Lowest Value
8
7
6
4
4
3


Mean Value
15.66
14.17
12.96
11.76
10.41
8.50


This table has some interesting information for us. First of all, this is likely where the elite array (15, 14, 13, 12, 10, 8) was derived. However, we can see that by both mean and median, rolling dice has a higher expected output than the elite array. From the mean array, the elite array rounds 0.66, 0.17, 0.41 and 0.50 down, while rounding only 0.96 and 0.76 up.

We also learn that if you roll a million unique characters, you'll get at least one with three 18s, but four 18s is evidently asking too much.

Point Buy
The biggest hurdle between this data and data about point buy is fractional values. I solved this by estimating a regression line. After tinkering a little, I found one that looks ugly as hell, but gives a pretty close fit to the data at hand: You can see the match here. (https://docs.google.com/spreadsheets/d/11QvZfSpmUQH_7zL0IWPIhgCtTpgUbq-emEwvafeabeQ/edit?usp=sharing) It's least accurate at 14.

That said, if you plug in the above data, you can see that the mean roll is worth 27.69 points. This tracks, as the median roll is worth 28. From this we can conclude that, unless you are risk-averse, you should select an offer of rolled stats over an offer of 25 point buy. However, you should select 28 point buy over rolled stats regardless of your preferences because odds are you will get equal or lesser value from the rolls.

Rerolls
"But Bek!" I hear you shouting. (I have very good ears.) "What about rerolling if you have a negative total modifier? What about rerolling if you have no +2s?" Good point, forum-goer! You're so smart. These are both referenced in PHB page 8, under "rerolls." Basically, even a by-the-book DM has to let you try again if your rolls were so bad you ended up with 8,7,6,4,4,3.

Well, it just so happens, I can set a flag to toss score arrays with those characteristics and regenerate them. So, let's go a few more (millions of) times:

4d6B3x6, Highest Score 14+


Highest Value
18
18
18
18
17
16


Median Value
16
14
13
12
11
9


Lowest Value
14
7
6
4
3
3


Mean Value
15.89
14.34
13.08
11.86
10.49
8.57


Our highest array is higher! ...But our lowest array is lower, because we got at least one array with two 3s. Past that, we can see the two most important arrays have moved: Our median roll is up to 29 points, and all of the values in our mean roll moved up a small fraction, resulting in the fractional point buy value moving up to 28.86.

4d6B3x6, Modifiers sum to +1 or greater


Highest Value
18
18
18
18
17
16


Median Value
16
14
13
12
11
9


Lowest Value
12
10
8
6
4
3


Mean Value
15.84
14.38
13.18
12.00
10.65
8.73


This one was a larger bump. Our median array is still 29 points, and our mean array is up to 29.39 points. This means that even if offered a 29 point buy, you're slightly incentivized to roll under these conditions.

I should point out that the "lowest value" array isn't technically legal. This is due to it being made from the lowest values of each array, rather than a single array itself. For instance, the 6/4/3 at the end could've come from an array of 18/18/18/6/4/3.

Requiring a positive modifier will matter a lot more than requiring a 14 minimum, because most rolls with no +2s are going to end up without a positive modifier. Nonetheless, let's apply both at once to eliminate those all-12 results and fully simulate rolling by the book:

4d6B3x6, Highest Score 14+, Modifiers sum to +1 or greater


Highest Value
18
18
18
18
17
16


Median Value
16
14
13
12
11
9


Lowest Value
14
10
8
6
4
3


Mean Value
15.95
14.45
13.23
12.02
10.66
8.72


Everything went up just a tad (except the lowest mean ability; I assume that's noise), resulting in a fractional point buy value of 29.83.

Conclusion
How risk-averse are you? Because if your DM gives you the option to roll against a set point buy, you are technically advantaged to roll unless the point buy is 30 or greater. Given that my third-order polynomial regression line isn't a perfect fit, we can knock that down to 29 to be sure. But everybody's at least a little risk-averse, and I would take 28 point buy over rolling (Maybe even 27!).

Obviously, changing the roll parameters changes this result, as would changing the point buy values. Point buy is already designed to weight MAD over SAD, but perhaps not to the extent some tables prefer, since SAD classes (that typically need only one mental stat) start more inherently powerful than things like melee classes (that typically need all three physical stats in some measure).

I don't have a larger point to make. I just wanted to share some data that interested me.


this is all super neat, especially that last bit before the conclusion, since I always thought point buys below 30 felt weak af. nice seeing some math to support my guy instinct.

Zanos
2024-02-28, 03:03 PM
I think another factor to this is that a 28 point buy might be better than an equivalent 30 or 32 pb even of rolled stats for the simple fact that you get to put your stats where you want. For a lot of characters, having a dump stat isn't a big deal, so rolling an array that has a higher total sum than a PB might not be good just because it lacks an 18. For an extreme example, is a wizard with a 14 in every ability score really better than a wizard with an 8/14/14/18/8/8 array, even though the straight 14s guy is a 36 point buy equivalent and the array I listed is a 28 PB? I don't think so. So the calculation for risk aversion doesn't just take into getting a low PB equivalent array, but also not getting the outlier high rolls that are better for many characters in 3.5, a system which favors having lopsided scores rather than a balanced array.

Lilapop
2024-02-28, 03:50 PM
If you want to use a Monte Carlo simulation to say anything meaningful about a one-in-a-million (actually ~1-in-992,616) occurrence like a quad 18 stat array, you'd need to simulate a whole lot more than a million trials.

Or you just make excel autofill you a sheet of all possible outcomes. For a single 4d6dl1 (which is, admittedly, only a component of this) that took me less than ten minutes.


So the calculation for risk aversion doesn't just take into getting a low PB equivalent array, but also not getting the outlier high rolls that are better for many characters in 3.5, a system which favors having lopsided scores rather than a balanced array.

And this is the game design side of it all. Rolling stats (in order or assigned) makes sense in a meatgrinder, survival-of-the-fittest style campaign where you get attached to a character because the character's statgen was lucky enough to make him survive for more than two sessions. Nowadays, we tend to get attached to our characters before we ever play them, so getting to tailor stats is the more appropriate option. And while 3.x is probably not exactly considered "modern" anymore, it does at the very least incentivize elaborate character builds that could easily get torpedoed by a bad roll for statgen.

bekeleven
2024-02-28, 07:18 PM
12 10 8 6 4 3 has modifiers sum -9. It's lower than +1.
I agree:

I should point out that the "lowest value" array isn't technically legal. This is due to it being made from the lowest values of each array, rather than a single array itself. For instance, the 6/4/3 at the end could've come from an array of 18/18/18/6/4/3.

Anyway, I decided to try out a "segmented linear" best-fit line over a polynomial one. This one's super simple because it just connects all of the dots on the point buy scatterplot: Moving up 0.5 when under 14 always adds +0.5 points, moving up 0.5 between 14 and 16 always adds +1 point, and doing so from 16 to 18 always adds +1.5 points. Simple graph. How does it change the numbers?

Well, 4d6b3's fractional value moves down to 27.29. 14+ Highest scores is down to 28.46. Positive modifiers drops to an even 29.00. Combining the previous two for a 14+ and positive value gets us 29.43. 3d6, meanwhile, rises to 15.23.

Compared to the 3rd-order polynomial best fit line, this one reduces points for values 14-16, which is why all of the points in most of the arrays are lower. But it doesn't dip under the scatterplot at 10-13, so the 3d6 "standard array" got a small boost. See the comparisons here. (https://imgur.com/a/GODyzz0)

Maat Mons
2024-02-28, 07:18 PM
Or you just make excel autofill you a sheet of all possible outcomes. For a single 4d6dl1 (which is, admittedly, only a component of this) that took me less than ten minutes.

It's even faster to use AnyDice (https://anydice.com/). All you need to type is "output [highest 3 of 4d6]," without the quotes.

Honestly though, you don't even need Excel. The odds of getting an 18 on 4d6 drop 1 are just the odds of getting 3 or more 6's, (4 nCr 3) * (1/6)^3 * (5/6)^1 + (4 nCr 4) * (1/6)^4 * (5/6)^0 = 21 / 1296 = 7 / 432.

Mordante
2024-02-29, 05:58 AM
We used to roll
2 X 5D6B3
2 X 4D6B3
2X 3D6B3

reroll 1 one time.

But regardless of the roll system used I'm not a fan of it. I much prefer 32 points buy. With rolling the avg stats can be good but the spread is too much. You end up with stats like 17, 16, 13, 9, 8, 8 or something like that.

I think 30 or 32 points buy is the best.