Whether penalties can make you worse than random depends on your definition of random, what’s the chance of an unaimed weapon attack hitting something? practically 0 right? The problem with applying that reasoning to the melee system is we aren’t simulating anything, it’s just a game-y chance to hit thing, with ranged we tally up sources of inaccuracy in MOA, and pick a line within that cone for the actual trajectory, it’s a simulation of balistic fire. Since it’s a simulation, we can say things like, “this is the most inaccurate this shot is going to be”. But with melee we aren’t simulating the strike. I’m not saying we should, I’m not at all sure what that would look like in code, but that does leave us without a foundation to base things on. I’m not saying it’s hopeless or that we need to rework how melee works, we just need to be aware that this is a game-y “this is your chance to hit”, the realism comes in in the weapon stats, we at least want them to be reality-based, even if the underlying hit system isn’t a simulation.
So yea that’s pretty off-topic, I’m not sure if that has any impact on adding a lower cap for weapon stats. I guess I need to take a close look at the to-hit melee system and figure out exactly what to-hit means.
Speaking of, damage calculation is pretty crazy.
Bash is roughly (scaled) str + weapon bash, but capped by stat + skill, so no matter how good your weapon is, it caps your damage output. So ideal bash weapon is the fastest weapon that reaches your cap. Might want to reexamine that. Also note that str and weapon damage are added, not multiplied like you might expect. Obviously this is quite anti-simulationist, pretty reminicient of DnD.
Cut and stab both use the pertinent skill to reduce effective target armor.
Cut doesn’t reference a stat, but is scaled based on the pertinent skill.
Stab is scaled on stabbing skill, but only on crits. Also doesn’t reference a stat.
Breaking down weapon properties that would influence damage:
Impact surface can be blunt or broad, but either way there’s a part of the weapon that does the hitting, so we want to evaluate how good it is at doing its job. This is broken down into bash damage and cut damage, and cut damage is either applied as a cut or a stab.
Weight isn’t factored into the damage calculation, so if it’s going to have an impact (ha) we need to roll it into the damage numbers, might have seperate weight and balance, or just a “momentum” component that just says how much force it has behind it when it hits. This would be for a “typical” swing, not some sliding scale based on strength. Alternately we can factor balance into the damage as you suggest, and factor weight in on the code side. That would greatly reduce the range of weapon damage, and it would be a measure of “how hard does this hit for its weight”.
I might be myopic, but those two qualities, impact surface and momentum seem to cover it, to drill down into impact surface you have to start definining what kind of impact it is, and it gets all messy. And this might be too out there, but it seems to me these would be multiplied rather than added.
A side note, the damage calculations might just be messy enough that we need to revisit them before (or along with) definining guidelines for how to set their parameters.