As a big risk fan, recently was inspired while playing to create a Risk battle simulator. While the probabilities involved in the game's battle mechanics (dice rolls) are simple, some Risk variants add additional factors that influence the probability of winning or losing. In Risk's LOTR version (one of my personal favorites), having a Hero with your army adds a +1 to your highest die roll. There are numerous other examples. So, I'm planning on building on this to create a program that will inform the user:
- Probability of winning given [x] number of attackers and [y] number of defenders
- Estimate the Attrition from battles
- As rolls are executed - when does the probability shift in favor of the defender, so that the attacker should give up their assault
- (any other feasible ideas that I come up with in the meantime)
Since the probability for each possible dice roll event in the range of possible events (1 - 6) is equal, I'm using Numpy's randint function which uses a uniform probability distribution for RNG.