CodeFlayer
Explorer
While prepping this adventure for a group of new players (and I myself am new to 5e) one of my players suggested this might interesting to a broader audience.
Here are the day and night wandering monster encounter tables from from part III of the adventure. This code, or bespoke rolled table language, is meant to be fed to a python program - mt01.py (for Monsters & Treasure). Let us look at one typical line -
The value between the colons indicate the chances, in terms of parts per whole, that this entry will be rolled. Both tables have 12 total parts each, as intended for a d12 roll. The next is the number of creatures (1d6+3), the object name, and properties to be assigned. Here is one roll on the night table -
Because these objects have the property "cr", they are treated as mobs and the appropriate algorithms are invoked. 5 stirges, of cr 1/8, have been generated, and according to my implementations and adaptations of the difficulty assessment algorithms from the DMG, and separately, XGE, both these agree this a good encounter for (4) first level characters (respectively).
Most interestingly perhaps, is that if we roll on these tables many thousands of time and average the results, an average party level of 2.5 is seen, which is fits the adventure design, where characters generally exit part II as 3rd level characters. For game masters who have run these tables, does that match your experience? Details are welcome.
My purposes here are to share something fun that I have a passion for, and perhaps give something back to the world. Probability tables, as envisioned by the early designers of RPGs, somehow bring a world to life. Questions are welcome as I not explained all particulars or perhaps not all that clearly. I can expound on the variant difficulty calculations, or share more complicated tables that create immersive details, the real goal of this tool.
Thanks for reading.
--CodeFlayer
Code:
ItemTable tbt_day_stock {
:2: 1#8+2 stirge(.cr. 1/8),
:2: ogre(.cr. 2),
:2: 1#6+3 goblin(.cr. 1/4),
:2: 1#4+2 hobgoblin(.cr. 1/2),
:2: 1#4+2 orc(.cr. 1/2),
:1: 1#4+2 wolves(.cr. 1/4),
:1: owlbear(.cr. 3)
}
ItemTable tbt_night_stock {
:3: 1#8+2 stirge(.cr. 1/8),
:1: 1#4+1 ghoul(.cr. 1),
:1: 1#6+3 goblin(.cr. 1/4),
:1: 1#4+2 hobgoblin(.cr. 1/2),
:2: 1#4+2 orc(.cr. 1/2),
:2: 1#4+2 wolves(.cr. 1/4),
:2: owlbear(.cr. 3)
}
Here are the day and night wandering monster encounter tables from from part III of the adventure. This code, or bespoke rolled table language, is meant to be fed to a python program - mt01.py (for Monsters & Treasure). Let us look at one typical line -
:2: 1#6+3 goblin(.cr. 1/4),
The value between the colons indicate the chances, in terms of parts per whole, that this entry will be rolled. Both tables have 12 total parts each, as intended for a d12 roll. The next is the number of creatures (1d6+3), the object name, and properties to be assigned. Here is one roll on the night table -
$ python mt01.py dd1.tables.txt roll tbt_night_stock 1
loading: dd1.tables.txt
cmd: roll
--- tbt_night_stock 1
5 stirge, cr = 1/8
mob count/base exp: 5 125
per_char_battle_exp 60.3125
suggested party levels (DMG/XGE) 1 1
Because these objects have the property "cr", they are treated as mobs and the appropriate algorithms are invoked. 5 stirges, of cr 1/8, have been generated, and according to my implementations and adaptations of the difficulty assessment algorithms from the DMG, and separately, XGE, both these agree this a good encounter for (4) first level characters (respectively).
Most interestingly perhaps, is that if we roll on these tables many thousands of time and average the results, an average party level of 2.5 is seen, which is fits the adventure design, where characters generally exit part II as 3rd level characters. For game masters who have run these tables, does that match your experience? Details are welcome.
My purposes here are to share something fun that I have a passion for, and perhaps give something back to the world. Probability tables, as envisioned by the early designers of RPGs, somehow bring a world to life. Questions are welcome as I not explained all particulars or perhaps not all that clearly. I can expound on the variant difficulty calculations, or share more complicated tables that create immersive details, the real goal of this tool.
Thanks for reading.
--CodeFlayer