PDA

View Full Version : Saving throw data application.



Corran
2020-05-28, 01:30 AM
I created this thread to continue the conversation started here (https://forums.giantitp.com/showthread.php?612120-Hierarchy-of-Saving-Throws/page5) (post # 131). What's being discussed is based on MaxWilson's application about saving throws and his idea for an encounter simulator. At least as far as I know. It's certainly not my idea. This is not meant to be a private conversation, so feel free to jump in and contribute in any way you want.

To provide some context:

I edited my post upthread but also wanted to bump the thread to bring this to folks' attention: https://maxwilson.github.io/Simple-SavingThrowGraphsFor5E/

As I said upthread, I'm still working on encounter construction, but you can at least look at individual monsters, filter for specific sourcebooks and creature types, and spot patterns in the data. I never realized before how weak liches are to Charisma-based attacks, or that the Tarrasque is proficient in Int saving throws.

========================================


Would you really want to exclude them, or would you like them factored into the effectiveness percentage somehow? Technically it's easy to determine whether/how many legendary resistances a given creature has--I just can't think of any useful questions to ask/answer with that data. The way I think of it right now is that "effectiveness" has to hit at least 4.0 before you can count on affecting any creatures with legendary resistances, so even if you choose a 100% effective spell (like Mental Prison against an Astral Dreadnought) it will of course always take 4 spells to affect it.

I can't think of any way to include legendary resistance in the picture that wouldn't make it more confusing, but maybe there's a way. Edit: I guess you could define Effectiveness as (average % failed saves) / (Legendary Resistances + 1).

BTW, "are your attacks affected by legendary resistance" is a redundant question. All saves are affected by legendary resistance, and no ability checks are. But you could ask whether you want to see effectiveness scaled down for LR... hmmm, I think I'll do that right now. One sec....
Hmm, for a combat simulator mini-game (similarly to how your chargen app did), the approach you are suggesting could be very good, if the outcome of, say, a day's worth of encounters is defined by your average effectiveness throughout that day (or in a similar way). For example, easy mode would let you survive/level up if your average effectiveness throughout the day was no lower than 40%. Average difficulty would have you survive/level up if your average effectiveness during the day was no lower than 60%. And hard difficulty would have you survive/level up if your average effectiveness during the day was no lower than 60% and your effectiveness for each deadly or harder encounter during that same day was also no lower than 40% or something. In which case, adjusting the effectiveness of spells that targets saves against legendary enemies is a good solution. Still, it does away with all the elements you would be worried about in a real game (as this approach is a big gamble, and reduced effectiveness is a very crude approximation of the risks it entails and of the possible delay in hurting/killing the enemy), but if you refine enough the odds of the various modes, and you also expand on the consequences (such as by adding gold as a parameter, eg if you play in the hard mode, and you achieve the average effectiveness, but you fail against one deadly encounter by no more than 10% effectiveness, the outcome is that you survive, earn half experience than you would if you had succeeded in everything, and also lose 1000 gold coins because one of your allies died and you have to resurrect them).


On the other hand, if you also want someone to be able to use the app in order to get a better idea about the game system (so as a tool helping to plan for spell selection), then:
I am thinking that it may be too ambitious to ask the app (even indirectly) whether burning through a creature's legendary resistances is a good idea, because that course of action relies on so many other factors. Namely I would say your group's overall options available and action economy (so for example potential monk allies, summons/allies with access to spells like command and polymoph), not to mention that this approach is more risky by its nature (win big or die). So, for a player that plans to contribute burning through the dragon's legendary resistances, the application as it is certainly makes sense (though I think you are right to want to factor in the delay/cost in resources somehow). But for a player who will not count on burning through the dragon's legendary resistances, the results can be misleading.

Which makes me think, that a decent and simple (at least as an idea) way to go about this, would be to ask the user to pick between some options. Essentially you are asking the user if the app will assume 0% effectiveness against legendary creatures (ie infinite legendary resistances), or normal effectiveness (ie as if they didn't have any legendary resistances). And you do that separately for creatures with 1 legendary resistance and for creatures with 3 legendary resistances. Just because someone might be playing a certain character with certain allies, for which it would be a good option to try and burn through 1 legendary resistance, but not through 3 of them. This way someone would be able to see for example for about how long they would be able to count on a spell like polymorph if I don't plan to use it against legendary creatures. And if I did, the app would give me a good indication of what saves I should target in order to burn legendary resistances. Coincidentally, this will make more apparent the usefulness of spells that don't rely on saves to affect the enemy to people who were not already aware of that.






I actually have this raw data already (including which creatures have advantage against specific conditions like being poisoned or charmed). What would be an appropriate UX? Maybe a selector asking you to optionally choose a type of effect from a list of conditions?

Would it be helpful to show multiple graphs at the same time?
Yes, I think having multiple graphs shown at the same time would be helpful, in that it would make comparing things easier.

Ideally, I would like to be able to add additional graphs on top of the existing ones. The existing ones show the effectiveness of spells with no typed condition, while the extra graphs would show the effectiveness of spells with typed condition. So, if I want to see how using a spell like web compares to other options, I just add a new graph that corresponds to dex saves and restrain.

Having the option to filter the results (by unselecting the graphs I don't want to see) would also be useful in that it would make it easier to see how one specific graph compares to another specific graph, without additional graphs in the way. So for example, consider how the app's results are currently. What I am saying, is that for example I would like to see only how DEX effects compare to CON effects. So I unclick everything else and now I see only the two corresponding graphs. Then I also want to throw INT into the mix, so I click INT and now I see three graphs, those of DEX, CON and INT. Etc.



I also have raw data on damage resistances/immunities/etc., and again I don't know how to do anything useful with it, in the current UI. Hmmm, I guess I could make "damage: <dice> of <type> for <dice amount> save for <half or none>" an option for you to select when you choose a spell, instead of picking a condition. And in that case, "Effectiveness" can be total HP of damage inflicted, instead of average % of failed saves.
Hmmm. I also cannot think of anything, cause in its current state (same holds if you end up incorporating condition resistances/immunities and legendary resistance), the app just shows how likely it is for you spell to land and affect the target, but it does not say 'how much' you affected the target. Unless you are planning to adjust effectiveness depending on how powerful the spell effects are, I'd say that you should treat damage spells the same way (if you end up including an option that allows you to add new graphs in a similar way to what I mentioned above). So for example, a fireball's effectiveness is judged by how likely the enemy is to make the save, and then it's a question of how we have fire resistance further adjust the effectiveness (fire immunity brings effectiveness down to 0% obviously). Bringing it down by a factor of 0.5 is good enough I think for when against fire resistant creatures.

Again though, it depends on what you really want this app to do, and how exactly you have envisioned your encounter simulator to work. If your chargen app was an indication of what you are trying to do with this, and for example your encounter simulator asks you to choose one spell for the encounter it poses against you, I am thinking of two approaches. One for concentration damage spells (eg animate objects), and one for no-concentration damage spells (eg fireball).

1) in the case of animate objects, I'd determine its effectiveness the same way you mentioned (AC instead of saves obviously), with the difference that I would also devide the enemies' hp by some number X. This number X would be the average number of rounds I would impose as an upper limit regarding how long this fight can last before you automatically lose. And this number could vary. It could be something like 5 for medium encounters, 4 for hard encounters, etc.

2) In the case of fireball (and any no concentration spells), I am thinking of a slightly more complicated solution. Most spells that target saves and don't do damage are concentration spells, and there are a lot of spells that target saves and do damage that are not concentration spells. So, have casting spells like fireball as an additional option when your first spell is not a no-concentration damage spell. Then, depending on how effective your fireball was, adjust the initial spell's effectiveness (ie your character's effectiveness in dealing with the encounter) upwards or downwards. The option to adjust downwards exists to symbolize the cost of spending actions and resources to use fireball in a moment where it was not effective. So for example, if fireball managed to take out no more than 10% of the enemies' collective hp, the effectiveness of my fear spell (which was my primary way of dealing with the encounter) is reduced by some amount (because using a fireball was resources and action not well spent, which will hurt me -either in this encounter or in the long run). While if a fireball managed to take out no less than 50% of the enemies' collective hp, then the effectiveness of my fear spell goes up by some other amount. If you like something like this as an idea, and you think it's possible to include it in a program, we could talk further think of what percentages and adjustments make sense. And ideally, the numbers we are using change depending on the difficulty of the encounter. So, a deadly encounter would require of you to make better use of your fireball for the same bonus to your effectiveness, compared to a medium encounter.

MaxWilson
2020-05-28, 02:12 AM
Hmmm. I'm a little bit confused about one thing--when you talk about "the current form" of the legendary resistance analysis, do you mean the form before you wrote your post, or the actual current form where you can now make legendary resistance factor into the "effectiveness" metric?

Anyway, I kind of get the idea from what you write that it's probably better to work on the combat simulator instead of going too far with the saving throw graphs. I'll finish the encounter generator because I need that anyway, but then I think I'll do the character generator minigame (as discussed in this post: https://forums.giantitp.com/showthread.php?612880-Life-pre-adventure&p=24532529#post24532529) and then go back to working on the full combat simulator/game/framework, which isn't really even close to being done.

(Just for the record: the chargen minigame will not be based on reading effectiveness off charts, you'll be rolling attacks and damage and deciding when to Action Surge just like a normal 5E game.)

Corran
2020-05-28, 04:57 AM
Hmmm. I'm a little bit confused about one thing--when you talk about "the current form" of the legendary resistance analysis, do you mean the form before you wrote your post, or the actual current form where you can now make legendary resistance factor into the "effectiveness" metric?
I meant the form before I wrote my post. I haven't seen how you ended up mixing legendary resistances into the effectiveness metric. The link does not work for me now btw. When you click it it shows this:
Error at: `$.stats` Expecting an object with path `stats` but instead got: { "name": "Decapus", "cr": 4, "size": "Large", "creatureType": "Monstrosity", "tags": [ "" ], "alignment": "unaligned", "ac": 14, "hp": 75, "legendary": false, "unique": false, "source": "The Tortle Package: 21" } Node `stats` is unkown.


Anyway, I kind of get the idea from what you write that it's probably better to work on the combat simulator instead of going too far with the saving throw graphs. I'll finish the encounter generator because I need that anyway, but then I think I'll do the character generator minigame (as discussed in this post: https://forums.giantitp.com/showthread.php?612880-Life-pre-adventure&p=24532529#post24532529) and then go back to working on the full combat simulator/game/framework, which isn't really even close to being done.
Looking forward to seeing the encounter generator then once you complete it. Out of curiosity, what's your aim with it? Will it generate a random encounter and then we'll use the saving throw graphs to quantify the effectiveness of various spells for this encounter?


(Just for the record: the chargen minigame will not be based on reading effectiveness off charts, you'll be rolling attacks and damage and deciding when to Action Surge just like a normal 5E game.)
Gotcha. Had not seen your later posts about it and I just let my imagination take over regarding how it might end up looking.

MaxWilson
2020-05-28, 10:35 AM
I meant the form before I wrote my post. I haven't seen how you ended up mixing legendary resistances into the effectiveness metric. The link does not work for me now btw. When you click it it shows this:
Error at: `$.stats` Expecting an object with path `stats` but instead got: { "name": "Decapus", "cr": 4, "size": "Large", "creatureType": "Monstrosity", "tags": [ "" ], "alignment": "unaligned", "ac": 14, "hp": 75, "legendary": false, "unique": false, "source": "The Tortle Package: 21" } Node `stats` is unkown.

Oops. While fixing a data error (the place I got my data from failed to note that Iymrith the Dragon has legendary resistances) I accidentally put the Tortle Package stuff back in, and that broke the app because I don't have stats for them. (I don't own the Tortle Package.) Should be fixed now.

Thanks for the report.


Looking forward to seeing the encounter generator then once you complete it. Out of curiosity, what's your aim with it? Will it generate a random encounter and then we'll use the saving throw graphs to quantify the effectiveness of various spells for this encounter?

Yes, exactly--but then I can also re-use the same code in other contexts, like in an actual game.

My intention is to have it generate some number (say 100) of random encounters for each PC level 1-20.

Edit:

I made a couple of small enhancements to the saving throw analyzer: https://maxwilson.github.io/Simple-SavingThrowGraphsFor5E/

(1) You can now analyze randomly-generated encounters as well as just monsters.

(2) You can now set tags like "Fire Damage, Save for Half" or "Charmed" on your attacks to see how that changes overall effectiveness, since some monsters are vulnerable, resistant or immune to certain attacks.

For example, if I tell it to generate a bunch of undead-only encounters using Xanathar's rules, a typical Wisdom save graph will look something like this:

https://i.postimg.cc/nrQNmKrw/Undead-Wis-Saves.png (https://postimg.cc/hQcCWd99)
But if I'm really interested in casting Hypnotic Pattern, then I want to make sure undead that are immune to charm are counted as immune, so I hit the Effect tags button and tag it as "charmed". You will see the purple line drop substantially.

https://i.postimg.cc/1RnzBLNb/Undead-Wis-Charm-Saves.png (https://postimg.cc/Jt8m4YxQ)
If I want to compare it to Fireball instead I can switch to looking at Dex with effect tags "fire" and "save for half".

Limitations: the UI is still kind of ugly. Sorry. I'm not a design expert, and I'm focused more on functionality than on getting all of the text to line up prettily on each line.

Furthermore, for technical reasons, effect tags are not available on the overview screen--you have to drill down on a specific attribute (Str/Dex/Con/Int/Wis/Cha) in order to apply specific effects. I don't intend to fix this because this app has grown to a point where it's unwieldy and difficult to extend further, and because you should normally know what attribute you're interested in if you're applying a specific effect like "fire, save for half" (probably Dex).

Corran
2020-06-01, 01:53 AM
'Save for half' appears twice as an option when you hit the effect tag. Not really a problem, but I am telling you in case it is a simple fix.

I have a question about targeting and about how you calculate the overall effectiveness when an encounter involves creatures with different CR's. Is it random? Or do you take the average of all possible cases? For example, I am seeing that during an encounter with 1 polar bear (CR 2; int saves -4) and 1 faerie dragon (CR 1; int saves +2, advantage), my phantasmal force (int save, no effect tags, DC 13) is going to be 42.5% effective. Now, my spell will be 80% effective against the bear (CR 2), and 25% effective against the faerie dragon (CR 1). Now matter how I try to calculate it, I cannot get to 42.5%. Which makes me think that you involved some randomly generated modifiers that also affect targeting. For example, 42.5% comes up when I choose to target the bear roughly 76% of the time. Which gets me to 42.5% overall effectiveness, assuming I treat the bear contributing 2/3 towards the difficulty of the encounter, with the faerie dragon contributing the remaining 1/3 (due to their CR difference). Which makes me think that perhaps you didn't hang too much on the CR values to generate overall effectiveness, but instead you used some other value (like XP earned from each monster or group of monsters). Meaning, I can also reach th 42.5% effectiveness if I always target the bear, and the bear counts roughly as 53% towards the enemy's strength. This result came up when using the shining sword method for generating encounters btw, if it makes any difference.

MaxWilson
2020-06-01, 02:37 AM
'Save for half' appears twice as an option when you hit the effect tag. Not really a problem, but I am telling you in case it is a simple fix.

I have a question about targeting and about how you calculate the overall effectiveness when an encounter involves creatures with different CR's. Is it random? Or do you take the average of all possible cases? For example, I am seeing that during an encounter with 1 polar bear (CR 2; int saves -4) and 1 faerie dragon (CR 1; int saves +2, advantage), my phantasmal force (int save, no effect tags, DC 13) is going to be 42.5% effective. Now, my spell will be 80% effective against the bear (CR 2), and 25% effective against the faerie dragon (CR 1). Now matter how I try to calculate it, I cannot get to 42.5%. Which makes me think that you involved some randomly generated modifiers that also affect targeting. For example, 42.5% comes up when I choose to target the bear roughly 76% of the time. Which gets me to 42.5% overall effectiveness, assuming I treat the bear contributing 2/3 towards the difficulty of the encounter, with the faerie dragon contributing the remaining 1/3 (due to their CR difference). Which makes me think that perhaps you didn't hang too much on the CR values to generate overall effectiveness, but instead you used some other value (like XP earned from each monster or group of monsters). Meaning, I can also reach th 42.5% effectiveness if I always target the bear, and the bear counts roughly as 53% towards the enemy's strength. This result came up when using the shining sword method for generating encounters btw, if it makes any difference.

The method it uses for calculating effectiveness against groups is to choose the most desirable targets and then give the total fraction. If your spell is 30.25% effective against Faerie Dragons and 85% effective against Polar Bears, and there's one of each, then it can be expected to affect 0.85 targets (because it assumes the caster will choose to maximize his success rate by targeting the bear), and 0.85 / 2 = 0.425 = 42.5%. However... you're right that the probability for the Bear is 80%, not 85%.

It turns out I have an off-by-one math error--thanks for the catch. The formula I was using for success was



let success bonus dc =
min 1. (max 0. (float (dc - bonus)) / 20.)


but that incorrectly awards ties to the attacker, not the defender. Should be



let success bonus dc =
min 1. (max 0. (float (dc - bonus - 1)) / 20.)


I'll have a fix for both that and the doubled "save for half" thing up shortly. Edit: done.

P.S. If you wanted to weight effectiveness by HP or CR or something instead of raw numbers, that would be possible, but I'm not sure it would actually be desirable. That's getting into territory to complex for a simple static graph, and more into combat dynamics: how much does this spell speed up your victory and/or reduce the damage you take? And that needs a combat simulator, not just simple equations.

Corran
2020-06-01, 03:30 AM
The method it uses for calculating effectiveness against groups is to choose the most desirable targets and then give the total fraction. If your spell is 30.25% effective against Faerie Dragons and 85% effective against Polar Bears, and there's one of each, then it can be expected to affect 0.85 targets (because it assumes the caster will choose to maximize his success rate by targeting the bear), and 0.85 / 2 = 0.425 = 42.5%.
Why did you choose not to involve CR as a parameter for this? As flawed as the CR system may be (at least from what I have read on occasion on the internet, which make sense), involving CR's as a factor when 'choosing what you'll target' and when 'calculating overall effectiveness' would yield better approximations. Especially in the case of single target spells and/or in the case of encounters that features creatures with noticeable CR differences.

For example, if an encounter consists of one CR 4 creature (0 to int saves) and of four CR 1 creatures (0 to int saves), using phantasmal force should yield a better effectiveness than if the encounter was against eight (or how many it would take for these two encounters to be of similar difficulty) CR 1 creatures (0 to int saves). And we could display that if instead of dividing by the number of enemies, you took the fraction of the enemy's CR over the sum of all of the enemies' CR? Meaning, that if I target the CR 4 creature, my effectiveness of phantasmal force is multiplied by 1/2, whether if I target the CR 1 creature, my effectiveness would be multiplied by 1/8. Naturally, targeting would be affected in a similar manner. So if the CR 4 creature had a +1 to int saves instead, using the CR in the calculation would yield that targeting the big enemy is more beneficial than targeting one of the small enemies, cause the CR difference is enough to compensate for a minor increase in the enemy's chance to succeed on the save.

This change could mess up with the effectiveness of area spells, particularly of the ones that deal damage, cause one unwanted side effected would be that it might make it seem more appropriate to use a fireball on the CR 10 enemy instead of against 15 CR 1/2 enemies. So you would either need to exclude it from what concerns area spells, or ideally you could tweak the ratios used, for example by halving (off the top of my head) the effect of the CR on said calculations. Though choosing the percentage of enemies affected yourself before you see the results, might be enough to make up for this?

MaxWilson
2020-06-01, 03:55 AM
Why did you choose not to involve CR as a parameter for this? As flawed as the CR system may be (at least from what I have read on occasion on the internet, which make sense), involving CR's as a factor when 'choosing what you'll target' and when 'calculating overall effectiveness' would yield better approximations. Especially in the case of single target spells and/or in the case of encounters that features creatures with noticeable CR differences.

Fundamentally it's because CR doesn't really measure anything and weighting by CR seemed more confusing to me than just presenting the percentage of targets affected--but as I said, if you wanted results weighted by HP or by CR instead of raw numbers that would be technically feasible. If you can suggest how the UI should be labeled I can add radio buttons for each, maybe next to the Effects tag button or something.


For example, if an encounter consists of one CR 4 creature (0 to int saves) and of four CR 1 creatures (0 to int saves), using phantasmal force should yield a better effectiveness than if the encounter was against eight (or how many it would take for these two encounters to be of similar difficulty) CR 1 creatures (0 to int saves).

I'm not sure I agree with that "should", but I sympathize that that's one way of looking at it. Can add it as an option.


And we could display that if instead of dividing by the number of enemies, you took the fraction of the enemy's CR over the sum of all of the enemies' CR? Meaning, that if I target the CR 4 creature, my effectiveness of phantasmal force is multiplied by 1/2, whether if I target the CR 1 creature, my effectiveness would be multiplied by 1/8. Naturally, targeting would be affected in a similar manner. So if the CR 4 creature had a +1 to int saves instead, using the CR in the calculation would yield that targeting the big enemy is more beneficial than targeting one of the small enemies, cause the CR difference is enough to compensate for a minor increase in the enemy's chance to succeed on the save.

This change could mess up with the effectiveness of area spells, particularly of the ones that deal damage, cause one unwanted side effected would be that it might make it seem more appropriate to use a fireball on the CR 10 enemy instead of against 15 CR 1/2 enemies. So you would either need to exclude it from what concerns area spells, or ideally you could tweak the ratios used, for example by halving (off the top of my head) the effect of the CR on said calculations. Though choosing the percentage of enemies affected yourself before you see the results, might be enough to make up for this?

This last paragraph sounds too complicated for me to implement. Yes, I expect people to use the AoE % to tweak their analysis.

Corran
2020-06-01, 05:05 AM
Fundamentally it's because CR doesn't really measure anything and weighting by CR seemed more confusing to me than just presenting the percentage of targets affected--but as I said, if you wanted results weighted by HP or by CR instead of raw numbers that would be technically feasible. If you can suggest how the UI should be labeled I can add radio buttons for each, maybe next to the Effects tag button or something.
'CR confidence' might be appropriate (though my talents are restricted in nitpicking other people's hard work, and do not extend in naming things). To use the example of the encounter with the polar bear (CR 2) and the faerie dragon (CR 1), a 100% CR confidence would count the bear as 2/3 and the dragon as 1/3. While a 0% CR confidence would count the bear as 1/2 and the dragon as 1/2 as well.

Essentially, assuming an encounter with N enemies, let the sum of their CR's be S, and let their individual CR be denoted by k1, k2, … , kN. So, if I am for example targeting the enemy corresponding to CR k1 (and lets assume this is a fixed choice for now), then:

1)0% CR confidence measures effectiveness by counting that enemy as 1/N, just like in your calculations.

2)100% CR confidence measures effectiveness by counting that enemy as k1/S.

3) X% CR condidence measures effectiveness by counting that enemy as X% * k1/S + (1- X%) * 1/N.

0% (we have it already), 50% and 100% would be more than enough I think, since I don't think anyone is going to be in a position to make more than a guesstimation. In fact, 50% might be very misleading for people who wont give this enough thought but may very well go for the average as an answer to a question they don't fully comprehend. So you might want to skip it.


This way, if my pc is travelling in an area of the world where I can expect to fight low CR monsters that punch a lot harder than their CR would suggest (or because they happen to target party weaknesses), at least compared to higher CR monsters that might be more conventional, I could adjust to 0% confidence in the CR in order to illustrate that fact.


I'm not sure I agree with that "should", but I sympathize that that's one way of looking at it. Can add it as an option.
Well, your answer gave me enough pause to second guess that 'should' as well.




This last paragraph sounds too complicated for me to implement. Yes, I expect people to use the AoE % to tweak their analysis.
Don't mind my last paragraph of the previous post. I had forgotten about the AoE % when writing it, and remembered about it a few minutes after posting, so I just edited it as my last sentence. Giving it a few more runs (just to be sure), I'll agree that the AoE % is enough on its own to provide a meaningful analysis, as long as one chooses wisely the % of course.

MaxWilson
2020-06-01, 11:14 AM
I think I would not want to call it "CR confidence." That's even more confusing. If you still think CR is important in a few days I could add a radio button to switch Effectiveness between "unweighted" vs. "weight by CR" vs. "weight by HP", but I don't think I'd want to add an option to weight by a custom mix of unweighted and CR, because I can't imagine that setting being useful, and it is confusing to explain.

(The app is already kind of confusing unfortunately, but I think adding "weight by HP" and "weight by CR" is almost self-explanatory so I'm willing to try it.)

Corran
2020-06-03, 11:45 AM
I think I would not want to call it "CR confidence." That's even more confusing. If you still think CR is important in a few days I could add a radio button to switch Effectiveness between "unweighted" vs. "weight by CR" vs. "weight by HP", but I don't think I'd want to add an option to weight by a custom mix of unweighted and CR, because I can't imagine that setting being useful, and it is confusing to explain.

(The app is already kind of confusing unfortunately, but I think adding "weight by HP" and "weight by CR" is almost self-explanatory so I'm willing to try it.)
At first I was thinking that it would be helpful in the case of single target spells' effectiveness during encounters with multiple enemies, but choosing the option ''monsters by CR'' covers for that (as long as you are committed to using a single target spell).

A ''weight by CR or HP'' option could still be helpful when you are consulting the results in order to decide if I am going to use a single target spell against the big enemy, or an area spell that will affect many enemies (talking about the same encounter). But to do that, we must also have the option to hand pick our own encounter instead of the randomly generated ones, so that we can see the effectiveness difference between the AoE and the single target spell for the same encounter. So I am thinking that unless you have further plans towards that direction (ie the app allows us to create your own encounter and check effectiveness rates for it), it wont be terribly useful to add that extra option (though obviously it wouldn't hurt; I just cannot think how I would want to use it).

Btw, I noticed that radiant damage is missing from the ''effect tags''.

MaxWilson
2020-06-03, 01:46 PM
At first I was thinking that it would be helpful in the case of single target spells' effectiveness during encounters with multiple enemies, but choosing the option ''monsters by CR'' covers for that (as long as you are committed to using a single target spell).

A ''weight by CR or HP'' option could still be helpful when you are consulting the results in order to decide if I am going to use a single target spell against the big enemy, or an area spell that will affect many enemies (talking about the same encounter). But to do that, we must also have the option to hand pick our own encounter instead of the randomly generated ones, so that we can see the effectiveness difference between the AoE and the single target spell for the same encounter. So I am thinking that unless you have further plans towards that direction (ie the app allows us to create your own encounter and check effectiveness rates for it), it wont be terribly useful to add that extra option (though obviously it wouldn't hurt; I just cannot think how I would want to use it).

Btw, I noticed that radiant damage is missing from the ''effect tags''.

Hmmm, I see nothing wrong with adding "Custom Encounter" as an option. It's probably not useful to show a line graph in that case, so maybe a bar chart in greater detail, with a breakdown of monsters stats both individually and in aggregate. (Monster HP, total HP, etc.) Might be a lot of work so I won't do that immediately--I'm not sure there aren't better tools for that already out there. Edit: I know! Should let you add multiple custom encounters to the same line graph. Conceptually it's a 4th encounter construction method, Xanathar/DMG/Shining Sword/Build My Own.

I think you also need the ability to specify multiple attacks on the same graph, e.g. a DC 18 Wisdom Charm AoE on the same graph as a DC 19 Int Single-Target save-for-half psychic, right? And you probably want the ability to control who gets targeted by each attack if you want to, and show all these encounters on the same graph.