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

To standardize the dispersion of guns and bullets #72523

Closed
wwkk222208 opened this issue Mar 21, 2024 · 3 comments
Closed

To standardize the dispersion of guns and bullets #72523

wwkk222208 opened this issue Mar 21, 2024 · 3 comments
Labels
stale Closed for lack of activity, but still valid. <Suggestion / Discussion> Talk it out before implementing

Comments

@wwkk222208
Copy link
Contributor

wwkk222208 commented Mar 21, 2024

Is your feature request related to a problem? Please describe.

At present, the dispersion of bullets and guns of different calibers in the game seems to follow multiple sets of standards, some based on realism, and some based on balance. For example, the dispersion of the marksman rifle M110A1 when using 7.62×51mm M80 is 120+15=135 (in reality, its accuracy is 1.5MOA). The dispersion of the TAC-50, which once set the record for the longest sniping distance, when using ".50 BMG Match" is surprisingly as high as 50+100=150. In addition, perhaps for the sake of balance, the game's numerical setting is exceptionally strict on the dispersion of 5.56×45mm caliber. Therefore, the current dispersion of firearms and ammunition does not match the reality, and a relatively unified standard needs to be formulated.

Solution you would like.

Correlating the dispersion of firearms in real-life data with that in the game, my suggestion is 1MOA = 100 dispersion (gun + ammo). The ratio is considered to be the maximum compatibility with the current game's dispersion setting. The dispersion range of assault rifles in the current game is about 210 to 330, that of precision marksman rifles is around 150, and that of sniper rifles is less than 100 (excluding the unfortunate .50BMG), which coincides with the real-life values: assault rifle (2MOA to 4MOA), marksman rifle (1.5MOA), and sniper rifle (<1MOA). The dispersion of the gun is determined by using high-precision competition or sniper bullets, and the dispersion of the bullet is determined by subtracting the dispersion of the gun when the gun uses regular rifle or machine gun bullets.

Describe alternatives you have considered.

There is another option: To determine the corresponding ratio based on the game's setting that one grid is equal to 12 meters. However, this option would make all guns extremely accurate.

Additional context

In the data of real firearms, the testing conditions and calculation methods of the gun's dispersion data are not the same, so it is not possible to fill in completely accurate data based on them, but it will still be better than the current chaotic standards in the game.

@wwkk222208 wwkk222208 added the <Suggestion / Discussion> Talk it out before implementing label Mar 21, 2024
@kevingranade
Copy link
Member

Concretely, here's what needs to happen:
Pick several guns to use as examples, I recommend the most common guns available in different categories like pistol, assault rifle, hunting rifle, shotgun, pistol calibre carbine, plus some outliers like the most and least accurate firearms available.

Using those example guns, set up in-game scenarios that demonstrate max effective range, e.g. "so-and-so doc says the m4 has a max effective range of X, which means with perfect aim we expect a 95% hit rate against a human sized target at that range".

Using code similar to tests/ranged_balance_test.cpp, implement that scenario, while adjusting for in- game range compression.

Adjust the example gun stats to the proposed dispersion, this can either be something like "MoA/100" or "max effective range" in distance, where we have a definition of exactly what that means to the game.

Tweak the ranged code until those tests pass, then start the process of migrating all guns over to whatever the new system implies.

@wwkk222208
Copy link
Contributor Author

Thank you for your suggestion. It seems to take a long time to complete, but I think it's worth it.

Copy link
Contributor

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not bump or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

@github-actions github-actions bot added the stale Closed for lack of activity, but still valid. label Apr 21, 2024
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale May 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
stale Closed for lack of activity, but still valid. <Suggestion / Discussion> Talk it out before implementing
Projects
None yet
Development

No branches or pull requests

2 participants