Doing Damage

[quote=“Coolthulhu, post:40, topic:12465”]

Trainwreck hits Wesker 36% of the time, and scores over 50 1% of the time.

This means pure dodging is never a good idea and you always should wear light armor to stop the constant scratches.
This is already the case and it doesn’t work too well. It makes optimal play very uniform - you either wear a light armor and train some dodge or wear a medium armor and train some dodge.[/quote]

No, I mean one hard threshold for scratch/glancing, everything below being a miss.

1: If you really want nudism to be rewarded, just give it a dodge bonus? I think it’s a daft notion myself. Armour exists for a reason, and any armour that doesn’t slow you down should be worn in life as well as Cata.

2: No problem, we can do both, just tweak the thresholds (I’m not kidding when I say this is very easy to tweak and balance). Remove 0-39, you graze on 40-49, you hit on 50. I’ve given all the 50+ scores already, it works out pretty well and hits are well without our goal defined tolerances.

Another problem with "linear scratches" is that we still need a different formula for special attacks.

I don’t believe so, because scratches wouldn’t be a function of the to hit roll (all attacks behave in X way), but a function of the attack itself.

Player Attacks: Weapon (Rapier). Style (Swordplay). Call all tables on roll.

Swordplay: 25-40: Recover (less time lost from miss). 50: Damage Multiplier 1.1, Effect Multiplier = 1, Swordplay_Tech 75: Swordplay_Zorroswish

Rapier: Result table: 40-49 = Damage Multiplier=0.25, Effect Multiplier:0.25 Effects: Stab_Rapier, Bypass_Armour,
50+ = Damage Multiplier=1, Effect Multiplier =1, Effects: Stab_Rapier, Bypass_Armour, Injure_PiercingTable1
75+ = Damage Multiplier=1.5, Effect Multiplier =1.5, Effects: Stab_Rapier, Bypass_Armour, Injure_PiercingTable2, Crit_Tech(10%)

JSON-able and ripe for a template, on a weapon by weapon basis. Set your threshold, set your effects, set your martial art style.

For any special attack, this can work the exact same way.

Hulk Smash:
25 (doesn’t have to be 40, or even a 10): Whiff: Player knocked over where they stand, takes half damage.
50: Connect: Player knocked flying and prone.
75: Home Run Hulk: Player knocked 3 map tiles away and knocked senseless for a few rounds.

Any extra checks, like Dexterity checks to resist being knocked prone or to land safely can be called as part of resolving the attack itself, but the core attack roll is unchanged.

In reality multiple attacks tend to be one "compound attack".

Same as in Cataclysm then? Unless a cat has successfully pounced on you, chances are high that it won’t be using its claws to rake at you. If a dog’s hanging off your arm, it’s probably shredding you with its claws as secondary concerns. There are comparatively few creatures that attack multiple times for the player’s one “tick”, and those that there are can be assumed to represent either a drastic speed advantage or an unusual and difficult to defend against attack form (like vine tendrils).

So half the dodge isn't much worse than 100% of the dodge? That IS a problem.

Not at all, it’s the direct consequence of what you want from this system. A character with 10 Dexterity and 5 Dodge has a 15 [Dodge], halve that and they effectively have a 7.5[dodge] (if you want to make Dexterity overly powerful, have it apply to multiple opponents and they’ll have a 12.5[Dodge] and never fall below Stat). The difference between a 15 [Dodge] and a 7.5 [Dodge] against a 2 skill enemy is a 19% chance of hitting (50+) versus a 38% chance of hitting. 1.9 hits out of every 10 vs. 3.8 hits out of every 10.

The only way you can have it that halving dodge chance does become “much” worse is to make high dodge far more punishing than it currently is, and that’s in direct opposition to our design goals.

At most, we see a Wesker going from 1% chance of being hit by one outclassed enemy up to a 3% chance and a 7% graze chance from the second outclassed enemy. That’s as extreme as we will allow, the formula works explicitly to avoid the heavy normalisation of results.

It's enough that being grabbed sucks hard and being in pain sucks even harder.

Fix the core issue, fix the emergent issues. This formula stops pain as it currently functions from being a death penalty (I’ve already announced my desire to be rid of it entirely and make it a status effect, of course), and being Grabbed becomes a set -3 penalty which has predictable, linear results.

I'd prefer dexterity allowing more dodges, but skill allowing better dodges.

Really? I would have thought the opposite. In your example, High Dexterity means that a character is always and forever better at dealing with one of the more dangerous situations (so long as they don’t stub their toe).

Low Dexterity means bad dodging in general, and worse “capped” dodging. 4 Dexterity + 10 Dodge is 14, maximum.
High Dexterity means good dodging in general. 14+10 Dodge is 24.

If we have [Dodge Does Not Decrease], then our slow, low Dexterity guy cannot learn to be great against high accuracy enemies (20 Accuracy Hunters hit 85% of the time). They will need to rely on the stats they gave up points in dexterity for in order to succeed.

They can, however, improve against low accuracy “mobs of enemies”. Mobs are a very common hazard, and as the player improves then their minimum dodge score increases against this common threat up to 10, no matter how many enemies they face.

Our quick, high Dexterity guy can specialise against taking on high accuracy enemies (20 Accuracy hunters hit 71% of the time), but they do not start out and stay great against hordes (biggest early game threat), and their minimum dodge score also approaches 10 against the hordes same as the low dexterity character (while offering low grade benefits against smaller gangs).

Both characters get better at dealing with low grade threats over time.
The difference between characters remains within tolerances, but the high Dexterity character benefits from their stat investment against all challenges.

But zombies generally don't dodge well.

While zombies are far from the only enemy, this fact doesn’t actually matter. Just because the formula doesn’t punish low stats very hard doesn’t mean it doesn’t offer clear advantages.

Against 0 Dodge, 14 Perception, 0 Skill gives almost guaranteed accuracy (10% scratch, 87% of 50+), 4 Perception gives 10% scratch, 62.5% chance of 50+. They’re not “dodging” you, you have serious vision problems and are just missing.

HP damage to player generally doesn't mean much. It's the pain which kills.

As I say above (I think? Honestly my offspring lost my first attempt at this post), pain is something we can and should be improving as well (minor bruises should not cause over 5 pain regardless of quantity), but should be a lot less lethal in this system even now.

If you really want nudism to be rewarded, just give it a dodge bonus? I think it's a daft notion myself. Armour exists for a reason, and any armour that doesn't slow you down should be worn in life as well as Cata.

I don’t mean just clothing, I mean light armor.
Thick clothing that protects or medium armor that grants immunity to normal attacks is optimal right now.
And it isn’t too good. Excusing this with realism doesn’t fix it.

Same as in Cataclysm then?

No, unlike Cataclysm.
Like I mentioned, 2 attacks are 2 attacks and that is what matters here. If dodge gets halved after the first attack, it doesn’t allow properly dodging multiple attacks.

The only way you can have it that halving dodge chance does become "much" worse is to make high dodge far more punishing than it currently is, and that's in direct opposition to our design goals.

Or by getting rid of the halving and making it linear instead.
That way it would be more scalable and not break apart as soon as it is required not to break apart.

Fix the core issue, fix the emergent issues.

The further you go into “x will surely fix the issue at hand, then y will fix the new issue”, the less accurate all the predictions become and the less reliable the fixes are.

I would have thought the opposite. In your example, High Dexterity means that a character is always and forever better at dealing with one of the more dangerous situations (so long as they don't stub their toe).

And in your example a character with lower dexterity doesn’t get enough dodge to take on hulks (or hulks get weak enough that it doesn’t matter, depending on balancing).
Armor vs dodge can be a choice against groups, but it isn’t one against special abilities.
Meaning that my idea is having to pick dex if you specialize in dodging and your idea is having to pick dex if you want to seriously use dodging for any purpose.

they do not start out and stay great against hordes

Not an argument for your side, since they aren’t great against hordes in neither option.

They're not "dodging" you, you have serious vision problems and are just missing.

Explaining things with “you’re actually a total cripple who blunders about in broad daylight” is pretty bad for suspension of disbelief.
How does our cripple read if he can’t see something as big as him well enough to hit it with a stick?
How does he tell apart zombie from a mannequin?

pain is something we can and should be improving as well (minor bruises should not cause over 5 pain regardless of quantity), but should be a lot less lethal in this system even now.

Compound fixes should be applied in such an order that on every point in time the improvement is visible and defined.
If pain is to be fixed, it needs a good idea of a fix. It can’t be assumed to be fixable otherwise.
And even if it is fixable, every extra step in “fix chain” is a bad thing. If a fix needs more fixes to work, it greatly decreases its viability.
Often a partial fix is better than a “it will be complete if we add x” change that doesn’t fix the problem or exchanges it for another.

I don't mean just clothing, I mean light armor.

Well, that’s fine then. Double encumbrance penalties. Light Survivor Suit: -3 Dodge score (15/5)
Kung Fu outfit: 0 Encumbrance, fairly good protection against any scratch damage.

Tangible benefit to wearing light, non-restrictive clothing works out at a few % extra to dodge over armour. Armour is still probably better to wear, but it is not without tradeoffs, as it basically is at the current encumbrance.

No, unlike Cataclysm.

Oh? Which big cat reliably attacks twice per round? I was referring to the fact that cat attacks are generally “you dodge the whole animal”. Anything that legitimately attacks twice per round should be something that is either drastically faster than the defender (which is something that is logically hard to defend against), or something that has a genuinely difficult to handle natural attack, like a mutant striking with their weapon, then striking again unexpectedly with their tail.

In any example where you avoid a mutant’s two attacks easily would be better modelled by actually stepping out of range when they tried to attack.

Or by getting rid of the halving and making it linear instead.

Alright, let’s go with: -2 penalty for each additional enemy or attack beyond the first. It’s a lot more dangerous for low skill level characters, and less dangerous at high skill levels, and larger groups are drastically more dangerous than the divide-by option.

And in your example a character with lower dexterity doesn't get enough dodge to take on hulks (or hulks get weak enough that it doesn't matter, depending on balancing).

It’s a little strange that “balance” here appears to be ensuring that every character can successfully dodge tank an end-game threat. Every character should have an increasingly likely chance of dodging the hulk as they advance in skill, but not every character should have “reliably dodge hulks in melee” as their primary strategy.

1: Strong characters can survive taking damage from the hulk, carry the bulkiest, most protective armour they can, and use heavier weapons that help take down the hulk faster and more easily.
2: Perceptive characters hit more often against hulks, getting more chances to crit and thus cause a special effect, like stun.
3: Intelligent characters hit more effectively against hulks, getting more chances that their crits will cause a special effect, like stun.

Heck, this isn’t a fighting game, there’s nothing to say that every character should even be able to reliably take down hulks in melee at all, so long as every character can reliably take down hulks in general (car, shotgun, trap, high-powered taser, kung fu), or simply evade them.

Explaining things with "you're actually a total cripple who blunders about in broad daylight" is pretty bad for suspension of disbelief. How does our cripple read if he can't see something as big as him well enough to hit it with a stick? How does he tell apart zombie from a mannequin?

Suspension of disbelief? 4 Perception is half that of an average human, those numbers must be low for a reason. They don’t necessarily terrible eyesight, but they do clearly have problems with depth perception, judging distance in general, predicting vectors visually, and determining good opportunities to strike at their targets. They may also have issues knowing exactly where their limbs are in relation to their body.

Ultimately how their perception score is low is up to the player’s imagination, but problems don’t have to crippling in day to day life to cause severe problems in a situation like fighting for your life against a murderous rage abomination.

Compound fixes should be applied in such an order that on every point in time the improvement is visible and defined. If pain is to be fixed, it needs a good idea of a fix. It can't be assumed to be fixable otherwise. And even if it is fixable, every extra step in "fix chain" is a bad thing. If a fix needs more fixes to work, it greatly decreases its viability. Often a partial fix is better than a "it will be complete if we add x" change that doesn't fix the problem or exchanges it for another.

Unfortunately it’s inevitable that we run into this problem here, we’re dealing with a massive, fundamental change to the to-hit calculation. We agree that it needs fixing, but it may even need to be handled from the top down “Fix damage, fix pain, fix to-hit.”, or as a complete whole to something that works well enough as a foundation and can be improved from there.

My ultimate goal and suggestion in this thread is “remove the pain stat entirely”. Pain is better modelled in my opinion as a body-part specific status condition (your body naturally releases endorphins to overcome extreme pain, pain fades quite quickly when the aggravating condition is resolved), and any long term, severe damage to the body that might cause slowness and the shutdown of bodily functions be a result of trauma damage instead.

In the interests of a patch that does the job, however, what do you think about “If Current Pain > “Damage dealt x2” Then do not increase pain?”

This is a very simplistic fix, but it should mean any low level damage causes minor, easily withstood pain rather than an endless pain-spiral to death, while your arm being bitten off by a grue isn’t really going to get that much worse because you stepped on lego.

Anything that legitimately attacks twice per round should be something that is either drastically faster than the defender (which is something that is logically hard to defend against), or something that has a genuinely difficult to handle natural attack, like a mutant striking with their weapon, then striking again unexpectedly with their tail.

Realism excuse is good for things that have alternatives. Here the alternative is “dodge stops working vs. zombie dogs or hostile humans with light weapons”.
For example, a fist. It can easily double-move you, even if you’re also unarmed.

It's a little strange that "balance" here appears to be ensuring that every character can successfully dodge tank an end-game threat.

It’s strange that characters should be able to take on monsters in combat?

The only other option is relying on cheese. Either the character can stand up to hulks at some point or has to cheese them every time. There is no “but ranged” - hulks are too fast and too tough for that. There is no “but armor” - hulks are specifically made to be armor piercing, since otherwise armor is just too good.

1: Strong characters can survive taking damage from the hulk, carry the bulkiest, most protective armour they can, and use heavier weapons that help take down the hulk faster and more easily.

More like get crippled by pain and breaking armor, then die.
Heavy weapons aren’t heavy enough for hulks, unless you are an endgame character.

2: Perceptive characters hit more often against hulks, getting more chances to crit and thus cause a special effect, like stun.

So dependence on cheese.
The problem here is that it unless you have a pile of rubble or a car wreck to use for cheese, huge crit chance or reliable source of knockback, this will get you smashed. And if you can’t land well because you didn’t take enough dexterity, you will get seriously disabled by the landing.

Heck, this isn't a fighting game, there's nothing to say that every character should even be able to reliably take down hulks in melee at all, so long as every character can reliably take down hulks in general (car, shotgun, trap, high-powered taser, kung fu), or simply evade them.

It’s not even about hulks and nothing else, hulks are just a good example on why more chances to damage are less useful than more chances to avoid damage.

4 Perception is half that of an average human, those numbers must be low for a reason.

Low? That’s well within sane range. It’s not a hallucinating one-eyed sad sack with every possible vision disorder that doesn’t cause total blindness. It’s just someone with bad perception.

They don't necessarily terrible eyesight, but they do clearly have problems with depth perception, judging distance in general, predicting vectors visually, and determining good opportunities to strike at their targets. They may also have issues knowing exactly where their limbs are in relation to their body.

Still lacks a good excuse for going from “bad perception” to “can’t reliably strike a human-shaped thing with a stick”. It would look like Morrowind combat - weapon passes through target, but somehow manages to miss.

Unfortunately it's inevitable that we run into this problem here, we're dealing with a massive, fundamental change to the to-hit calculation. We agree that it needs fixing, but it may even need to be handled from the top down "Fix damage, fix pain, fix to-hit.", or as a complete whole to something that works well enough as a foundation and can be improved from there.

Fixing damage shouldn’t break pain, fixing pain shouldn’t break to-hit.
Damage doesn’t really need much fixing.
Pain needs a fix, but it could be done separately.
To-hit can be done without fixing pain first, just needs a more careful approach. Something that depends less on stats and speed and more on skills and equipment.

Realism excuse is good for things that have alternatives. Here the alternative is "dodge stops working vs. zombie dogs or hostile humans with light weapons". For example, a fist. It can easily double-move you, even if you're also unarmed.

Dodge never stops working in this case. The probabilities are right there, you will continue to have a chance to dodge each incoming attack, you will never, ever have the binary “dodge everything/nothing” case of the current system. Why don’t you actually define parameters on how often you think hits should be occurring and we can see if this is actually a problem?

It's strange that characters should be able to take on monsters in combat?

Frankly, yes. This is a sandbox survival simulator, not a combat game. Survival does not entail domination, and a player is not restricted to combat only methods of dealing with any creature. It is not necessary to ensure that every character archetype can defeat every enemy in combat.

Squeeze some pheremones, run it down with your car, nuke it from orbit, shoot it repeatedly while riding away on a bicycle, dig a two hundred square long series of spike pits, lead it into mutual enemies to let it clean house for you, eat a marloss berry, or just avoid it.

So dependence on cheese.

Dodge is cheese. It’s a 100% damage/effect/everything ignore button that works on any melee attack. The only difference between a status effect that stops an enemy attacking for 1 round 50% of the time and a dodge chance of 50% is flavour text, and that you have to actually hit the monster to give it a status effect.

So beating a hulk, by design, needs cheese or cheese, and beating it is apparently mandatory, why not stop pretending and just add a cheesy effect to strength and high damage ranged weapons? At least that’s balanced.

But again, define your parameters and let’s see if there’s actually a problem.

Given that a tank uses its special ability once per X, how many X, minimum, should any character character with 10 dodge be expected to survive against it on average?
How many X should a newbie character with 0 dodge be expected to survive against it, on average?
How risky should fighting a hulk be for an end game character? What is an acceptable chance for bad things to occur?

It's not even about hulks and nothing else, hulks are just a good example on why more chances to damage are less useful than more chances to avoid damage.

Mathematically speaking, more damage is a chance to avoid damage.

If you kill target in five rounds, and have a 25% dodge rate, you will take 3.75 hits during the five rounds of combat.
If you kill target in ten rounds, and have a 50% dodge rate, you will take 5 hits during the ten rounds of combat.

Low? That's well within sane range. Still lacks a good excuse for going from "bad perception" to "can't reliably strike a human-shaped thing with a stick". It would look like Morrowind combat - weapon passes through target, but somehow manages to miss.

This is well within “sane” range, in that it is the lowest possible value that can be started at in character creation. Much like a 4 strength individual is so weak they cannot carry even so much as a small sack of animal feed distributed about their person without being overloaded, a 4 perception character is similarly “reasonably deficient”.

Ignoring the fact that in Cataclysm “using a stick” would actually severely hurt your chances over fighting bare handed, they can reliably strike a human-shaped thing with a stick? They have a 72.5% chance of making sufficient contact to cause damage against a moving humanoid target that, while not actively trying to evade you, is moving around actively trying to injure you. 3/4 is a passing grade, if not stellar, and is pretty good considering they’ve effectively never thrown a punch in their life before.

In an abstract combat situation there are many reasons why two combatants might not successfully damage one another in the space of any particular six seconds.

Fixing damage shouldn't break pain, fixing pain shouldn't break to-hit.

That’s the idea, yes. Worst case, if you fix from the top down like that, it’s easy to avoid breaking things.

To-hit can be done without fixing pain first, just needs a more careful approach. Something that depends less on stats and speed and more on skills and equipment.

For what it’s worth, this hit formula shouldn’t break pain even if implemented as is with no changes, but it certainly would change the game. Any system change, regardless of what it “depends on” under the hood, that successfully meets the goals you’ve given to stop dodge from being almost guaranteed against any enemy 1-2 skill weaker, means that pain is going to get applied a lot more often to characters that currently can take out most of the game’s enemies without any risk at all.

It is not necessary to ensure that every character archetype can defeat every enemy in combat.

But it is necessary to ensure that every non-challenge character can be viable without relying on exploits or badly balanced mechanics.

Dodge is cheese.

What’s next, swords are cheese because they are good?

The only difference between a status effect that stops an enemy attacking for 1 round 50% of the time and a dodge chance of 50% is flavour text, and that you have to actually hit the monster to give it a status effect.

And all the connected features like on-dodge triggers, stamina costs, requirements, mobility, special attacks etc.
So basically they are nothing alike, except for some far fetched “if you kill a monster it can no longer attack so destroying the planet with a death star is like not being seen”.

How risky should fighting a hulk be for an end game character?

End game character should be able to beat up a hulk with one dose of adrenaline without a real risk of dying.
Mid game character should be able to beat up a hulk with one dose of adrenaline, a handful of stims (say, 3 cocaine) and a dose of strong painkillers taken ~10 turns before engagement. Once again, this should be without risk of death, but with risk of heavy damage.

Mathematically speaking, more damage is a chance to avoid damage.

Not true.
Mathematically speaking, there is some correlation between those two, but there is no equality sign (“is”).

For example, only really broken characters abusing badly designed mechanics (niten+wakizachi, tiger+hydraulic etc.) and cheesy tactic users (kiting on wrecks on rubble) can expect to kill a hulk in melee without getting smashed at least once.

Ignoring the fact that in Cataclysm "using a stick" would actually severely hurt your chances over fighting bare handed

Not true

They have a 72.5% chance of making sufficient contact to cause damage

Using the linear scaling or threshold scaling?
Because if linear scaling, then it doesn’t count until somewhere around 30% damage.

What's next, swords are cheese because they are good?

I’ll say it again. Dodge and stun are fundamentally similar.

50% Dodge: Enemy attacks, wasting their turn to deal no damage.
Result: Enemy has dealt no damage for 1 turn.
50% Stun: Enemy does not act, wasting their turn to deal no damage.
Result: Enemy has dealt no damage for 1 turn.

While there’s a few key differences, at their heart they’re passive and active methods of achieving a similar result: 50% chance of the enemy doing nothing useful with their turn. Saying that one is unfair/cheesy while the other is not makes no sense to me.

End game character should be able to beat up a hulk with one dose of adrenaline without a real risk of dying. Mid game character should be able to beat up a hulk with one dose of adrenaline, a handful of stims (say, 3 cocaine) and a dose of strong painkillers taken ~10 turns before engagement. Once again, this should be without risk of death, but with risk of heavy damage.

Okay, great.

Our minimum stat end-game character takes Adrenaline.
Their Strength is 5, Dexterity 3, Perception 1.
Their skills are all 10.
Their speed is 140, they have 15 bashing/20 cutting or so, with encumbrance in the 20s. Their dodge, after encumbrance, is 11.
Though end game characters should have access to them, we’ll ignore Martial Arts.

They shoot the hulk with a shotgun (Remington with 00 Shot, 50 damage) before it enters melee range, drop their gun and pull out their Diamond Broadsword (52 base damage) as it comes into range.

Assuming the Hulk attacks first and parries do not occur, Hulk’s 5 Accuracy has a ~33.5% chance of rolling a 50+ (aka: hitting) with their special attack and for all future, normal attacks.

Player with 10 skills, a +2 sword and 1 Perception (assuming we’re using this model for now) has an 11 accuracy. Hulks have 0 Dodge, so they miss 1 hit in 5 at <50 (I’m assuming scratch damage is a miss for this exercise), and roll 75+ “critical hit” 55% of the time.

I assume you’re more familiar with the particulars of damage calculations, but I would expect the 0 stat survivor to be able to kill the hulk pretty reliably before their special attack recharged, definitely after incorporating things like weapon specials and martial art styles.

Minimum stat character #2 takes Adrenaline, 3x Cocaine, and some Poppy Painkiller. Their stats are 8/4/0/5 (I don’t actually use any of these drugs in-game, so I took them off the wiki and a brief check feel free to jump in if I’ve got the stats especially wrong).

Mid-game character and their 5 skill means 9 Dodge, assume 8 dodge and they’re wearing a light survivor suit and a fire suit for 12/18 protection. Hulk has a 43.5% chance of hitting them.
5 Perception means that the player has 9 Accuracy after encumbrance, so they hit 3/4 of the time, and of those hits, 2/3 of them are criticals.

Assuming again, no martial arts and a plain broadsword, I’d expect them to survive the encounter, particularly with a shotgun hello, but they may get tossed two or, at the outset, three times before the hulk fell down.

Generally any other survivor could expect to be doing better than these 0 stat examples, so if you think stats to accuracy might need to be tuned down to meet these levels more closely then that can be the next tweak, otherwise if survival here is too low then we could try to increase the value of skills to the rolls (1.5 x skill would give an 8 Accuracy Hulk, and an 18 base dodge endgamer with 3 Dex).

For example, only really broken characters abusing badly designed mechanics (niten+wakizachi, tiger+hydraulic etc.) and cheesy tactic users (kiting on wrecks on rubble) can expect to kill a hulk in melee without getting smashed at least once.

Hm. Honestly I avoid the more exploitative things like those you’ve mentioned out of a misplaced sense of fair play, but even Krav Maga or Dragon Style I’d be expecting at least a decent chance of victory without a flying lesson. The more damage the better, of course, since there’s fewer chances for stun not to proc.

Not true

Really? Heavy stick appears to be -3 to hit to me. Aren’t fists still +0?

Using the linear scaling or threshold scaling? Because if linear scaling, then it doesn't count until somewhere around 30% damage.

I changed to “one hard threshold for grazing” at 40+ to better match with your preferred design, so this is counting Graze at 40+, and full damage hit at 50+. If we discount graze entirely, it’s a 62.5% chance for full damage against a zombie (and a 56% against Skeleton Dogs).

Even if they had 0 pereception, the worst possible odds against a no-dodge zombie would be hair over 50/50, since that’s just a 1D100 with no modifiers, and a 44.5% chance against skeleton dogs.

While there's a few key differences, at their heart they're passive and active methods of achieving a similar result: 50% chance of the enemy doing nothing useful with their turn. Saying that one is unfair/cheesy while the other is not makes no sense to me.

It’s not the stunlocking alone, it’s the car/rubble+knockback/stun combo that makes it impossible for the hulk to get even a single swing. This is a foolproof method of taking strong enemies on - one that may get fixed if someone decides to give hulks immunity to stun/knockback, which can happen since it’s a good idea.

Similar to how crit rate nerf around 0.C made "knockback-lock"ing not guaranteed and prevented 5 skill characters from safely dispatching hulks and jabberwocks unarmed. Actually even tank bots if you managed to corner them.

Dodge and stunlock aren’t similar. Stunlocking must be continuous. If you fail the stunlock for long enough to get smashed, it’s a failure. With dodge, you only need to dodge the special attacks, not all attacks. And dodging a special attack puts it on cooldown.

They shoot the hulk with a shotgun (Remington with 00 Shot, 50 damage) before it enters melee range, drop their gun and pull out their Diamond Broadsword (52 base damage) as it comes into range.

That’s a giant simplification.
It may even work, but actual results would barely correlate with those on paper.

Honestly the only thing that really needs to match is the part where everyone (not counting intentional challenges like sum of str+dex+per below 24) can take on strong threats without relying on things that zombies have no hope of countering, like vehicles.

Really? Heavy stick appears to be -3 to hit to me. Aren't fists still +0?

Fists have really low damage output without skills. Sticks often miss, but zombie-brand zombies are hard to miss.
Stick is a good weapon for rushing mansions. Once you enter the mansion, a plank may be better due to its to-hit letting it actually crit (and take on dogs and children), but against static targets that -3 doesn’t hurt much.

Even if they had 0 pereception, the worst possible odds against a no-dodge zombie would be hair over 50/50, since that's just a 1D100 with no modifiers, and a 44.5% chance against skeleton dogs.

Are you counting in the hidden size modifier to dodge? It’s +3 for small targets as far as I recall.
The game has a bunch of those badly documented (and designed) “features” that someone thought would make fine additions. There is also a +(speed/80) bonus to dodge for monsters only and player penalty to dodge from high max strength and bonus for low.
I’ve been removing those hidden modifiers and moving them into explicit values, but there are still some of them left.

That’s a very low scaling. Even assuming that it’s just the 3 point difference.
I’d expect something like 5% difference in success chance per point of dodge. Could be lower, could be more normal (in “normal distribution” sense), like 10% for first point, 2.5% for tenth point of difference, but ~6% bonus/penalty for 3 points of difference would turn dodge into something that is only used against unblockable attacks. Like now, where you only really use it against hulks, predators and barfers, because armor is better for the rest.

That's a giant simplification. It may even work, but actual results would barely correlate with those on paper.

Honestly the only thing that really needs to match is the part where everyone (not counting intentional challenges like sum of str+dex+per below 24) can take on strong threats without relying on things that zombies have no hope of countering, like vehicles.

Sure, there’s way too many potential variables to do much more than eyeball it. All I can really tell you is that at 10-15 skill (pretty reasonable for an 8 Dexterity, late game character not specialised in it) has a pretty good chance of avoiding launches and a pretty good chance of dealing a bunch of damage to the hulk and killing it.

Are you counting in the hidden size modifier to dodge? It's +3 for small targets as far as I recall. The game has a bunch of those badly documented (and designed) "features" that someone thought would make fine additions. There is also a +(speed/80) bonus to dodge for monsters only and player penalty to dodge from high max strength and bonus for low. I've been removing those hidden modifiers and moving them into explicit values, but there are still some of them left.

That’s a very low scaling. Even assuming that it’s just the 3 point difference.
I’d expect something like 5% difference in success chance per point of dodge. Could be lower, could be more normal (in “normal distribution” sense), like 10% for first point, 2.5% for tenth point of difference, but ~6% bonus/penalty for 3 points of difference would turn dodge into something that is only used against unblockable attacks. Like now, where you only really use it against hulks, predators and barfers, because armor is better for the rest.

Oh fer crap’s sake. There’s secret modifiers too?

Okay, whatever, fine. Size actually makes sense, so +3 for dogs means 5 for skeleton dogs.

For reference, the formula’s current results work out at approximately 2.5% per level:

0 vs 0: 51% chance to hit.
0 vs 1: 47% chance to hit.
0 vs 2: 44.5% chance to hit.
0 vs 3: 42% chance to hit.
0 vs 4: 39.5% chance to hit.
0 vs 5: 37% chance to hit. Skeleton Dogs 2 skill + 3 size.
0 vs 6: 34.5% chance to hit. Or maybe this one?

5 vs 4: 53.5% chance to hit.
5 vs 5: 51% chance to hit.
5 vs 6: 48.5%

This keeps things so that our 0 skill/stat challenge character can hit our 15 dexterity Wesker with a 50+ result ~1% of the time.

If you’re happy with this not being the case (I am 100% down with ignoring 0 stat, 0 skill survivors as a baseline and going with 4 stat), then we can increase the value of Dodge skill in the formula.

[Evade] = (Dodge Skill x 1.5) + Attribute + bonuses.
[Accuracy] = (Weapon+Melee Skill) x 0.75 + Attribute + bonuses.

1D100 + (3DAccuracy + Accuracy) - (3DEvade + Evade)

Round up 3DX (3D1.5 becomes 3D2), round down +X (+1.5 becomes +1).

So a 10 Skill survivor with 4 [Stat] has 19 base Evade. Against a 5 Skill hulk (8 Accuracy, rounding up) the hulk has a 23.5% hit chance, a 3.5% crit chance.

Likewise, a 4 Stat survivor with 0 skill against monsters. Chance to roll at least 50/Chance to roll at least 75

Skill 0: 62.5%/37.5%
Skill 1: 57%/32%
Skill 2: 53.5%/28.5%
Skill 3: 49.5%/24.5%
Skill 4: 45%/21%
Skill 5: 42%/17%
Skill 6: 38.5%/13.5%
Skill 7: 34.5%/9.61%
Skill 8: 31%/6.5%
Skill 9: 27%/ 4%
Skill 10: 23.5%/2.43%
Skill 15: 7.3%/0.15%
Wesker (survivor with 10 skill, 15 stats): 1.45%/0.003%

So around about 4% per skill level, with bonuses, stats and penalties made less extreme compared to Dodge.

Adding two skill levels:

Skill 0: 70%
Skill 1: 64.5%
Skill 2: 61%
Skill 3: 57%
Skill 4: 53.5%
Skill 5: 49.5% (and you can see it mirrors 0 skill, so +2 skill is 7.5% increased hit chance.

We can increase Dodge further to 2x value if you’d prefer it. That should increase the difference per skill level up to 5% as you first mentioned, but I think this one works out okay.

Regarding specialisation (4 Dexterity is the opposite of specialisation). A specialised dodge focused 14 Dex character at 10 Dodge who does not encumber themselves at all should be virtually immune (~1/1000 chance) to one ordinary zombie so long as they are awake, in good health, and alone. Dodging takes stamina, so exhaustion penalties will presumably stack up eventually, and any encumbrance or pain is likely to drastically increase their chances of taking a hit.

That’s a big block of values.

Would be better to drop some of the rolls and make it more manageable.
For example, drop the dodge roll and turn it into a static value (ie. only roll accuracy).

If the chance could be expressed as a function of ability difference (accuracy - dodge), it would be really clean and manageable.

A sum/difference of any number of identical dice can be simplified to a normal distribution. Normal distributions are easy to work with.

Or even better, a formula like

Where possible, simple formulas are preferable. Rolls are only simple when they do not interact with other rolls.

Your results already show that roll sums and differences are hard to design without a table of values, while also resulting in values relatively close to linear.

Honestly I’m much more familiar with designing tabletop games, so I “think” in dice. If you know some way to express it better through code, by all means do whatever works best.

But yeah, to get these numbers more simply, why not just turn it into a 1D100 roll and have Acciuracy-Dodge effect the goal numbers?

-1 chance is 48.5 vs 51, so:

Scratch goal = 41 + 2.5(Evade - Accuracy). Max 96
Goal = 51 + 2.5(Evade - Accuracy). Max 100.
Critical Goal = 75 + 2.5(Evade - Accuracy).

Works out at a 2.5% difference for each 1 point difference between Accuracy and Evade, and since Dodge and Accuracy are still worked out the same way:

[Evade] = (Dodge Skill x 1.5) + Attribute + bonuses. (rounded up)
[Accuracy] = (Weapon+Melee Skill) x 0.75 + Attribute + bonuses. (rounded up)

Each point of actual skill difference should work out at a linear 4ish percent.

Edit: This is why I shouldn’t maths before breakfast. Obvious mistake fixed, the way I had it was backwards.

Linear vs normal both have their advantages and disadvantages.
Normal distribution is comparable to rolling a giant bag of identical dice, summing them up and dividing by number of dice. If you could roll an infinite number of dice that way, the probability distribution of the rolls would be a normal distribution with 2 parameters (mean and standard deviation) depending on number of sides. anydice shows it pretty well - if you do something like 10d6, you’ll get something close to a normal distribution. anydice even shows the parameters of the distribution if you pick “graph” and “normal” - the first one is mean, the second one standard deviation.

Normal would handle extreme cases better, but could be worse at (ironically) normal cases. For example, linear would require a strict cap or allowing 100% miss chances, while normal would still allow some tiny chances.