Cataclysm-dda: With all the new zombies added, their difficulty ratings should probably be looked at before 0.F

Created on 4 Aug 2020  Â·  14Comments  Â·  Source: CleverRaven/Cataclysm-DDA

For example:

Skeletal juggernaut has 139 for difficulty. http://cdda-trunk.chezzo.com/monsters/mon_skeleton_hulk
But in reality, it's completely harmless 99% of the time, as it's too slow to actually catch up to the player. And even if you DO try to fight one, you can beat it with something like a peasant flail pretty easily. Or just lure it to walk into a fire a few dozen times.
Moreover, skeletal juggernauts are actually beneficial to have around good half of the time (you can use them to destroy building, kill other zombies, to help corner a deer, etc).

Spearcat hunter, on the other hand, has 93 for difficulty. http://cdda-trunk.chezzo.com/monsters/mon_zougar_hunter
And that thing simply vaporizes your body-parts within seconds, is effectively impossible to outrun, jumps over your traps and has enough hit-points to survive pretty much anything short of heavy machine gun burst at point-blank.

Woodland wight has 5 for difficulty — same as a normal Zombie. Despite having more than 3 times(!) the speed and being just beefier overall.

Etc, etc.

Describe the solution you'd like

Figure out an agreed-upon protocol to asses how dangerous a given mob actually is, adjust difficulty accordingly.

Describe alternatives you've considered

Do nothing and just wait until everyone learns the hard way how much of a threat spearcat hunters (and the like) are.

Additional context

I don't have a clear solution how exactly to rate every single mob. Not yet, at least.
That's what I want to discuss here.

<Suggestion / Discussion> Balance Monsters stale

Most helpful comment

First, I'm a bit dubious that any universal formula alone will ever work well enough.
Even if flaming eyes had 10 hp, no armor and a speed of a turtle, they would still be extremely dangerous because of the mechanics behind their gaze attack. I mean, sure, that attack might directly bring it's danger level to "deep red", but at that point it is not really the formula, it's the attack that has been manually assigned very high danger rating.

That being said, I think speed should work more as a cutoff, not as simply a multiplier.

I.e. nothing with speed below 90 and without an attack that can easily deal lethal damage (or status effect) within a few second should ever be "deep red".

Inversely, nothing with speed above 130 with any kind of attack that's not easily absorbed by even basic armor should ever be "pale white" (or whatever color basic zombie is).

Etc.

As for horde behavior adjustments ("by them-self vs a part of the horde"), I think the rating should mostly reflect the danger of the mob solo. Simply because it's not really possible to account for horde due to undefined nature of that horde (it can be anything from several basic Z' to dozens of acid/shock/armor piercing monstrosities).

All 14 comments

Is the current formula not enough?

Monster difficulty is calculated from 4 primary factors and then adjusted by a modifier, using these formulas:
difficulty = mod * ( offensive base + defensive base + special base + difficulty from JSON )

    offensive base = ( 1 + melee skill ) * melee_dice * ( melee dice sides + bonus cut damage ) / 25
    defensive base = ( 1 + dodge skill ) * ( 3 + bash armor + cut armor ) / 25
    special base = number of special attacks + 8 * number of emitted fields
    difficulty from JSON = 0 to 40, and represents the danger of special ranged attacks, special defenses like acid spray, 
    or special abilities like a zombie necromancer's revival. 
    Guidelines are explicit in MONSTERS.md and there are multiple examples for every rating.
    mod = HP / 100 + ( Speed - Attack Cost ) / 100 + ( Morale + Aggression ) / 1000 + ( Day Vision + 2 * Night Vision ) / 100

27328

Do you really think it's working as intended when an undead deer with speed of 240 and same-or-better stats overall gets the same difficulty rating as a basic zombie with 70 speed..?

I see, can you propose a modification to that formula that would improve it?

Before I answer that, I think it's important we establish where these ratings even come into play.
From what I understand, they are currently explicitly used for color-coding mob names in the UI, right?

That and NPC evaluation/warnings.

For the record, the woodland wight has a difficulty of 3, and the zombie 4.

Great!The question is, then, what information the player is supposed to get from these color codes.
For example, what does "deep red" mean exactly? The current formula seems all over the place, because deep red might mean anything from "has really high armor, but almost harmless otherwise" (aforementioned skeletal jugg) to "can effectively end your run within a couple of turn by just looking at you (flaming eye).

What I would suggest color codes should mean is "how dangerous is it to try to engage this mob"? With scale going something like:

  • "completely safe",
  • "can damage you in principal, but is easy to avoid/kite/disengage from and/or kill safely"
    ...
    ...
  • "can either kill or severely maim you within seconds if you ever engage it, practically no reliable way to avoid it or kill it before sustaining potentially lethal damage/condition"

The formula used by @anothersimulacrum seems quite complete but maybe it is lacking something.

For example I think that most if not all zombies are too weak by themselves but can potentially kill a new character, when you are unprepared, don't know how to deal with them or are in a horde. Like... Even a lucky shot by a child zombie that get a deep wound can kill you if you don't have antibiotics or can't treat the wound before it get infected...

So it can be hard to measure this but then we can suppose that any enemy kind of have anything that can ruin your day if that get triggered... So we can take into account how likely it is to trigger because it is for example way easier to get hit by a shocker ranged attack and be reduced to 25 speed than getting a deep wound by a child zombie, but the shock will potentially get you killed if there are enough zombies around or at least it will get you more damaged as it can hit you multiple times and damage multiple parts at once, so it isn't the same as a deep wound from a child zombie. So maybe we should review their special attacks as difficulty modifiers.

It seems that the formula used by @anothersimulacrum take lightly their base speed for example. Because a base speed of 200 is probably impossible to outrun, specially if they won't run out of breath but you will. But something bellow 100 will probably be easy to avoid or kite with a bit of experience and knowledge about the enemy.

Maybe we could use a multiplier or a flat sum using their base speed. With the multiplier then it could be 1 when speed = 100 and 0.5 for speed = 50 for example, or sum and subtract 1 for every 10 speed that is above or bellow 100 speed, adding then 2 points for each 10 above 150, etc

First, I'm a bit dubious that any universal formula alone will ever work well enough.
Even if flaming eyes had 10 hp, no armor and a speed of a turtle, they would still be extremely dangerous because of the mechanics behind their gaze attack. I mean, sure, that attack might directly bring it's danger level to "deep red", but at that point it is not really the formula, it's the attack that has been manually assigned very high danger rating.

That being said, I think speed should work more as a cutoff, not as simply a multiplier.

I.e. nothing with speed below 90 and without an attack that can easily deal lethal damage (or status effect) within a few second should ever be "deep red".

Inversely, nothing with speed above 130 with any kind of attack that's not easily absorbed by even basic armor should ever be "pale white" (or whatever color basic zombie is).

Etc.

As for horde behavior adjustments ("by them-self vs a part of the horde"), I think the rating should mostly reflect the danger of the mob solo. Simply because it's not really possible to account for horde due to undefined nature of that horde (it can be anything from several basic Z' to dozens of acid/shock/armor piercing monstrosities).

Feels like regardless of what the solution ends up being, speed should be playing a bigger role in difficulty calculation...
As has been stated, being reliably able to outrun an enemy, especially one that lacks a reliable method of hurting you at range, drastically lowers the difficulty of encountering them.
And, facing off against an enemy that you simply can't under any circumstances outrun on foot should have an even greater impact on their difficulty rating, at least in combination with a high damage output, and especially if it has both high damage and a solid defence, since this would (at least in theory) mean that once it's caught up to you, you're going to be fully dependent on your ability to fight in melee, or alternatively your ability to savescum.

First, I'm a bit dubious that any universal formula alone will ever work well enough.

I think you're misconstruing what "works well enough" looks like. The goal is that the rating is positively correlated with dangerous monsters. In other words when a player sees a monster marked as dangerous, it's worthwhile for them to be careful, and if a monster is marked as not particularly dangerous, it's reasonable to exercise less caution. We're not looking for anything resembling a prediction of "you can escape this encounter unscathed" or "you will definitely be injured fighting this monster", dda is too tactical for that. We're also not looking for a ranking of the different monsters, a higher rated monster being less dangerous than a lower rated monster is not a problem as long as each has an appropriate rating individually.

Also these evaluations are not intended to stand up to deep scrutiny, if there's some trick to taking on one of these monsters, it doesn't adjust the evaluation, because it's intended to be a hint for players that don't know about the enemy in question. If you know better, this evaluation isn't for you.

What would be helpful is calling out any monsters where their rating is a gross mismatch to how dangerous they are for a new player. The callout about the woodland wight seems like it's on point but I disagree about the skeletal juggernaut and spearcat hunter, both are easily lethal if not handled with great care, which is what a high rating indicates. Despite their low speed, a single hit from a juggernaut can put the player in an extremely bad position, making a very high rating worthwhile.

The goal is that the rating is positively correlated with dangerous monsters. In other words when a player sees a monster marked as dangerous, it's worthwhile for them to be careful, and if a monster is marked as not particularly dangerous, it's reasonable to exercise less caution.

That's exactly my overall point.

However, I do believe that both skeletal juggernaut and spearcat hunter present that case of "mismatch".

For skeletal juggernaut, a single hit from it is just NOT going to be more dangerous (on average) than a single from boomer (that can render you blind on the spot) or shocker (that can paralyze you). Skeletal jugg IS dangerous, sure. Just not quite "deep red" level of "dangerous".

As for spearcat hunter, my problem is mostly that it has the same color coding as zombie predator. While being an order of magnitude more deadly.
I think spearcat hunters (and flaming eyes, and a few other mobs) would be better off as a color code one step above zombie predators.

Anyway maybe the ( Speed - Attack Cost ) / 100 isn't enough to accrue their speed because maybe a really fast enemy but with a really slow attack would receive a small modifier. Example:

A 200 speed monster with a 200 attack cost would receive a +0 from the modifier, but with 200 base speed it is almost impossible to disengage or even to flee so it will often become a kill or be killed situation.

Maybe the formula could have a + ((speed - 100) / 100) or something like this.

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not 'bump' or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

This issue has been automatically closed due to lack of activity. This does not mean that we do not value the issue. Feel free to request that it be re-opened if you are going to actively work on it

Was this page helpful?
0 / 5 - 0 ratings