I’ve agreed with damn near everything else you’ve posted, so I’d really like to understand where you’re coming from here, why should crit chance and accuracy be decoupled for archery?
Now for reference, I’d like a little bit of a more sophisticated system than we have now, which includes:
- learnable weak points.
- auto-targeting weak points based on a self-estimation of your shooting ability. e.g. you’d default to “center of mass” until you start being certain of your ability to get at least a headshot, and only then start targeting the head. This would mostly be a narrative thing, meaning as effective accuracy increases you’d go from occasional hit -> frequent hit -> frequent center-of-mass crit -> frequent specific weak point hits -> frequent specific weak point crits.
- The range of hit and miss descriptions changing based on the target and where you’re aiming (aiming wouldn’t be manual though, this is to keep the combat messages more interesting/realistic, not to add a micromanagement layer).
I appreciate what you’ve laid out here, I can tell you if I personally end up with the time and inclination to do an archery overhaul, it’ll follow the outline here.[/quote]
Thanks for the vote of confidence. Let me explain my position better, and in retrospect, be prepared for a huge wall of text.
I don’t mean for archery to be decoupled. I mean that in system as is now and as i understood it, working from the primary Damage attributes in correlation to how hitting works make it so that with any attack, at least a ranged one didn’t dive in thrown/melee, you have a chance to execute it perfectly (supercrit) which scales linearly up to the chance of the lower ceiling, which indeed decreases due to skills, and would mean a miss. The middle ‘average’ here, which would be a small island in the range, would be just purely applying the rated damage, with wide swaths to the left and right of said island.
And seeing how critical damage is actually quite… critical, as in, not a blank slate +25% damage or something, and if i’m not mistaken even THREE times the damage, the issue of balance comes up.
My issue with the system is how the damage done is highly inconsistent, even for highly skilled characters and linked heavily with ‘accuracy’ which it itself is just hardcapped by a fixed tile-range and the fact that a lot of checks are RNG and not a pure skillcheck to ‘ceiling’ from it. This is not a distribution of hitting average and damage that i am happy with considering it was well in weapons range at 4 tiles with a good gun and level 10 across the board:

Apart for three shots that might as well just have purely missed and the ones that actually missed, the damage was ranged from 17, to up to almost FOUR times more, 58 (Later edit, a headshot in the same circumstance gave 81!!! damage). This is really not something that i find right from both a gameplay perspective and from the experience the user behind the screen is getting in relation to the role-play element. His super buffed 10/10 arms/firearms doing less damage to a bear from three shots than it would have taken if the player tossed some string at him.
Edit: Yes, indeed, i was fighting against recoil, but considering the outcome, the fact that such a well implemented system such as recoil is in place is mostly washed out considering what chances you’re playing with. I love that it’s in the game and how it’s handled, but the actual shooting mechanics crushes it.
I really do like your suggestion for hitting weakspots, and i will evolve on the concept later on, but please take a cup of coffee or tea and read on.
For one thing, the whole concept of accuracy has to be re-thought and separated from damage to start. Crits should still stay in, but in a different form as you mentioned. Secondly, at this moment if it’s within range, you shoot, no gameplay consideration given and a crucial fun choice taken out of your hands. Range is a huge thing in real life and it gets given nothing more than a passing consideration here. I don’t think anyone here for example tries to hold off shots that are at max range. It’s considered a ‘given’ that you shoot when you are able.
Ideally you could shoot at pistol at 75 meters, and if you’re really good, you might even hit. Then again, when you can barely unsafety the weapon, you would not want to waste precious ammo blindly shooting at ranges that are fully within the gun’s optimal but your skill prohibits you from hitting reliably. You’d want to wait until you are confident in your skills to hit at a certain range. The difference from bows to guns would be that guns would have more reliability and distance initially, so they’d be easier to use, while bows would almost be a hindrance rather than useful to begin with.
Ok, enough babbling, let’s talk hard design:
The base common thread here is reducing RNG to levels where you can see a true progression of your character skill, where you can feel the increase in skill or equipment, but still keep a decent deal of chance that makes the game fun and interesting when fate conspires against you or helps you out.
That being said,
1. Accuracy:
All weapons have a hard number for accuracy, the dispersion we use now. That’d be the ‘optimal range’ that you can expect to get out of them, for balance sakes, this can be lower than current range, just so we don’t have to rebalance the entire game (so a USP.45 would have 11 instead of 16 at 75%). This can be represented ingame while firing with a green ‘overlay’ line. After that range, (11 in our case) you are shooting in ‘bullet-drop’ range which is double the base gun’s range (22 in the example) and represented with a red overlay line (it can change hues slowly from green to red to illustrate it). You can still hit in both ranges with skill mattering in both, but while in normal range you just have to overcome the maximum dispersion correlating with the enemy’s size and movement, the bullet-drop range is a geometrically increasing progression up to triple the dispersion rating (so even though there is a huge ceiling, do allow people the extremely off chance of taking an almost impossible shot). To note, monster sizes should add or remove dispersion rating. If we consider a regular zombie as having 100% of the size adjustment variable we can use a squirrel as 60% and a zombie hulk 140% for example, as i see monsters do have a ‘size’ already defined but i don’t remember that being used in the calculations (i may be wrong in this regard). It’d also be nice that enemy movement counts into this as well. Just a simple ‘did it move’ instead of anything more insane as to ‘how much did it move’, just something to reward people shooting stationary targets outside their sight range or stuff stuck in holes.
If you have a really well skilled character you could end up shooting in bullet drop ranges reliably for center mass of a stationary hulk, but on the other hand, if you do not ‘roll’ that minimum check, you will never shoot that moving squirrel at bullet-drop range with a pistol.
In short, minimise RNG’s effects. It will still have it’s tail in the final accuracy check that you list versus the needed to hit(and on the damage done, see Damage section), more of a 25% up/down, so 50%, that will decide whether you hit or not, but not to the limits that we have now, that also affect damage so horribly. So you can be firmly convinced that your 8 Pistols 8 Firearms character with a perfectly good pistol will be able to shoot a bear in three tiles 100% of the time since even if your check goes -25% on the RNG, it’s still more than enough to pass the bear’s, and if you allow me a D&D reference, the bear’s ‘armor class’ or it’s inherent ability to dodge shots due to moving and its size.
The point is to have a clear distinction between damage and hits. Instead of those 1-2 damage grazes, flavor text for misses is enough, maybe even correlating to how much you missed. ‘You shoot wide and miss’ , ‘Your shot misses the target’ , ‘Your shot went a bit stray grazing him but doing no damage.’.
Any any case, all calculations so far were done for ‘just hitting the target’. Where comes after.
You can have a listing after you push F to fire and select the target, like:
F. Shoot for center mass
- Shoot for the legs
- Shoot for the arms
- Shoot for the head
So, the once the to hit calculations come through as positive, and you hit the target, we decide whether you actually hit what you wanted. All the percentages here based on the player’s skill, with what i’d say to be 10 in the weapon specialization will mean you always hit the bodypart you aim for IF you actually manage to complete the ‘to hit’ calculation. 10 is relative, if there is a desire for more randomisation added with a higher ceiling we can use 15 or even the max 20.
For center mass, the chance should be at 80% that you hit it. The other 20% (which decreases down to 0% as you increase up to 10 skill, so at 10, you always hit) means you hit an ‘other’, say you hit the head instead of the torso for more damage, or the arm for less damage.
For legs/arms, we can use 60%, with the rest of the 40% means you hit something else, and of course, this decreases down to 0 at 10 skill. Hitting legs/arms does half damage but imposes penalties, see below.
For the head, something that should do something akin to double damage, i’d say it’s fair the base chance to actually hit it would be around 20%.
As far as i know, in Catalcysm so far there are no real ‘bodyparts’ attached to the monsters, and it would not be needed to model that for this system. Just fulfilling the required ‘hit’ to the bodypart will add a debuff. Hitting the legs will add a streight half-penalty to movement or something of the like and arms to their chance of hitting you with an attack.
That will make the game a lot more tactical. Do you want to slow that zombie before killing it or just outright kill it? What if there are two? Maybe you want headshot that extremely close zombie which you have a high chance of and then leg-shot that zombie dog to not get it within chomping range? I call this ‘fun’.
Of course, per enemy these names can be changed, and the debuffs modified and also some more unobvious parts ‘learned’ as part of a system, so a chicken walker would have:
F. Center mass
- Legs (movement penalty)
- Optical Sensor (dispersion penalty) (‘butchering’ required beforehand, or some Skill to a certain level)
- CPU Cluster (headshot damage) (same as above)
- Main Weapon (disable shooting)
Each modifyable via JSON via existing Flags, just to make it all blend together well with what we’re doing now. “Nohead” well, no head. “immobile” no legs, and so on and so forth. Alternatively a whole new section ‘Bodyparts’ that’s editable. We don’t have enough monsters in now as to say it’d be ‘too much’ of a workload.
Anyhows, after all those calculations, which actually were only two, the to-hit and the bodypart, we now have succesfully placed a shot on an enemy. Huzzah. Damage is applied now.
2. Damage
Compared to hitting, damaging is hugely simple. For normal guns, it’d be a straight 25% chance up/down from the listed damage, replacing the current ‘critical’ hits.
So using the .45 USP’s 32 damage with ACP (sorry, it’s my favorite handgun).
-25% You graze the 's . 24 damage.
+25% You place a great hit on the 's . 40 damage.
-25% on a succesful hit on the head. You graze the 's head. 48 damage.
+25% on a succesful hit on the head. You place a great hit on the 's head. 80 damage.
For bows/crossbows, the range to the target can decrease damage down to 60% of the base and then 25%+/- applied off that. There will be a lot of tweaking of optimal range for these, but the rulesets outlined here can be succesfully used for throwing items.
3. Conclusion
What will all of this actually do for the game?
- Players will get a better feel of their character’s progression as skills and gear contribute more to an increase in reliable damage and hitting chance instead of allowing a critical hit from a thrown nailboard to do more damage than a sniper rifle.
- Players will have a new gameplay element to really account for and which they will learn to play off of, increasing the depth and fun of the system. It will allow true sniping as well as allowing minimal guarantees as to the prowess of your character, both things that allow more self satisfaction since ‘you’ did that, not a lucky RNG roll.
- Game will be more realistic.
- Most things in the game, including crafting and movement are not RNG-based. It’s a play off statics mostly and having such a large variable hanging in the middle just doesn’t work for it. Call it a uniformisation of design.
In closing i just want to say that i’d love to help with this, but aside from writing pointless pseudocode i don’t have the C++ experience to really help in such a huge project. But bows as i envision them cannot really work within the current framework.