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

Lack of a consistent guideline for ranged weapon damage #26183

Open
Poragon opened this Issue Oct 11, 2018 · 8 comments

Comments

Projects
None yet
4 participants
@Poragon

Poragon commented Oct 11, 2018

Cataclysm currently lacks a consistent guideline for ranged weapons as a whole. While we have the guideline for bullets/guns which does a wonderful job and is outline near the bottom of this document
this cannot apply to all projectiles due to differences in terminal ballistics.

Ideally a formula needs to be created for all ranged weapons to follow that accounts for terminal ballistics in either an abstract or detailed way to ensure consistency across ranged weapons.

I've set up a very basic example solution which takes the in game bullets and bullet formula as a base and accounts for terminal ballistics as an end multiplier of damage, with damage increasing as the projectile's lethal nature is more based on wound channels.
The numbers and sources behind the example solution can be found in this spreadsheet, and an interactive bit to serve as a quick test of the multiplier on a few of CDDA's weapons can be found on this graph.

I've personally very little experience in terminal ballistics so it's difficult for myself to create a way to abstract them accurately. Any feedback as to other options and alternate solutions would be vastly appreciated!

@Poragon

This comment has been minimized.

Show comment
Hide comment
@Poragon

Poragon Oct 12, 2018

I've updated the spreadsheet after much rigorous testing that mainly consisted of plotting data points all over Desmos. The example formula now works well for even edge cases, so long as the Damage Type/Terminal Ballistics (DT) multiplier is properly accounted for. Due to the basing of the formula off of the pre-existing gun balance, the end results are not far off from the current game values in most cases.

Any drastically different values I've found have indicated something wrong with either the gun or projectile itself, such as the incredibly heavy arrows of CDDA. (A Metal Bodkin is 925.942 grain. Assuming best case scenario aka. the bow we're using has a very high draw weight of 80lb we're still at a ratio of 11.5 grains per pound of draw force. Well above the 8 grain per pound rule of thumb for what makes a heavy arrow for a bow.)

Due to this, I believe the current example formula, with some tweaking, has potential use as either a base or the entirety of the new formula for ranged damage. I've also included a calculator on the first sheet so that the formula can be easily tested with any set of projectile kinetic energy and DT combination.

Spreadsheet Link
Desmos Link for Damage Formula
Desmos Link for AP Formula
Desmos Link for AP Curve

Poragon commented Oct 12, 2018

I've updated the spreadsheet after much rigorous testing that mainly consisted of plotting data points all over Desmos. The example formula now works well for even edge cases, so long as the Damage Type/Terminal Ballistics (DT) multiplier is properly accounted for. Due to the basing of the formula off of the pre-existing gun balance, the end results are not far off from the current game values in most cases.

Any drastically different values I've found have indicated something wrong with either the gun or projectile itself, such as the incredibly heavy arrows of CDDA. (A Metal Bodkin is 925.942 grain. Assuming best case scenario aka. the bow we're using has a very high draw weight of 80lb we're still at a ratio of 11.5 grains per pound of draw force. Well above the 8 grain per pound rule of thumb for what makes a heavy arrow for a bow.)

Due to this, I believe the current example formula, with some tweaking, has potential use as either a base or the entirety of the new formula for ranged damage. I've also included a calculator on the first sheet so that the formula can be easily tested with any set of projectile kinetic energy and DT combination.

Spreadsheet Link
Desmos Link for Damage Formula
Desmos Link for AP Formula
Desmos Link for AP Curve

@mlangsdorf

This comment has been minimized.

Show comment
Hide comment
@mlangsdorf

mlangsdorf Oct 12, 2018

Contributor

Two requests:

  • Table of all ranged weapon/ammo combinations in the game that you can get data for, showing expected damage from your formula versus actual numbers from the game.
  • The same, but also including weapons from mods.
Contributor

mlangsdorf commented Oct 12, 2018

Two requests:

  • Table of all ranged weapon/ammo combinations in the game that you can get data for, showing expected damage from your formula versus actual numbers from the game.
  • The same, but also including weapons from mods.
@Poragon

This comment has been minimized.

Show comment
Hide comment
@Poragon

Poragon Oct 15, 2018

Table creation is progressing very slowly due to personal busy work, and the sheer amount of manual input my current method requires. for the next bit. If anyone wants to help or has any ideas for expediting the process, I'd much appreciate it!

Poragon commented Oct 15, 2018

Table creation is progressing very slowly due to personal busy work, and the sheer amount of manual input my current method requires. for the next bit. If anyone wants to help or has any ideas for expediting the process, I'd much appreciate it!

@Theundyingcode

This comment has been minimized.

Show comment
Hide comment
@Theundyingcode

Theundyingcode Oct 16, 2018

Contributor

a Python script to read the guns and ammo json files and output the various combinations in a csv file would be pretty simple. Do you just want damage and ap values? I could add that to my todo list for the week if you would like.

Contributor

Theundyingcode commented Oct 16, 2018

a Python script to read the guns and ammo json files and output the various combinations in a csv file would be pretty simple. Do you just want damage and ap values? I could add that to my todo list for the week if you would like.

@Poragon

This comment has been minimized.

Show comment
Hide comment
@Poragon

Poragon Oct 16, 2018

If you could do that, it'd be wonderful Undying. For guns damage and AP values are what I'm looking for, and the damage, AP, and weight for the ammos. No idea how the combinations would be automated, but if that's also possible it would be a super time saver for me

Poragon commented Oct 16, 2018

If you could do that, it'd be wonderful Undying. For guns damage and AP values are what I'm looking for, and the damage, AP, and weight for the ammos. No idea how the combinations would be automated, but if that's also possible it would be a super time saver for me

@Theundyingcode

This comment has been minimized.

Show comment
Hide comment
@Theundyingcode

Theundyingcode Oct 16, 2018

Contributor

I was thinking of generating tables like:

xxx ammo 1 ammo 2 ammo 3
gun 1 12 23 0
gun 2 0 0 99

make two of them, 1 for damage and one for ap. How dose ammo weight get factored in?

Contributor

Theundyingcode commented Oct 16, 2018

I was thinking of generating tables like:

xxx ammo 1 ammo 2 ammo 3
gun 1 12 23 0
gun 2 0 0 99

make two of them, 1 for damage and one for ap. How dose ammo weight get factored in?

@Poragon

This comment has been minimized.

Show comment
Hide comment
@Poragon

Poragon Oct 16, 2018

Ammo weight would be a separate list from the damage/AP differences. Having both current and under formula ammo weights is important as without noting a change in ammo weight, some of the new formula's outputs are a bit crazy. I think I noted the arrows above, and they're a good example. With current CDDA arrow weight the bow damage would be very, very low compared to a more sane arrow weight.

Though, using my current knowledge of notepad++ search function I can fairly easily extract all the ammo weights I need, so if making a separate list for the weights is an issue at all I can get that bit done

Poragon commented Oct 16, 2018

Ammo weight would be a separate list from the damage/AP differences. Having both current and under formula ammo weights is important as without noting a change in ammo weight, some of the new formula's outputs are a bit crazy. I think I noted the arrows above, and they're a good example. With current CDDA arrow weight the bow damage would be very, very low compared to a more sane arrow weight.

Though, using my current knowledge of notepad++ search function I can fairly easily extract all the ammo weights I need, so if making a separate list for the weights is an issue at all I can get that bit done

@Theundyingcode

This comment has been minimized.

Show comment
Hide comment
@Theundyingcode

Theundyingcode Oct 16, 2018

Contributor

Loading the json is ~85% of the complexity but from there, outputting extra info is trivial. I'll make it output the name, id, weight, dmg and ap.

Contributor

Theundyingcode commented Oct 16, 2018

Loading the json is ~85% of the complexity but from there, outputting extra info is trivial. I'll make it output the name, id, weight, dmg and ap.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment