Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.
Sign upGun accuracy calculation broken #21244
Comments
This comment has been minimized.
This comment has been minimized.
|
Need expected behavior vs actual behavior, i.e. how accurate do you expect it to be? |
This comment has been minimized.
This comment has been minimized.
|
Was #20941 expected to change accuracy? And if so, do we know to what degree it was changed? I ask, as leading the discussion with a breakdown of how accurate it was prior to that PR vs. how accurate it is now should allow for a reasonable approach to how accurate firearms should be. |
This comment has been minimized.
This comment has been minimized.
|
I did not expect #20941 to strictly maintain the previous level of accuracy, no. There was no standard for accuracy in the first place, so while there might have been a change, you can't really call it a regression. Again, give me a scenario, an expected result, and an actual result, and we can get this party started. Otherwise it's just going to go in circles indefinitely. |
ZenZen2
added
Aiming
Game: Balance
labels
Jun 14, 2017
This comment has been minimized.
This comment has been minimized.
|
Just for reference #18943 (EDIT:mb I linked the wrong one) has the pre-revert unit tests. Which would serve as the previous standards players are comparing current dispersion against. Someone would need to recreate them for the actual state of the game and make the comparison however. |
This comment has been minimized.
This comment has been minimized.
|
Yea that's one if the incredibly frustrating things about that code. That unit test doesn't actually do anything. It added a "determine engagement range" method and tested that, not the actual accuracy of the weapons. You may notice the test doesn't make any assertions about effective range or accuracy, because it isn't testing that, just that the function itself has certain properties. |
This comment has been minimized.
This comment has been minimized.
What do you mean by a scenario? Something like player skill/stats/modifier, range, gun stats, target skills/stats/modifier and whatever variables are needed to get the a shooting result? I'm sorry, I don't understand what is the current problem with guns, only that they work "wrong". And if the shooting target formula is decide, and the code works, it would only need the tweaking of how much each variable weights for a successful shot. |
This comment has been minimized.
This comment has been minimized.
yep, what you said.
People keep saying it's "wrong", but won't or can't say what's "right". If we don't have a way to check whether it works correctly, how do you expect to fix it? |
This comment has been minimized.
This comment has been minimized.
That method was a great measure of actual accuracy - simple, reliable, consistent, meaningful. The problem with the current system is not the numbers, it's the distributions and the way they're combined. But for the scenarios: I can't think of a better measure than just recreating the old tests, except by adding some extra upper caps to prevent the system from blowing up for skilled marksmen. |
This comment has been minimized.
This comment has been minimized.
I'd like you to point them out, because I couldn't find them. To break down the rest of that file: This test: https://github.com/CleverRaven/Cataclysm-DDA/pull/20941/files#diff-ae9fb308eca169e424e32c565235db95L147 This one: https://github.com/CleverRaven/Cataclysm-DDA/pull/20941/files#diff-ae9fb308eca169e424e32c565235db95L34 asserts that for all guns at selected aim level/ player skill / range, gun_current_range() agrees with projectile_attack_chance() This one https://github.com/CleverRaven/Cataclysm-DDA/pull/20941/files#diff-ae9fb308eca169e424e32c565235db95L64 This one https://github.com/CleverRaven/Cataclysm-DDA/pull/20941/files#diff-ae9fb308eca169e424e32c565235db95L80 This one https://github.com/CleverRaven/Cataclysm-DDA/pull/20941/files#diff-ae9fb308eca169e424e32c565235db95L93 This one https://github.com/CleverRaven/Cataclysm-DDA/pull/20941/files#diff-ae9fb308eca169e424e32c565235db95L108 Except for the last test, they are all testing the methods themselves, not anything about game data. For the most part they're checking for consistency between two methods, which doesn't demonstrate correctness, just that if errors exist, they exist in both methods. |
This comment has been minimized.
This comment has been minimized.
|
OK, looks like I remembered wrong then - my bad. Still, the values themselves are good: |
This comment has been minimized.
This comment has been minimized.
|
From my current testing/play of the new system, I'd say what feels "wrong" to me is that skill levels seem to not have as big an impact as one would hope. Both gun-specific and general Marksmanship slightly move the actual performance in the players favor. Probably somewhere between 30% to 80% more from that would feel better. Although in terms of balance, getting the actual skill levels is unnatural as well. If you're trying to train weapons via practice it seems to take excessive amount of time to skill up anywhere high. Whereas a lucky character can just read a few books or train via NPC and "instantly" be as good a shot as a player who has killed countless hordes over months and months of time to gain the exact same skill. The actual impact of skills in the case where they are gained "cheaply" seems like it would have about the improvement that it does now. But a hardened veteran with real combat experience is under appreciated. Perception also helps a bit here, although I imagine a lot of players are likely running low-ish perception characters, at least I always have until now. Typically I wouldn't push it past 10, but on my latest run I'm experimenting with a natural 14 to see how big the impact is. To just ballpark it, I'd think at 25 yards with a decent rifle and iron sights you would expect to hit fairly often even with low-ish skills and some steadying against normal sized target. |
This comment has been minimized.
This comment has been minimized.
They do have an effect on accuracy, it's just that now it's only really visible near level 10, with great equipment and high perception. |
This comment has been minimized.
This comment has been minimized.
JacobKessler
commented
Jun 16, 2017
|
I posted these in the forum thread and, while I didn't get any comment on the proposed scenarios, they seem reasonable to me. They obviously aren't exhaustive, but are at least a start toward some tests:
|
This comment has been minimized.
This comment has been minimized.
|
#18020 - There are literally over a hundred comments in that PR, "do what that novel over there says" is not a valid bug report, especialy when various parts of the comments almost certainly contradict each other. @JacobKessler that's the kind of thing I'm looking for, thank you.
That's certainly testable, but I'm not totally sure it's accurate, what about a point-blank sawed-off shotgun blast? I could see just excepting e.g. spread weapons and calling it a day though. Actually lets just assume spread weapons aren't covered in general.
Needs to be a bit more specific, what's "often"? (1 time out of 10 would be a testable example).
This middle part is SUPER arbitrary, for one thing, why mid-steadiness? Especially for the first batch of tests, its seems more productive to lock down the limits rather than test scenarios in the middle.
It doesn't make much sense for this to be uniform across all guns. In the extreme case you're saying that the worst gun in the game can hit reliably at a range of 7 (~25') with a single aim action (which is itself fairly arbitrary). It makes sense to put limits on the best guns can be, but limiting how bad they can be doesn't make much sense.
Let's not get into scaling and distributions until we have limits locked down.
Define "decent" :/ Also "at least" is pointless here since you can't shoot further than that. |
This comment has been minimized.
This comment has been minimized.
|
OK then, breakdown:
Let's define 3 characters:
Novice character checks the lower bounds. Competent character and novice together ensure that the lower levels have sensible numbers. In case you want to balance it with per-gun settings (you proposed something like this a ~year ago), let's also check different guns:
If not, just use the rifle numbers for everything. This will buff everything, but guns are currently very bad, so it's better to overbuff (except for free ammo ones, like pneumatics, and for endgame characters) than to nerf.
The numbers I picked were selected so that:
|
This comment has been minimized.
This comment has been minimized.
|
This issue should be set as milestone to 0.D. It will be bad to forget to fix this. |
Coolthulhu
added this to Hard Issues
in 0.D Release
Jun 30, 2017
Leland
added this to the 0.D milestone
Aug 24, 2017
This comment has been minimized.
This comment has been minimized.
|
Temporary fix (fork containing non bugged aim) by Coolthulhu: |
This comment has been minimized.
This comment has been minimized.
|
That's a fork, not a fix. |
This comment has been minimized.
This comment has been minimized.
ghost
commented
Aug 29, 2017
|
It's a fork containing a fix. |
Coolthulhu
closed this
in
#21468
Sep 27, 2017
This comment has been minimized.
This comment has been minimized.
|
Note: the actually implemented tests and balance standards are significantly less strict than the ones I proposed. Notable balance problems are: rifles are still just plain better than SMGs and pistols, "endgame" characters can easily reliably snipe much farther than they can see, perception got less useful despite already being much worse than dexterity. |
Cyrano7
moved this from Hard Issues
to Closed Issues
in 0.D Release
Sep 30, 2017
This was referenced Oct 20, 2017
Firestorm01X2
referenced this issue
Oct 20, 2017
Closed
[Ranged balance - STEP 1] Ranged design was not approved officially by lead developers. #22214
This comment has been minimized.
This comment has been minimized.
|
Are those numbers based on gut feelings and back-of-the-napkin math, or did you have a mathematical model for them? It would be great if there was a well-defined one, which could later be enshrined in unit tests as well to safeguard against future balance-breaking changes. |
This comment has been minimized.
This comment has been minimized.
|
Likely it is "game feeling by personal experience". And unit tests already were impelemented here: #21468 |
This comment has been minimized.
This comment has been minimized.
|
As Coolthulu stated, the numbers are based on a number of game balance goals. The only input from reality is the quickdraw based tests, whose upper bounds are based on the records established by actual quickdraw competitions. Please open or comment on current issues for future discussion. |
Firestorm01X2 commentedJun 14, 2017
•
edited by kevingranade
Players reporting of massive reducing in firearm accuracy.
Forum thread:
http://smf.cataclysmdda.com/index.php?topic=14523.0
Looks like we have massive regression after that:
#20941
This issue should be set as milestone to 0.D and probably marked as "Priority" because shooting is one of the core mechanics of the game.