What's the deal with gun accuracy?

Hi guys! I started playing this again after getting burnt out for a while. I’ve already got like, ten more people addicted to it, heh.

My question is, what the heck is up with long-range gun accuracy now? It seems like I have no chance at all of hitting anything consistently more than 3 or 4 tiles away.

In my current game for example I’ve got 7 Rifle skill, 7 marksmanship, and an M4A1 with rifle scope, rail laser sight, ergonomic grip, and barrel extension and I can’t hit basically anything even with 0 Dispersion and 0 Sight dispersion. Even against immobile targets well within sight range.

Every shot there is after aiming the shot for like 30 keypresses.

What the heck?

Also this:

Did a turret just dodge a bullet? What?

Avoided, not dodged. This is an artifact of small size giving a passive dodge boost rather than accuracy penalty to attacker.
This is really rare for bullets, though.
For this message to happen, the target has to be hit by original accuracy, then missed by accuracy modified by dodge. Due to bullet’s speed, this modification is tiny.

It should actually happen more often for “smart” critters, but not at all for turrets. It isn’t Matrix-style bullet time dodge, but seeing the shooter and removing self from the line of fire, weaving to worsen the aim etc.
Basically everything that the target can do to be less likely to hit that doesn’t involve cover.

Other than that, there was one notable accuracy change:
You can no longer hit stuff by missing it and having bullet hit it anyway after the miss. Basically, now the displayed accuracy accurately gauges your chance to hit.

I don’t recall any other changes to hit chance.

This is completely meaningless, how full are the confidence and steadiness bars in the firing menu? Confidence is your evaluation of your chance to hit, Steadiness is how well you’re aiming for you. If Steadiness is full, that’s as well as you can aim with that weapon and your skills/stats. Also an actual range would be good.
At max range for a M4A1 (36 squares), you’re only going to have about a 20% chance to hit. You’re going to reach about a 50% chance to hit at range 15 or so, 75% at 10, and (estimated) 100% chance of a hit at range 7.

As for the reason, this is one of the places where engine constraints mean we depart sharply from making things act as much as possible like they do IRL. If we gave guns the ability to hit reliably at their IRL effective ranges, not only are most guns effectively the same (as long as you take time to aim and you know what you’re doing at all, you should be able to hit human-sized targets very reliably at max range for the game, which is 60 meters or so), but it would also make it very trivial to take out any opponents as long as you had sufficient ammo and a strong enough rifle to inflict significant damage with each hit.

I have some ideas for extending the effective range at which you can interact with creatures (and vice versa), but it’s a pretty long term set of changes, so this is the state of the game for now.

It was at range 22, trying to hit things off-screen is absolutely impossible even with 90-range bullets like the 30-06 and sniper conversion, zero dispersion modifiers, and so on.

I don’t ever recall having this much difficulty hitting things. It takes roughly 80-90 shots to hit anything from ~20 tiles with an insanely modified rifle (scope, laser sights, etc) and full steadiness. It’s only when targets are at < 5 tiles that I can hit anything consistently. I can’t do science labs because I can’t hit any of the turrets (from 7-8 tiles) before I’m turned into a fine slurry, it takes 3-400 rounds to take down a milspec turret, and yet they can hit me no problem.

We should probably lower max ranges of everything with 20+ range.
It is misleading to show range of 90 when the realistic range is at best 20.

Turrets use the same rules as the player.
Milspec turrets have 10 dexterity and 12 perception, 8 rifle skill and 4 marksmanship.
Using a m4a1 with 5.56 NATO M855A1 they have 70 dispersion from the weapon+ammo. From their stats, the get extra 30 dispersion (15 per 1 dex below 12). From their skills they get extra 90+90 dispersion (45 per point of rifle below 10, 15 per point of marksmanship below 10).
Each dispersion penalty is rolled, so on average this should be half of the value. Total maximum is 60+10+30+90+30=280, expected value is 140.
Each burst starts fully aimed (0 recoil).

You’re probably losing a lot of accuracy from encumbrance. Currently you can’t compensate for bad skills with accurate weapon as dispersion is a sum of dispersion, none of which can be negative.

Dispersion mostly matters at long range, because the “hit dispersion” is actually “shot dispersion” * range.

We can also rebalance the ranges and dispersion values to match the total available range provided by the game.
We can pick a max range (based on real world max range, in a relative way), and set dispersion to have the gun achieve some nominal hit rate when fired at that range from a bench (set all other sources of dispersion to 0). That won’t be achievable by an average survivor, but that’s fine.
I overhauled the aim system and such, but never rebalanced the guns from scratch, it’s still set roughly where it used to be.