Is maximum range even a sensible attribute within current ranged weapons system?

[quote=“Tamior, post:18, topic:13979”]P.S. That being said, no weapon should be allowed to have 0 dispersion if you ask me.

P.P.S. Can you give a couple of examples of these “0 dispersion weapons”?[/quote]

Example: Accurized mossberg 500 with ergonomic grip. Currently 6 max range with 00 shot.

The problem isn’t just strictly 0 dispersion weapons. It’s that dispersion drops linearly, meaning dropping it from 1100 to 1000 is a smaller change than dropping it from 100 to 80.
Weapons with 15, 30 etc. dispersion are also amazingly long-ranged, just not accurate enough to circumcise a fly.

No, reality bubble is not 100 meters. It’s ~60-70 TILES.
Tiles aren’t meters. They can’t be translated to meters without context. Their shape changes depending on what they need to represent right now.
If you want to translate it to meters, you will have to find the distance at which a healthy adult person can no longer see a car-sized object, assuming fully clear line of sight, clear weather conditions, flat surface and so on. That range will be 61 tiles - at 60 tiles you would still see the car-sized object.
That’s the “long range tile” size, one used for sight and firearm ranges.

[quote=“Coolthulhu, post:21, topic:13979”]The problem isn’t just strictly 0 dispersion weapons. It’s that dispersion drops linearly, meaning dropping it from 1100 to 1000 is a smaller change than dropping it from 100 to 80.
Weapons with 15, 30 etc. dispersion are also amazingly long-ranged, just not accurate enough to circumcise a fly.[/quote]
How exactly is confidence of a shot calculated?
Is there a “base” (weapon-specific) value for a point-blank shot that is then decreased at longer ranges depending on weapon dispersion?
or
Is a “base” value for a point-blank shot also a function of the same weapon dispersion stat, not a different weapon characteristic?

[quote=“Coolthulhu, post:21, topic:13979”]No, reality bubble is not 100 meters. It’s ~60-70 TILES.
Tiles aren’t meters. They can’t be translated to meters without context. Their shape changes depending on what they need to represent right now.
If you want to translate it to meters, you will have to find the distance at which a healthy adult person can no longer see a car-sized object, assuming fully clear line of sight, clear weather conditions, flat surface and so on. That range will be 61 tiles - at 60 tiles you would still see the car-sized object.
That’s the “long range tile” size, one used for sight and firearm ranges.[/quote]
We are hardly going to have all-round realistic game-mechanics if tiles represent vastly different range depending on context.
If 5-6 tiles are both a length of a car and a range where shotgun blast loses all kinetic energy, we already had to sacrifice realism/common sense somewhere. Going back to modeling velocity drop in this situation might just make the system even less sensible.

how about, i personally prefer having max ranges so it FORCES you to train for different ranged weapons instead of just getting to level 100 with pistols and exploding hulks from the other side of the map.

You would still have the same if weapon dispersion naturally limited different weapon to different effective ranges without an actual hard cap on max range.
Plus, let’s be honest here: rifles right now have options for ALL ranges. So you still only need to train rifles if you go for pure practicality.

P.S. Can you give me an example of a handgun you would use over a rifle for longer ranges if both had no hard range limits?

[quote=“Tamior, post:22, topic:13979”]How exactly is confidence of a shot calculated?
Is there a “base” (weapon-specific) value for a point-blank shot that is then decreased at longer ranges depending on weapon dispersion?
or
Is a “base” value for a point-blank shot also a function of the same weapon dispersion stat, not a different weapon characteristic?[/quote]

Confidence is approximated actual hit chance. Don’t trust it, the approximation is not good - just because confidence says you get x% chance to hit, doesn’t mean the actual chance to hit will be that high/low.
Dispersion is currently calculated by summing up random rolls for weapon dispersion, skill dispersion, sight dispersion, recoil and possibly something more I forgot. Those can’t be exchanged - if you have 50 weapon dispersion and 50 skill dispersion, you will not be as good at sniping as if you had 100 skill dispersion and 0 weapon dispersion. This is a major problem with the system, because it means you can’t compensate for things, you need all parts of the dispersion roll near-perfect to actually hit things.

Once the dispersion value is rolled, it becomes an angle of miss, in minutes of degrees. So if you roll 60 on dispersion roll, you miss by 1 degree. This doesn’t mean you miss the target totally, just its head.
From this miss angle, it is calculated (trigonometry) where you actually hit. If this hit is still within creature’s size from the center, you hit the creature. If not, your shot goes wild, but you can still hit something else.
Whether you get a headshot, good shot, etc. depends on how little you missed, and on target’s size. If you roll 0 on dispersion roll, it’s always a headshot (if the target has a head).

After the dispersion roll, it’s all just raw trigonometry. Point blank shots are simply covered by a wider angle.

EDIT:

P.S. Can you give me an example of a handgun you would use over a rifle for longer ranges if both had no hard range limits?

Honestly it’s less about pistols, which are currently all either high recoil or sci-fi, and more about pistol caliber smgs/rifles, shotguns, pneumatic rifles and so on.
Shotguns are the worst offender because they are all very low dispersion and 00 shot is 0 dispersion. If there was no max range, consistent shotgun headshots would “only” require grinding up the skill.

[quote=“Coolthulhu, post:21, topic:13979”]If you want to translate it to meters, you will have to find the distance at which a healthy adult person can no longer see a car-sized object, assuming fully clear line of sight, clear weather conditions, flat surface and so on. That range will be 61 tiles - at 60 tiles you would still see the car-sized object.
That’s the “long range tile” size, one used for sight and firearm ranges.[/quote]

That’s working backwards from a game mechanic, though. IRL you can see a car near the horizon line if you’ve got clear visibility conditions and all, especially if it’s lit at night. That’s about three miles away, and there’s no way those 60 tiles could represent three miles.

The reality bubble is purely an engine artifact and has no exact real-world equivalent. You can see hordes and buildings and things beyond it, even for “hordes” of one zombie, so we shouldn’t look too hard at the bubble when figuring out ranges.
It’d be better to just arbitrarliy pick an official size for a tile that seems to line up about right, and then run with it., and start adjusting things to match where possible.

No, it wouldn’t.
Tile size has to express different scales because of multiple mechanics that require different scales.

Tile size has to be small enough that a car door can occupy it without it growing too weird and big enough that a relatively small reality bubble encompasses big enough area for it to not be claustrophobic.
It has to be small enough that a rat in it doesn’t look like a single star on empty sky and big enough that hulk fits in it entirely, without squeezing.

And before you suggest obvious solutions like “just make the bubble bigger”, “just get rid of bubble”, “just make hulks take more tiles” - those were all suggested before and re-suggesting them won’t help the tiniest bit. The problem is that they aren’t implemented.

I’m aware of that. But a first step towards fixing the wide variance between those scales would be to look at what those different scales are and see what tile “size” fits best with most of them. Then later you can try to adjust the others to more or less line up. (There’d naturally have to be a lot of wiggle room)

Tile size has to be small enough that a car door can occupy it without it growing too weird and big enough that a relatively small reality bubble encompasses big enough area for it to not be claustrophobic. It has to be small enough that a rat in it doesn't look like a single star on empty sky and big enough that hulk fits in it entirely, without squeezing.

The hulk and other really big things are an outlier, because you don’t have multitile creatures yet. That’s another thing that’d have to be ignored when working out distances.
And rats and tiny creatures will always have some weirdness since you can’t pack more than one per tile. (Unless… nah, nevermind, that would be too opaque from an interface standpoint)

And before you suggest obvious solutions like

I wasn’t going to suggest anything except “figure out a reasonable approximation of how big a tile is, and then begin range calculations from there.”

I did figure it out: it’s “as big as it needs to be”. That’s the only sensible approximation I’ve seen in those few years I’ve been working on DDA.
Anyone who tried to work out a single size always ended up trying to handwave very hard to fix and horrible problems such as single tile creatures, reality bubble having to have limited size, screen display having to have limited size and supporting weaker computers and so on.

Until we have multitile creatures, arbitrary sized bubbles (ie. bubble calculations so optimized that bubbles can be few hundreds of tiles in diameter), inter-tile walls for vehicles, and UI that manages to handle the last two without causing massive sanity loss, tile has to stay variable in size. And since the last two are unlikely to ever happen, so is fixed tile size.

Are you saying that we actually do several rolls for accuracy and they each have enough weight to decide whether something is a hit or a miss?
Do we just start at 0 and add all the rolls, are some rolls potentially negative, or what?

I would assume that each ‘dispersion’ would be a positive to negative range, but if they’re all “0 to Whatever” it would explain why accuracy is so weird.

I’ve been somewhat confused at how accuracy works in this game for awhile, because my hit ratio always seems arbitrary right up until I’m literally incapable of missing.

[quote=“Weyrling, post:30, topic:13979”]Are you saying that we actually do several rolls for accuracy and they each have enough weight to decide whether something is a hit or a miss?
Do we just start at 0 and add all the rolls, are some rolls potentially negative, or what?[/quote]

There are 4 rolls, each of which is non-negative. They are added up to form final dispersion roll.
It’s basically like this: roll = rng(0, recoil) + rng(0, max(0, 100 * (10 - skill))) + rng(0, gun_dispersion) + rng(0, driving_recoil)

Final dispersion roll is how much you missed, in minutes of degree.

[quote=“Coolthulhu, post:31, topic:13979”]There are 4 rolls, each of which is non-negative. They are added up to form final dispersion roll.
It’s basically like this: roll = rng(0, recoil) + rng(0, max(0, 100 * (10 - skill))) + rng(0, gun_dispersion) + rng(0, driving_recoil)

Final dispersion roll is how much you missed, in minutes of degree.[/quote]
Yeah that explains the ridiculous accuracy system.

I’m no authority or anything but I’d probably change all of those values into -1* to 1* and then throw an abs(roll) onto it.
This wouldn’t change the absolute best/worst rolls, but it would make the averages a lot more plausible and the extremes less common.

I mean, it’s entirely possible that you miss but your bullet veers towards the target regardless, though recoil makes sense as being all bad, so you could just add that on at the end.

[quote=“Coolthulhu, post:31, topic:13979”]There are 4 rolls, each of which is non-negative. They are added up to form final dispersion roll.
It’s basically like this: roll = rng(0, recoil) + rng(0, max(0, 100 * (10 - skill))) + rng(0, gun_dispersion) + rng(0, driving_recoil)

Final dispersion roll is how much you missed, in minutes of degree.[/quote]
So for a weapon with no recoil (e.g. bow or pneumatic stuff) if you skill is above 10 and you are not driving the only roll is rng(0, gun_dispersion) ?
So what exactly constituted gun_dispersion?
And how aiming for longer helps to reduce the result?

I think it was like that at one point.
Then it got improved by changing it to a single normal roll on the sum instead of sum of rolls. That was a really good system.

Then it got all reverted into the system where pistol-whipping is more effective than pistol-firing, unless you’re a master gunman and have replaced half of your pistol with custom mods.

[quote=“Tamior, post:33, topic:13979”]So for a weapon with no recoil (e.g. bow or pneumatic stuff) if you skill is above 10 and you are not driving the only roll is rng(0, gun_dispersion) ?
So what exactly constituted gun_dispersion?
And how aiming for longer helps to reduce the result?[/quote]

Recoil is “lack of aim”. Internally, aiming simply reduces recoil. Walking around sets your recoil to a specific value.
Gun dispersion is sum of the shown dispersion for gun, dispersion for ammo, and 60 dispersion for every tick of damage of the gun (accurized is -1, meaning it’s -60 dispersion, brand new is 0 etc.). They are all caped at 0, so you can’t compensate for bad ammo with good gun.
To reduce recoil to 0, you need to aim with a good scope or have high perception and aim with mediocre scope.

Is that default-value-after-motion weapon-specific?

[quote=“Weyrling, post:32, topic:13979”]I’m no authority or anything but I’d probably change all of those values into -1* to 1* and then throw an abs(roll) onto it.
This wouldn’t change the absolute best/worst rolls, but it would make the averages a lot more plausible and the extremes less common.

I mean, it’s entirely possible that you miss but your bullet veers towards the target regardless, though recoil makes sense as being all bad, so you could just add that on at the end.[/quote]
That only makes sense if you’re adding 2D vectors, in 1D it’s way too likely to just always have your errors cancel out and accuracy is totally dominated by luck. It’s possible to switch it to vector summation, but that isn’t going to fix anything about ranged balance, its just another system.

EDIT: multi-reply

NO. IT. WAS. NOT. That system literally threw away important data about dispersion in the name of “making it easier to understand”, while doing nothing of the sort. It simply threw all sources of inaccuracy into a bucket and then massaged them to get a result that vaguely resembled the output you were looking for, but mostly ignored the inputs. Additionally, any theoretical gains from “simplifying” the distribution were negated by an over-complicated and self-referential system for setting maximum effective gun ranges that was riddled with bugs and oversights, and didn’t actually verify anything important about accuracy.

The sum-of-errors system can be improved by:
Switching to a 2D vector of errors instead of magnitudes. (this will also improve things by modeling rounds going into the ground or over targets heads)
Biasing error vectors in some characteristic way (largest example is recoil vectors being up and to the side, not in an arbitrary direction).
Adjusting magnitude of contributing errors to bias the resulting distribution.

The “throw the error sources in a bucket and treat it like an arbitrary distribution” system is a dead end, you can’t do anything meaningful with it except force the distribution to be what you want it to be, becuse you’ve thrown any additional inputs that you could use away.

The problem with accuracy stems from the fact that dispite my repeated demands to establish some kind of baseline accuracy tests (as a prerequisite for overhauling how dispersion worked), mugling instead decided to add a bunch of code to the game to output graphs to convince themselves that the accuracy numbers at one specific point in time were good, and then YOU, Coolthulu decided to just merge the bullshit changes instead of holding them to that requirement.

No, hardcoded. It may appear per-weapon due to stability display differing per-weapon, but it is constant.
Changing that wouldn’t help, though.

Actually, it would fix the balance. Not as well as what we had pre-revert, but sum of zero mean variables has noticeably less weighting towards the middle of the distribution and is significantly less affected by the lowest value. Both of which are giant problems in the current version.

Also reminder that the realism/sense/whatever is not a sum of components.
If all the components locally look perfectly good, but add up to a mess where you need to be a master gunner to put down shambling, mindless, human-like beings with a glock that IRL wrecks running, intelligent, humans, the inclusion of those components was an error and certainly not something that makes sense.
Greedy design < lesser evils

I thought that was the reason for the regression to the current state.

[quote=“Kevin Granade, post:36, topic:13979”][quote=“Weyrling, post:32, topic:13979”]I’m no authority or anything but I’d probably change all of those values into -1* to 1* and then throw an abs(roll) onto it.
This wouldn’t change the absolute best/worst rolls, but it would make the averages a lot more plausible and the extremes less common.

I mean, it’s entirely possible that you miss but your bullet veers towards the target regardless, though recoil makes sense as being all bad, so you could just add that on at the end.[/quote]
That only makes sense if you’re adding 2D vectors, in 1D it’s way too likely to just always have your errors cancel out and accuracy is totally dominated by luck. It’s possible to switch it to vector summation, but that isn’t going to fix anything about ranged balance, its just another system.[/quote]
At lower levels accuracy is already dominated by luck, if any part of that formula is bad for you then your odds are worse than flipping a coin.

Having errors capable of canceling out other errors was my entire point.
This was specifically to lower the potential shittiness of any given random value, which it would do.

If you put recoil outside the positive-to-negative ranges and just add it to the absolute value then it maintains recoil as the most important thing for a player to keep track of while everything else is still relevant.

Also I guess starting at “assume a perfect shot and then ruin it via random rolls” seems really weird to me, seeing as how that kind of system explicitly makes everything dominated by luck and further makes any single problem explode into ruining a shot completely.

[quote=“Coolthulhu, post:37, topic:13979”]No, hardcoded. It may appear per-weapon due to stability display differing per-weapon, but it is constant.
Changing that wouldn’t help, though.[/quote]
Yes, figured as much myself, just wanted to double-check.

At any rate, what is our goal here? To include projectile speed reduction over distance into AIMING system, or to simply modify damage over distance as a result of projectile speed reduction?

If the latter, why not just assign every weapon an “optimal” range in stead of max range, and make it so that for ranges above optimal damage is reduced by 50% for every extra optimal range increment?
E.i. something like
final damage = (whatever damage would have been normally)min(1,exp(ln(2)(optimal_range-current_range)/optimal_range))