Dice Probability Framework

This hobby project is about calculating the analytical correct probabilities of dice. It was primarily made for pen & paper role playing games.

The project was started in may 2019. I use the IDE Pycharm and therefore Python as programming language.



Calculate and load input data
Each dice system needs input data, i.e. 2d6 meaning you roll two six-sided dice and total their results. If there are no files describing the input data, it is calculated and saved, so that each subsequent run using this input data can just load it instead.

Probability curve of the RPG system “Ratten”.

Evaluate and save output data
Results from a test are saved in the formats .txt and .csv. Especially the latter is made to be usable for other programs.

Plot Graphs
Probability curves created by a test automatically creates plots with the calculated values, giving a good overview over the results. All descriptions like those of the axis are fully automatically created.

Different modes
You can not only evaluate how probable the different results of a check for a defined system is, but also average and VS curves. The latter describes the probabilities of the different skill levels beating each other skill level (in which beating is defined as rolling a result greater or equal).

Last but not least is the user-study mode, in which the user is presented with random samples of a specified dice system and must calculate the result of these “checks” himself. The system tracks required time and error rate, evaluates them and saves it anonymously (by generating random IDs).