Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop archery damage by 5x and increase archery crit damage by 5x #39203

Merged

Conversation

kevingranade
Copy link
Member

@kevingranade kevingranade commented Apr 3, 2020

Summary

SUMMARY: None

Purpose of change

The recent archery balance overhaul went too far, increasing archery damage to a point where it can reliably take down targets even with marginal hits.

Describe the solution

Significantly decreased base archery damage, but at the same time increased the crit multipliers by the same amount.
This leaves critical hits vs unarmored animals where expected, but greatly reduces the effectiveness of both marginal hits and attacks on armored targets.

Describe alternatives you've considered

I'm still planning on adjusting bows to have a launch force and adjust arrows to convert their momentum to damage onb impact, but that is quite involved and not my priority.

Testing

Existing archery damage tests continue to pass.
I'd like to add some tests establishing that hits against armored foes are ineffective.

Additional context

This is critically lacking in player feedback, the enhanced crirs need to be surfaced to players or they will think bows are worthless.
Weapons and ammo now list a crit multiplier field.

@kevingranade kevingranade changed the title Drop archery damage by 5x and increase archery crit damage by 5x [WIP] Drop archery damage by 5x and increase archery crit damage by 5x Apr 3, 2020
@ghost
Copy link

ghost commented Apr 4, 2020

Is there a rationale behind 5x? From testing this drops (as an example of what I usually use) a Composite Bow with Wooden Broadhead arrows usual damage to somewhere in the region of 5-15 damage which is pretty terrible even if crits will be larger. Maybe something like a 3x drop would strike a better balance between non-crit damage and crit damage?

@kevingranade
Copy link
Member Author

What's your rationale for the base damage being higher?
Ideally in the form of "I expect an arrow fired from a Xlb draw weight bow to be able to penetrate Y".

@ghost
Copy link

ghost commented Apr 4, 2020

Well as it stands we don't really have any established draw weights for each of the bow types. Nor does their exist any useful metric for establishing a bow's lethality relative to its draw weight in real life.

If we're to use the longbow with carbon fiber arrows as a benchmark and say they're more or less representative of a longbow in real life firing a well-made arrow, we might expect it to all but kill a human of average durability (in CDDA ~80HP) in one hit to a vital organ (a crit) or 3-4 hits for significant hits to the torso. This corresponding to 70-90 damage on a crit and maybe 20-30 damage for a solid hit, obviously in real life even a limb hit can be significant but since the player is mostly fighting zombies small figures <10 seem good.

The above assumes that even the broadhead arrows made by the player - which are likely what will be getting used the most - aren't quite up to par with a professionally made arrow. If the above figures still seem fairly powerful the longbow's crafting requirements could also be increased with a makeshift longbow taking its place and having somewhat poorer performance (maybe the selfbow could become a makeshift shortbow?). Using the "good" longbow as a benchmark we could then say the Composite Bow has somewhat higher poundage so will be a tad more damaging but also lose range/accuracy compared to the longbow, etc.

@Shodan14
Copy link

Shodan14 commented Apr 4, 2020

What's your rationale for the base damage being higher?
Ideally in the form of "I expect an arrow fired from a Xlb draw weight bow to be able to penetrate Y".

Didn't someone go through a lot of trouble getting some super rare bow kinetic energy table, spend like weeks going through it and setting the new values? I thought it was based on that.

@kevingranade
Copy link
Member Author

Well as it stands we don't really have any established draw weights for each of the bow types.

Yes we do, every bow has a stated draw weight in the json.

Nor does their exist any useful metric for establishing a bow's lethality relative to its draw weight in real life.

Have you read #37241? That's literally what it did.

Didn't someone go through a lot of trouble getting some super rare bow kinetic energy table, spend like weeks going through it and setting the new values?

Yes, I did. We have some really solid values for momentum of arrows, and we have IMO a really solid mapping of momentum values to "how big an animal can you reliably kill with a crit", but we have zero data on "how many non-critical hits from bow X are required to take down creature Y?"

@dissociativity
Copy link
Contributor

dissociativity commented Apr 5, 2020

This makes a lot of sense especially given arrows more or less bounce off of solid (medieval steel plate) armour, regardless of fancy bodkin tip irl, with maybe a nasty looking but largely harmless dent and absolutely shatter the arrowhead off.

You're gonna wanna always aim for squishy bits, arrows can glance off of the sides of less impressive armour too.

So yeah, many variables are involved in whether arrows are actually effective or just cause small bleeding wounds, or just bounce off, crits simulate hitting vulnerable parts of armour or the body and penetrating far better, it's a good system until we get better injuries in and utilize bleeding more.

@AlexanderBodnya
Copy link

I assume good hit to the torso from composite/compound bow + broadhead arrows should reliably kill human like target in real life (if we assume that the target will not receive any medical help it will bleed and possibly suffer ripped organs such as colon or stomach which is fatal but not immediately), instantly killing the target in case lungs, heart or brain being damaged. I don't have peer reviewed data for it, but I don't see flaws in this logic at the moment.
However, zombie biology somewhat obscure, at least to me. We have skeletal blob enemies, which suggests that blob does not need muscles. We have brainless zombie - blob does not need zombie to have brain to function. Zombie don't have stamina and seemingly don't need to breathe (traveling underwater) so lungs out of the question. Colon and stomach are no value for zombies, and they can't bleed so we can suggest that heart is not essential organ for zombie too. So basically zombie enemies should be invincible to the arrows and small game and even 5.45, because anything that can be damaged by arrow/ .22 is not essential for zombie in no way. They don't feel pain so the only way to kill zombie with arrows is to shoot enough arrows to sever the limbs, which is ridiculous amount and requires elf-like accuracy.

If we assume that zombie is similar to human in terms how much punishment they can take before dropping on the floor (for the sake of damage balancing) I would say three non critical shots should be enough for normal zombie enemy.

@kevingranade
Copy link
Member Author

I assume good hit to the torso from composite/compound bow + broadhead arrows should reliably kill human like target in real life

Yes, which is modeled as a critical hit, which triggers the high multiplier.

However, zombie biology somewhat obscure, at least to me.

My intention is to be both more specific with this and to have it diverge from human anatomy as zombie evolution proceeds. For now assume similar to human.

If we assume that zombie is similar to human in terms how much punishment they can take before dropping on the floor (for the sake of damage balancing) I would say three non critical shots should be enough for normal zombie enemy.

Just like the previous comment, you're simply asserting the outcome you want. Non-critical hits include strikes to arms and legs and torso strikes that don't pierce any organs, which don't justify a takedown after just a few hits.

@AlexanderBodnya
Copy link

@kevingranade fair point about hitting arms and legs. So average adult has following numbers for surface are percentage: 9% head, 36% torso, 36% for legs, 18% arms, 1% genitalia. As we assume zombie has similar to human biology (except hitting genitalia most likely be fatal for human, but nothing for zombie:) ) fatal hits would be in a head and in a torso, which gives us around 45% chance to hit vital body part. However, I don't know how crit in CDDA works, so balancing wise I am not sure how to apply this information. If we assume that each hit which connects is fairly distributed between all body parts killing zombie would require average of 2.1 something hits, maybe three to accommodate for the fact that not all torso hits are immediate death.

P. S. Data about body parts surface area is from wikipedia https://en.m.wikipedia.org/wiki/Total_body_surface_area

P. P. S. I'm not against approach but X5 reduction seems a little too big. Bows stats will be lowered across the board in comparison with 0.D and further damage nerfs could lead to bows being not used at all.

@kevingranade
Copy link
Member Author

balancing wise I am not sure how to apply this information.

The game already handles this distribution, if it's a hit against vitals, that's precisely what counts as a critical hit, if it's not, that means it hit no major organs. The greatly reduced damage only comes into play when you do not hit vitals at all, so the question is how much damage to deal then.

The intended balance point is that they are highly lethal if you hit the vitals, and not at all lethal otherwise. Yes, if you can't reliably get crits with your bow and arrow, you're going to have a bad time, that's working as intended.

@Shibimon
Copy link

Shibimon commented Apr 6, 2020

If i understand the reasoning behind this change right, i still don't get why its applied only to bows and not to all guns and weapons, and maybe explosives too.
I mean:

I assume good hit to the torso from "insert gun or weapon of choice" should reliably kill human like target in real life.

Why a pistol or a spear or anything really could kill on normal hits on limbs or "non-criticals" and bows don't?

@kevingranade
Copy link
Member Author

Because there's an immediate problem with archery balance right now, and less of a problem with guns.

@mlangsdorf mlangsdorf added Game: Balance Balancing of (existing) in-game features. Ranged Ranged (firearms, bows, crossbows, throwing), balance, tactics Items: Archery Bows, crossbows, arrows, bolts labels Apr 7, 2020
tests/iteminfo_test.cpp Outdated Show resolved Hide resolved
@kevingranade kevingranade force-pushed the returne-archery-balance branch 2 times, most recently from 42a8c53 to aefd9fa Compare April 8, 2020 07:30
@wingbrother
Copy link
Contributor

I tested the bows a bit with this patch. Bows become too weak. Critics are extremely rare. The character was made with archery and marksmanship skills equal to 10, longbow and wooden broadhead arrows and still against the zambi mainly goodshot. Any more or less armored target is generally practically invulnerable to arrows in general (checked by a zombie soldier).
I think the problem is that before criticality needed to be critical at 80% of the target’s health, and now 100%. But the pneumatic bolt was just a superweapon)).

@kevingranade
Copy link
Member Author

This pull request has been mentioned on Cataclysm: Dark Days Ahead. There might be relevant details there:

https://discourse.cataclysmdda.org/t/composite-bow-with-makeshift-arrows-bringing-down-skeletal-jugs-intended/23182/19

@wingbrother
Copy link
Contributor

wingbrother commented Apr 9, 2020

repeating crossbow with these changes is useless maximum 4 points of damage from shot, crits or headshots imposible.
Why extract the square root if the shot is good?

damage_mult *= rng_float( 0.5, 0.75 );
damage_mult *= std::sqrt( 2.0 * crit_multiplier );

I think armor pierce of bodkin arrows must be around 6 (pierce clothes/leather)

this change (drop archery damage and increase crit) in current state nerfing bows and nerfing nolinear, need rebalance weak bows and crossbows

@Tamiore
Copy link
Contributor

Tamiore commented Apr 9, 2020

While we are at it, should composite crossbow really be auto-learned?

Makes exactly zero sense, given all other crossbows (both more and less advanced in design) are NOT auto-learned.

@kevingranade
Copy link
Member Author

repeating crossbow with these changes is useless maximum 4 points of damage from shot,

That's fine, they're supposed to be next to useless.

Why extract the square root if the shot is good?

To make good somewhat bridge between "no crit" and "full crit". The specific formula I used leaves default weapons unchanged and doubles the "good hit" multiplier for bows and crossbows, and does something sensible for other values.

I think armor pierce of bodkin arrows must be around 6 (pierce clothes/leather)

I'm not going to crank up bodkin armor penetration until I have proportional armor penetration for it and I have some real-world use cases to compare it with, i.e. as you say a serious bow should probably be able to pierce heavy clothing and light chainmail or leather armor, but not plate mail or a ballistic vest.

this change (drop archery damage and increase crit) in current state nerfing bows

Good, that's the intention, the previous change overbuffed them.

Any more or less armored target is generally practically invulnerable to arrows in general (checked by a zombie soldier).

This is totally intentional, thanks for confirming.

While we are at it, should composite crossbow really be auto-learned?

Sure thing, I doubt I'll do it in this PR, but it will definitely happen.

@Night-Pryanik
Copy link
Contributor

[crossbows] supposed to be next to useless.

But why? They're a valid battle weapon of past ages. They were successfully used to kill enemies.

@dissociativity
Copy link
Contributor

dissociativity commented Apr 10, 2020

[crossbows] supposed to be next to useless.

But why? They're a valid battle weapon of past ages. They were successfully used to kill enemies.

repeating crossbows historically were not used by any military in any capacity as they were near useless as a weapon, they had bolts tipped with poison, the bolt itself would barely pierce the skin if anything, the poison would do all the work for you.

So it's honestly about realistic, it was mainly used for farmers and such for self defense, not really as an effective weapon.

Large ballista sized ones may have been used in military, but that's more a vehicle mounted weapon.

There is the issue however of crossbows being significantly weaker than bows right now, repeating crossbow be exempted of course.

Compound crossbows especially should be more effective.

@wingbrother
Copy link
Contributor

wingbrother commented Apr 10, 2020

You change other ranged weapon too. before the changes it was necessary that the weapon could deal a 40% health for crit, now 50%. And dont forgot about helsing (pneumatic bolt driver) due to these changes, he became super powerful, just smashing zombies to pieces.
And with you changes critical hit or headshot from longbow or simple crossbow again zombie or average NPC impossible, max goodshot. Need 4-6 goodshots for killing plain zombie.
Composite bow can crits plain zombies but need 12 strength.
Monsters have uniform armor without weak parts. Maybe simulate weak points ?

Or at least reinforce goodshots.

Testing additional type of accuracy beetween critical and good hit

} else if( goodhit < accuracy_critical ) {
    message = _( "Weak Point!" );
    gmtSCTcolor = m_good;
    damage_mult *= rng_float( 0.5, 0.75 );
    damage_mult *= std::pow ( 2.0 * crit_multiplier , 0.6 );

If a very accurate shot was made sufficient for headshots, but there is not enough shot power for a crit, then produce a reinforced good shot

P.S.: Test Weak Point now longbow need 2-4 shots for plain zombie nearer to 3-4. Character with all skill 10 from 10-15 distance in most cases need 3-5 shots in total.

P.S.S.: Change bodkin arrows prop_damage to 1.25 until proportional proportional piersing is done. With increased prop_damage more adequate looking agains weak armor target (insects/ zombies cop)

@kevingranade
Copy link
Member Author

They're a valid battle weapon of past ages.

Citation needed, what I've read agrees with what dissociativity said, they were looked down on as being incapable of dealing real damage.

Compound crossbows especially should be more effective.

Not categorically, yes the heaviest modern compound crossbow should certainly be way above the alternatives in damage output, but I went with what I found to be the most typical draw weight, not the most powerful, and same with the compound hunting bow. We can certainly add some more variants, especially if I get around to calculating other stats from geometry and draw weight.

You change other ranged weapon too. before the changes it was necessary that the weapon could deal a 40% health for crit, now 50%.

That's intentional yes, if you have an argument for placing that threshold differently go ahead and make it.

And dont forgot about helsing (pneumatic bolt driver)

Thanks for that, fixed.

And with you changes critical hit or headshot from longbow again zombie or average NPC impossible, max goodshot. Need 4-6 goodshots for killing plain zombie.

Ok? The longbow just isn't that great of a bow. If you just find a recurve bow, or much better a compound bow, you have no problem getting kill shots on zombies.

@wingbrother
Copy link
Contributor

wingbrother commented Apr 10, 2020

What about additional accuracy type (weak point) when player can hit thery accurate but his weapon is too weak for crits ? I make local changes and little field testing see more adequately for arrows with big critical multiplier then plain good hit and give very small change for other weapons.
Weak point give more damage for bows with increasing archery skill.
Now for weak bows we gets a cap, there is practically no difference between an archer with 5 skills and 10 skills.

Locally changed bodkins arrow (wooden and aluminium) (increased prop_damage to 1.25) also see more adequate then broadhead agains lighty armory targets (3-4 max 5-6 armor)

zombie cop longbow broadhead - nearly impenetrable
zombie cop longbow buffed bodkins - 7-8 weakpoint hits
zombie cop have 6 armor

@kevingranade kevingranade force-pushed the returne-archery-balance branch from 108e4fc to e553131 Compare April 10, 2020 07:38
@Night-Pryanik
Copy link
Contributor

Citation needed, what I've read agrees with what dissociativity said, they were looked down on as being incapable of dealing real damage.

Sorry for confusion, I missed the "repeating" part of the crossbows.

@wingbrother
Copy link
Contributor

wingbrother commented Apr 10, 2020

Now it turns out that the bows do not smoothly increase, but either crit or sharply cannot do this and become extremely weak. The changes I have proposed make the change in the strength of the bows smoother. If there is not enough strength for crit but the shooter (any not only archer but also guns) is experienced enough, then the damage from a bow and other ranged weapons increases (shooting at vulnerable points), for a bow a little more than 35% for the rest of the weapon by 15%

weak point hit code
beetween crit and good jit
} else if( goodhit < accuracy_critical ) {
message = _( "Weak Point!" );
gmtSCTcolor = m_good;
damage_mult *= rng_float( 0.5, 0.75 );
damage_mult *= std::pow ( 2.0 * crit_multiplier , 0.6 );

this code tested for my opinion make weak bows more reasonable (they have little power but skilled archer can make precisious shots to weak zones and give adequately more 20-30% damage then less skilled)

impoved bodkins look more adequate alternative for lightly armored targets, but for unarmed targets broadhead give more damage.

bows need balance not only as battle weapon but as hunting weapons too, i see low strength bows more as hunting weapons and maybe substitute battle weapon when you go to hunting and meet enemy.

last thing now we can craft 4 bows (adequate bows): self bow, short, long and composite. Composite need 12 strength and this reserve him for strong characters. Now average character (8-10 strength if pool have 6 stat points and strengh not primary focus) can use max longbow or need to find uncraftable bow. We need or lowering strength requiriment for composite or craftable compound (first compaund made of wood (bow) and steel (mechanisms)).

sorry for editing posts i slighty miscopy code

@Tamiore
Copy link
Contributor

Tamiore commented Apr 10, 2020

Any ETA on merging this into master?
Want to test it out on this weekend, but I'm not sure if I should compile it myself or just wait for the merge.

@anothersimulacrum
Copy link
Member

It's still marked WIP, it'd probably be faster to grab the changes and compile locally.

@kevingranade kevingranade force-pushed the returne-archery-balance branch from e553131 to 37d781a Compare April 10, 2020 19:12
@kevingranade kevingranade changed the title [WIP] Drop archery damage by 5x and increase archery crit damage by 5x Drop archery damage by 5x and increase archery crit damage by 5x Apr 10, 2020
@kevingranade kevingranade force-pushed the returne-archery-balance branch from 37d781a to 2165621 Compare April 11, 2020 06:32
@kevingranade kevingranade force-pushed the returne-archery-balance branch from 2165621 to 7ef732f Compare April 11, 2020 06:45
@ZhilkinSerg ZhilkinSerg merged commit 7bd2498 into CleverRaven:master Apr 13, 2020
@wingbrother
Copy link
Contributor

You forgon about pneumatic bolt driver (helsing) in pneumatic.json

@ZhilkinSerg
Copy link
Contributor

You forgon about pneumatic bolt driver (helsing) in pneumatic.json

No, it is being addressed too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Game: Balance Balancing of (existing) in-game features. Items: Archery Bows, crossbows, arrows, bolts Ranged Ranged (firearms, bows, crossbows, throwing), balance, tactics
Projects
None yet
Development

Successfully merging this pull request may close these issues.