You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
5.6 KiB
TeX
112 lines
5.6 KiB
TeX
\chapter{Dice}
|
|
|
|
\section{Distribution of Successes}
|
|
|
|
\begin{multicols}{2}
|
|
For further analysis it will be useful to have a distribution function for margins of success.
|
|
|
|
To obtain such a distribution we start by observing that each roll can be divided into four groups: critical successes, successes, failures and critical failures, as shown in \cref{equ:dice_groups}. Further, this tuple has a multinomial distribution
|
|
\begin{align}
|
|
\left(C_s, S, F, C_f\right) \sim \text{MN}\left(d, 4, p\right)\label{equ:dice_groups} \\
|
|
p = \left[1/12,\frac{12-\stat{dt}-1}{12},\frac{\stat{dt}-1}{12},\frac{1}{12}\right]
|
|
\end{align}
|
|
|
|
We can easily map a tuple to a success margin:
|
|
\begin{equation}
|
|
M = 2C_s + S - F - 2C_f
|
|
\end{equation}
|
|
|
|
Therefore, our distribution for $M$ is a sum over all tuples that produce the correct $m$
|
|
\begin{equation}
|
|
Pr(M = m) = \sum_{C_s,S,F,C_f; M = m} \text{MN}\left(d, 4, p\right)
|
|
\end{equation}
|
|
|
|
Instead of trying all combinations of variables and summing the correct ones, we can use a system of Diophantine equations to reduce the search space.
|
|
|
|
We start with two equations
|
|
\begin{align}
|
|
2c_s + s - f - 2c_f & = m \\
|
|
c_s + s + f + c_f & = d
|
|
\end{align}
|
|
which resolve into a two-dimensional system
|
|
\begin{align}
|
|
c_s & = m - d + 2f + 3c_f \\
|
|
s & = -m + 2d - 3f - 4c_f
|
|
\end{align}
|
|
|
|
Next, we use inequalities $c_s\geq0, s\geq0$ to constrain the space for $c_f$, based on $f$. An example plot in \cref{fig:candidates} graphically shows the area defined by these equations and inequalities for one combination of $d$ and $m$.
|
|
\begin{align}
|
|
\frac{m-d+2f}{-3} \leq c_f \leq \frac{-m+2d-3f}{4}
|
|
\end{align}
|
|
Because the lower bound is not necessarily greater than 0, we will also use $c_f\geq0$.
|
|
|
|
We can now also constrain $f$ by observing that the lower bound for $c_f$ can cross $c_f=0$ before $f=d$.
|
|
\begin{equation}
|
|
0 \leq f \leq \frac{2d-m}{3}
|
|
\end{equation}
|
|
|
|
Putting the sum together, and adding floors and ceilings to limit the sum to integers, we get:
|
|
\begin{align}
|
|
Pr(M=m) & = \sum_{f=0}^{\left\lfloor \frac{2d-m}{3} \right\rfloor}\sum_{c_f=\max(0,\left\lceil\frac{m-d+2f}{-3}\right\rceil)}^{\left\lfloor\frac{-m+2d-3f}{4}\right\rfloor} \\
|
|
&\quad\; \frac{d!}{c_s!s!f!c_f!}
|
|
\frac{n_s^s n_f^f}{12^{d}} \\
|
|
n_f & = \stat{dt}-1 \\
|
|
n_s & = 12-n_s
|
|
\end{align}
|
|
While this equation is not very illuminating, it does allow us to efficiently compute the distribution and thus answer various questions regarding the results of dice rolls.
|
|
|
|
\end{multicols}
|
|
|
|
\begin{figure}[htb]
|
|
\centering
|
|
\includegraphics{images/dice_candidates_example.pdf}
|
|
\caption{Example of candidate combinations of $f$ and $c_f$ with upper and lower bounds for $c_f$ shown. In this plot, $d=12$ and $m=8$.\label{fig:candidates}}
|
|
\end{figure}
|
|
|
|
\begin{figure}[htb]
|
|
\centering
|
|
\begin{tabular}{r | c c c c c c c c}
|
|
& \multicolumn{8}{c}{Difficulty Threshold} \\
|
|
d & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 \\ \cline{2-9}
|
|
1 & 1 & 1 & 1 & 1 & 1 & 1 & 0 & 0 \\
|
|
2 & 2 & 2 & 1 & 1 & 1 & 1 & 0 & 0 \\
|
|
3 & 3 & 3 & 2 & 2 & 1 & 1 & 1 & 1 \\
|
|
4 & 4 & 3 & 3 & 2 & 2 & 1 & 1 & 0 \\
|
|
5 & 5 & 4 & 3 & 3 & 2 & 1 & 1 & 1 \\
|
|
6 & 6 & 5 & 4 & 3 & 2 & 2 & 1 & 1 \\
|
|
7 & 7 & 6 & 5 & 4 & 3 & 2 & 1 & 1 \\
|
|
8 & 8 & 7 & 5 & 4 & 3 & 2 & 1 & 1 \\
|
|
9 & 9 & 8 & 6 & 5 & 3 & 2 & 1 & 1 \\
|
|
10 & 10 & 8 & 7 & 5 & 4 & 2 & 1 & 1 \\
|
|
\end{tabular}
|
|
\caption{Expected number of successes.\label{tab:exp_mos}}
|
|
\end{figure}
|
|
|
|
\section{Combat Pool Steady State}
|
|
|
|
\begin{multicols}{2}
|
|
The combat pool starts with the proficiency state, i.e., \stat{STR} or \stat{DEX}. However, after rolling, the change in pool size is determined by \stat{CON}. After a number of turns, the expected size of the pool should converge on a number $E[d]$.
|
|
|
|
We start by assuming that $E[d]$ is a number such that
|
|
\begin{equation}
|
|
E[d_{n+1}] = E[d_{n}] \label{equ:dice_ss_a1}
|
|
\end{equation}
|
|
where $n$ is the turn after which the steady state is achieved.
|
|
|
|
To compute $E[d_n]$ for any $n$ we can use
|
|
\begin{equation}
|
|
E[d_n] = E[d_{n-1}] - p_f \cdot E[d_{n-1}] + \stat{con} \label{equ:dice_ss_a2}
|
|
\end{equation}
|
|
where $p_f = \stat{dt}/12$ is the probability of failure.
|
|
|
|
Using assumptions in \cref{equ:dice_ss_a1,equ:dice_ss_a2} we write the following equations:
|
|
\begin{align}
|
|
E[d] & = E[d] - p_f \cdot E[d] + \stat{con} \\
|
|
p_f\cdot E[d] & = \stat{con} \\
|
|
E[d] & = \frac{\stat{con}}{p_f}
|
|
\end{align}
|
|
|
|
As $p_f$ approaches 1, the steady state becomes just \stat{CON}, meaning the dice pool is entirely discarded and refreshed by \stat{con} on every turn. On the other hand, as $p_f$ approaches 0, the expected dice pool size increases. Specifically at 0, it shoots off toward infinity, as the dice pool loses no dice and \stat{con} dice get added toward it on every turn.
|
|
\end{multicols}
|
|
|