Closed chaosvolt closed 1 year ago
I dislike one thing about the alternative formula: You need to calculate HP damage before AP arpen. I'd rather see it as all 3 values (HP damage, AP damage, AP arpen) calculated from one value.
This is presumably to be applied relative to FMJ or JHP depending on which bullet type the +p ammo is stated to be, which will determine whether it has arpen as well or not.
Overpressure HP would need some different formula. For now, overpressure should have damage of HP and arpen of AP.
Should .36 and .44 cap and ball ammo, or other pre-cartridge lead-only rounds, have any arpen at all?
Not sure, but I'd lean towards treating them as if they were HP.
I've yet to figure out a sensible method for balancing AP variants of rifle-caliber rounds relative to their FMJ variant.
Hard to answer at the moment. FMJ is already "the AP variant", so AP-AP would need something extra. I'm thinking about introducing scaling armor (ie. for example, armor that adds 30% of attack's raw damage to its own resistance) and this would make AP more useful. I'm also adding proper support for armor multiplier right now. But until all common pistol rounds are good, it's not very important.
5.7x28mm and .38 Special run into an interesting problem: do I count 20 as first tier (33.333% increase) or second tier (22.222 increase)?
It exposes some problems with your tier system: it has hard thresholds which break around 9 and 0 and depends on some "earlier value". Dependence on earlier value is hard to fix, but the tiers should be easy to replace with a formula. For example https://www.wolframalpha.com/input/?i=n+*+%281+%2B+%2840+-+n%29+*+0.01%29 with a note that it's only for <40 damage. For now, compare them against "neighbors" and see where it belongs.
Should .30-06 be buffed slightly to differentiate, or 7.62x51mm nerfed?
This will require looking at guns that use them. The one with better guns (burst fire, mods) or worse availability should be stronger.
Should buckshot be treated like hollowpoints and thus subject to a damage bonus over slugs?
Yes. Until there are HP slugs, having buckshot be HP with lower range is fine.
Apologies for the delay on this, internet's finally back.
I'd rather see it as all 3 values (HP damage, AP damage, AP arpen) calculated from one value.
That was what I was trying to do via rolling damage and arpen into a single combined value that I tentatively labeled Functional Damage. For HP rounds it would be purely from damage (base damage plus the hollowpoint bonus) unless being rifle-caliber grants it some bonus arpen, while FMJ/AP would simply have damage plus arpen.
Overpressure HP would need some different formula. For now, overpressure should have damage of HP and arpen of AP.
That works for now then.
Not sure, but I'd lean towards treating them as if they were HP.
Breaks consistency but eh, seems fine to me if you'd prefer that. Makes sense since they're underused cartridges, they have most of the same disadvantages as flintlocks without the same degree of oomph, plus they're only slightly easier to make than standard cartridge ammo.
FMJ is already "the AP variant", so AP-AP would need something extra.
True, though a handful of cartridges do have a standard FMJ variant plus a steel-core one. The main benefit to providing a separate method for handling their AP is so that basing the arpen of PDW rounds off that will spit out a value that's in the neighborhood that seems adequate for its purpose, so I don't have to make up an arbitrary value. XP
It exposes some problems with your tier system: it has hard thresholds which break around 9 and 0 and depends on some "earlier value".
True. Scaling it better would work but would increase complexity, nudging the values as warranted to make them contrast with close neighbors might be a better option for handling edge cases, for now at least.
This will require looking at guns that use them. The one with better guns (burst fire, mods) or worse availability should be stronger.
7.62x51mm has a wider selection of guns with better moddability, while .30-06 is less available, if I recall.
Possible alternative method for deciding arpen of AP rounds: 80% damage, 150% arpen, relative to FMJ variant (extant or hypothetical). Bit simpler that way, not sure...
If AP ammo is rarer or more expensive, it can just have some extra bonus "for free". Not too much.
Could work too, +25% with no damage penalty. Though this does allow me to make the subsonic ammo in https://github.com/cataclysmbnteam/Cataclysm-BN/pull/369 count as AP since it implies a damage bonus.
I mean, no damage penalty compared to FMJ, not HP.
That's what I meant, yeah. Currently the "80% damage, 150% arpen" is relative to FMJ which means the arpen ends up being higher than the damage.
From discussion on the modder's discord, what came up:
HP variant is considered 100% (example: 100 damage, 0 arpen)
FMJ variant is considered 125%, 80% damage and 45% arpen (example: 80 damage, 45 arpen)
AP variant is considered 140%, 70% damage and 70% arpen (example: 70 damage, 70 arpen)
Reminder to myself, this means that damage of AP variants is basically 7/8 of FMJ variant's damage, and arpen equals its damage.
From discussion in the modder's discord about making the mulitpliers scale a bit more sanely, also eliminating the issue of what to do with perceived liminal points: Number | Multiplier |
---|---|
19 and below | 12/9 |
20-24 | 11.5/9 |
25-29 | 11/9 |
30-34 | 10.5/9 |
35-39 | 10/9 |
40-44 | 9.5/9 |
45 and up | 9/9 (no change) |
This seems like it'd reduce the risk of a base damage slightly above or below a "liminal point" ending up at identical to a different number due to differences in multiplier uses.
Example:
Potential alternative is to only apply the 9.5/9 multiplier to 40 and preserve the previous "anything above 40 doesn't get a damage buff" rule, since the cutoff between a small multiplier and no multiplier is still going to produce some weird results (40 damage being buffed to 42, vs 44 damage being buffed to 46).
A non-linear formula was presented as a possible alternative: dmg * (5/6) + 7.5
This makes a multiplier of 1.333x for 15, and a multiplier of 1x for 45. If round-down were used instead of round-to-nearest-integer, it would also have the effect of preserving the other "no buffs for anything at 40 or above" rule without having to change the math.
I'll need to write a lookup table to see exactly how numbers change with this formula, with both rounding methods. Will edit it in here.
Initial Number | Result | Rounding Down | Rounding To Integer |
---|---|---|---|
15 | 20 | N/A | N/A |
16 | 20.833 | 20 | 21 |
17 | 21.667 | 21 | 22 |
18 | 22.5 | 22 | 23 |
19 | 23.333 | 23 | 23 |
20 | 24.167 | 24 | 24 |
21 | 25 | N/A | N/A |
22 | 25.833 | 25 | 26 |
23 | 26.667 | 26 | 27 |
24 | 27.5 | 27 | 28 |
25 | 28.333 | 28 | 28 |
26 | 29.167 | 29 | 29 |
27 | 30 | N/A | N/A |
28 | 30.833 | 30 | 31 |
29 | 31.667 | 31 | 32 |
30 | 32.5 | 32 | 33 |
31 | 33.333 | 33 | 33 |
32 | 34.1667 | 34 | 34 |
33 | 35 | N/A | N/A |
34 | 35.833 | 35 | 36 |
35 | 36.667 | 36 | 37 |
36 | 37.5 | 37 | 38 |
37 | 38.333 | 38 | 38 |
38 | 39.167 | 39 | 39 |
39 | 40 | N/A | N/A |
40 | 40.833 | 40 | 41 |
41 | 41.667 | 41 | 42 |
42 | 42.5 | 42 | 43 |
43 | 43.333 | 43 | 43 |
44 | 44.167 | 44 | 44 |
45 | 45 | N/A | N/A |
The round-down method overlaps at the following initial numbers: 15/16, 21/22, 27/28, 33/34, 39/40.
The round-to-nearest-integer overlaps at the following intial numbers: 18/19, 24/25, 30/31, 36/37, 42/43.
Assuming the multiplier is capped to 1.333x for 15 and below, the lowest number to benefit from round-down is 3, increased to 4 with no rounding. The lowest number to benefit from round-to-nearest-integer is 2 (rounded up to 3).
Values of 15 and below should probably disregard the formula entirely and use a capped multiplier of 4/3 (1.333x). Example of how wacky it'd get at the lowest end: if uncapped, a value of 1 would be buffed to 8.333.
So, what's left for this should be:
Is your feature request related to a problem? Please describe.
This is the tracking issue for my work on the Ammunition Rebalance project, so we can actually hash out how best to tackle things ahead of time instead of my usual method of drunken fumbling to figure how to balance things on a PR-per-PR basis. This started with just the basic thought of ".22 LR is kinda garbage and needs some tweaking to give it an actual niche to fill" and has developed from there.
Describe the solution you'd like
I'll start with an overview on ammunition I've already rebalanced, listing their previous and current damage, as well as changes to armor penetration. This will generally cover only the FMJ, round-nose, etc variants since the JHP stats are typically derived from that.
Piercing values will list the standard/FMJ variants original value, its current value, and its potential value if using a different method of balancing proposed by Coolthulu during a conversation in the modders discord (see below for explanation).
Current trend, as outlined in GAME_BALANCE.md:
Armor penetration is currently being balanced based on the following assumptions:
An alternative formula for determining recommended armor penetration was discussed in the modder's discord, but I'd need to hash out what the values will look like when laid out on a table. If I recall the suggestion was a much simpler method (correct me if I misread):
If this version is implemented, it would have the advantage of not being dependent upon arbitrary armor values for balance. However, depending on how it's calculated, this might mandate giving even higher levels of armor penetration to pistol-caliber ammunition, which may make them completely ignore armor designed to resist those calibers of ammunition.
This could be mitigated by rebalancing the armor in question accordingly, possibly warranting a port-over of the ballistic damage pull request from DDA. Currently DDA's ballistic material balance is woefully inadequate for this task (DDA kevlar vests actually have 15 ballistic protection, making them slightly worse than BN's version and accomplishing the exact opposite of its apparent intent), but we'd then be free to adjust the ballistic resistance of materials independent of its cut protection, letting us improve the balance point further without it affecting melee balance.
And here I'll prepare a table of what ammunition has yet to be balanced, and what values they're likely to be granted. This will list the current damage alongside the projected future damage. Then it will list the current armor penetration, the projected armor penetration using method one, and the projected armor penetration using method two. As usual, these values are for the standard/FMJ variants, properties of the hollowpoint variant (when they exist) can be calculated from the values given.
Side note (!): Should .45 ACP maybe be lumped into the latter category below, or given a separate modifier to alter its arpen relative to 9mm?
Secondary side note, the only in-game FMJ loads for 7.62x25mm are either overpressure or subsonic, which complicates balancing them a bit more.
Side note (!): Should 7.62x39mm maybe be lumped into the latter category below, or given a separate multiplier to alter its arpen relative to 5.56mm?
Describe alternatives you've considered
Putting off the effort of planning this out until the weird cold snap the US is currently having stops draining my IQ.
Additional context