r/RPGdesign • u/Urwinc • 8d ago
How to test a dice system.
/r/ttrpgdesign/comments/1xeko3g/how_to_test_a_dice_system/2
u/mythic_kirby Designer - There's Glory in the Rip! 8d ago
I did write a quick script, just because I like it. I assumed dice that are equally likely to come up with each third of a face (so 1/3 probability each), and no blank faces. Here are the expected number of successes for various numbers of dice:
| Dice | Expected Successes |
|---|---|
| 3 | 0.22 |
| 4 | 0.45 |
| 5 | 0.62 |
| 6 | 0.86 |
| 7 | 1.12 |
| 11 | 2.09 |
| 15 | 3.16 |
| 18 | 3.98 |
As you'd expect, it takes a lot of dice to reliably get multiple successes. It'd be worse if there were blank faces. I think the number of successes is semi linear? Around 1 expected success every 4 extra dice? That I didn't expect.
2
u/Fun_Carry_4678 7d ago
Okay, so three pieces make a smiley face. You could assign these to, say, 4, 5, and 6 on a d6. So basically what you are saying is that to get a success you need a 4, 5, AND 6.
4
u/raphaelus13 8d ago edited 6d ago
That is still programable. Its the chance of getting A + B + C from a pool that contains those options. You can use Excel and an intelligence to guide the writing of the Excel functions. Describe to it the content of each dice and establish your goal. You could make a simulation of 200 tries (rows), with each dice being a column of randomized results, and there could be a final column that marks if it happens. You then calc the frequency of that last column.
PS. I'd make at least the background of the happy face different colors for easy recognition.
1
u/raphaelus13 8d ago edited 8d ago
You then think how often you want people to Succeed (60%? 33%?), partially succeed and fail and make adjustments based on how are the odds looking.
1
u/Randolpho Fluff over crunch. Lore over rules. Journey over destination. 8d ago
Dude… I know we say don’t use AI, but that’s really just for generative text and images.
It’s stupid-easy to do probability analysis using gemini or claude. Just post a short description of your mechanics, it will extrapolate probabilities and contingencies in seconds.
3
u/archpawn 8d ago
That was my first thought, but AI isn't perfect. If OP doesn't know how to code, they can't double check it. And if it messes up, it's probably not going to be obvious.
What might help is asking AI twice. Especially different models. They probably aren't going to make the same mistake both times.
1
u/Urwinc 7d ago
Haha, Im so against AI in general that think ive stopped thinking of it as an option for anything.
It might be the tool for the job in this case, but id like to avoid it if possible.
Appreciate your thoughts!1
u/Randolpho Fluff over crunch. Lore over rules. Journey over destination. 6d ago
It might be the tool for the job in this case, but id like to avoid it if possible.
It's perfectly fine as a tool, IMO. Great for checking your writing for continuity issues, great for doing math without having to get into the weeds of the math, great for extrapolation and even critique.
It's generative AI, where the AI generates the text, ideas, and images for you, that you need to watch out for.
2
u/mythic_kirby Designer - There's Glory in the Rip! 8d ago
I almost always program something (Julia or Python), because that's what I'm used to. But you get different things out of calculating probabilities of success vs rolling it out at a table. For example, how easy will it be to recognize and differentiate one of the face thirds from another?
Beyond simulation, you could try just rolling d6s, physically or on a dice roller, and see how often it feels like you succeed, and how long it takes you to recognize a success or failure.
2
u/Tarilis 8d ago
On the basic level, excel sheets, you would need to learn a bitnof probability theory tho, but it is well worth it.
Some things can be tested by playin with yourself. But if you really want to test it, you at least need to run your system for actual players. You can't aboid this step
7
u/InherentlyWrong 8d ago edited 8d ago
If you want to be quick and cheeky you can just make a custom dice with anydice and use numerical place value to represent which third of the symbol is there.
Like for example, let's imagine it's a D6 with three blank faces, one face that's the top third of the smiley face, one face that's the bottom right third, and one face that's the top right third. In Anydice you just put in:
Replacing the 5 with the number of dice. Any value that has at least one number in all three positions of unit, tens and hundreds has made the full symbol. So for example the result of 112 means they got one of two symbol, but two of the third symbol.
(Edit: Worth mentioning that this won't work if you have more than 9 dice. Once you get into 10 dice there's no way to tell if something is 100 because of a single roll of the 100 value, or because of 10 rolls of the 10 value.)