Roll-and-keep systems II

Aug 31, 2022 19:03



Finally had some time to modify my script to also produce graphs for the probabilities of marginal, great, incredible and astonishing successes in Song of Ice and Fire Roleplaying, for each combination of pool size and bonus dice.

Here's a sample plot for the (highly unrealistic) case of 7d6 + 7B:



And one for the more realistic case of 4d6 + 2B:



It may not be so easy to tell visually, but the curves for the individual degrees of success are skewed to the right.

The calculations were actually extremely easy to do as well; all you really need is MATLAB's movsum() for the marginal success counts, and the realization that a great or incredible success is just a marginal success at a higher difficulty (5 and 10 higher respectively), while an astonishing success is any success at a difficulty of 15 higher.

I also learned that MATLAB's cumsum() has a reverse flag, so there's no need to sandwich the call to that between two flip()'s. Neat.

Something that still remains to be done: also output all probabilities to a LaTeX file as tables, also including the graphs produced. That way you (as the Narrator, i. e. game master) have a handy reference on hand for deciding how difficult a test should be if you want players to have a given chance of succeeding (or how likely players are to succeed on a test with a given difficulty, of course).

And of course, failure degrees (marginal vs. critical) would also be interesting to look at.

EDIT: I implemented both marginal/critical success calculations and the TeX report generation, so now I have a 100+ page PDF file looking like this:





I experimented a bit with individual tables vs. one big longtable, but in the end I felt this solution to be best-looking, and most look-up-able. Em dashes (&emdash;) indicate that something cannot possibly occur, BTW, while 0.00 indicates that something can happen but that the chance is less than 0.005 (which still rounds up to 0.01).

rpgs, mathematics, useful stuff, combinatorics, statistics, programming, matlab

Previous post Next post
Up