Mastocles
2017-09-27, 03:23 PM
Some time back I wrote a script that thanks to a lot of feedback became an ever changing online tool.
I posted about it here ages back, but now I find myself having to move servers (Openshift 2 > 3 migration) and have a new domain: dnd.matteoferla.com.
The tool uses a Python script that simulates the same encounter over and over (https://github.com/matteoferla/DnD-battler). It has a database of all the non-copyrighted monsters and one can input one's party of heroes or mod a monster. For example a few people have simulated a good tarrasque vs. evil tarrasque with comical names.
The main aim is to determine how doable an encounter actually. The hardness scale in the rulebook is far from a TPK and this simulator is generally spot on when converted into real played encounters *.
With the basecode, I did some analyses such as confirming that a d7+d5 weapon is the same a 2d6. Although I keep meaning to analyse the monster power spread thanks to the cool database of monsters (https://github.com/matteoferla/DnD-battler/blob/master/beastiary.csv) a user kindly wrote for me.
Obviously, it is not perfect.
Both the monsters and the heroes play with a preset wise tactic —no monster comical dumbness or diva munchkin character antics
It does not use a 2D grid (discussed at the site and at the github page).
Unique rules needs to be hardcoded
I have been asked whether I will implement a machine learning/genetic algorithm to improve the tactics, but it turns out that point 1 is actually pretty major. While point 3 would require years of coding for every single splatbook magic ring or hoverboard stolen from an incursion into a D20 Modern dimension.
But people seem to like it. :)
* I have had an email or two about this: a 50% victory probability is for 50% chance of a TPK, not that on average 50% of the party is KO, in fact the latter figure will be higher for vanilla players vs. vanilla monsters.
I posted about it here ages back, but now I find myself having to move servers (Openshift 2 > 3 migration) and have a new domain: dnd.matteoferla.com.
The tool uses a Python script that simulates the same encounter over and over (https://github.com/matteoferla/DnD-battler). It has a database of all the non-copyrighted monsters and one can input one's party of heroes or mod a monster. For example a few people have simulated a good tarrasque vs. evil tarrasque with comical names.
The main aim is to determine how doable an encounter actually. The hardness scale in the rulebook is far from a TPK and this simulator is generally spot on when converted into real played encounters *.
With the basecode, I did some analyses such as confirming that a d7+d5 weapon is the same a 2d6. Although I keep meaning to analyse the monster power spread thanks to the cool database of monsters (https://github.com/matteoferla/DnD-battler/blob/master/beastiary.csv) a user kindly wrote for me.
Obviously, it is not perfect.
Both the monsters and the heroes play with a preset wise tactic —no monster comical dumbness or diva munchkin character antics
It does not use a 2D grid (discussed at the site and at the github page).
Unique rules needs to be hardcoded
I have been asked whether I will implement a machine learning/genetic algorithm to improve the tactics, but it turns out that point 1 is actually pretty major. While point 3 would require years of coding for every single splatbook magic ring or hoverboard stolen from an incursion into a D20 Modern dimension.
But people seem to like it. :)
* I have had an email or two about this: a 50% victory probability is for 50% chance of a TPK, not that on average 50% of the party is KO, in fact the latter figure will be higher for vanilla players vs. vanilla monsters.