Any complete description of a tabletop game requires two things: a description of the frequency behavior of any chance mechanism (such as dice or a well-shuffled deck of cards) and a description of strategic decision making (game theory), which depends on the possible states and therefore on the rules of the game itself. The former is usually easier to reason about and the latter can be insanely easy or insanely difficult to compute depending on the type of game. Having a full formal description of the game allows one to either solve the game or find new and interesting candidate strategies, which can bring additional engagement to the game itself.
The following are some useful links I found that might interest some of you.
Dice Probability Tutorials
Simple Dice Rolls
Expected Value And Variance Dice
Probability Distrubtion of Many Dice Rolls
- Following and understanding the derivation is unnecessary, though interesting, because you just need the distribution function at bottom of article if you want the exact pmf.
Dice Practice Problems with Solutions
- Use appendices as reference
Card Probability Tutorials for Deckbuilding or When There are Cards Involved
The biggest difference between cards and dice as chance mechanisms is that a player is required to actively shuffle them in order to ensure randomness. Here’s a video about the best way to get a well-shuffled deck.
Suppose you are playing a mono-colored magic the gathering and you want a high probability of having a certain amount of mana in your opening hand, assuming the deck is well-shuffled. You want to use the hypergeometric distribution.
Suppose you instead either have a multi-colored deck or you want specific types of cards in your opening hand or first k turns with high probability. You want to become familiar with an generalization of the hypergeometric distribution: the multivariate hypergeometric distribution.
Playing Cards Practice Problems
Game Theory
Game Theory Website Course by Vince Knight
Yale Video Course
Nashpy Game Theory Textbook for Using Python to Solve Game Theory Problems