A proposal to make melee combat more interesting/realistic/balanced
Note that this proposal would require some rebalancing in the distribution of unit statistics, as well as the introduction of 3 new unit/item stats.
First I will describe the necessary stats for melee combat.
Strength (STR): Base damage of a unit. Modifies unit encumbrance (ENC). Modified by unit fatigue (FAT).
Dexterity (DEX): Base chance to hit and dodge. Modified by ENC, FAT, and number of attacks faced in a single round.
Constitution (CON): Base HPs of a unit. Modifies FAT.
Encumbrance (ENC): Measure of how much a unit is fatigued by their equipment. Modified by STR.
Fatigue (FAT): Measure of how tired a unit is (Fatigue points, FPs). Modifies STR, DEX, and Armor (ARM). Modified by ENC. When this goes to zero the unit is 'unconscious'.
Armor (ARM): Base armor or melee damage reduction, also by damage type(s). Modified by FAT.
Hit Points (HPs): The units life rating, when this goes to zero the unit is dead.
Now for the easy stuff. All 'rolls' are based off of a 1-100 uniform distribution. A '1' always means 'hit', a '100' always means 'miss'. To 'hit' you must roll the number or lower.
TO HIT: Base chance to hit another unit is:
50 + Dex * n - TARGETDEX * m.
Where 'n' and 'm' are some integer value which works within the statistical distribution model. For example, if n and m = 5 then a unit with 10 dex attacking a unit with zero dex would have a 99% chance to hit (since a '100' always misses). For any equal n and m if Dex is equal the chance to hit is 50%. n and m do not have to be the same, do not have to be fixed, and thus could be modified by weapon types, experience, or special abilities.
DAMAGE: Damage done to HPs or FPs.
DAM = (STR/ARM+1 + (Weapon Damage)/(Armor Resistance)) - ARM
Where Weapon Damage is the damage the weapon does and Armor resistance is 1 for all armors not resistant to the specific weapon damage and 2+ (depending on balance needs) for armor which is resistant to the weapon damage type. Clearly the implication here is that STR and or Weapon Damage will be generally higher than Armor values, though Armor values will degrade during longer combats (see below).
Damage is applied to both HPs and FPs by the following rule:
If DAM < CON then all DAM is applied to FPs. If DAM >= CON then DAM/2 is applied to each of HPs and FPs. If FPs are zero (or go to zero) then all DAM (or extra DAM) is applied ot HPs.
Encumbrance: ENC = Sum[of Item ENCs] - STR. If ENC < 1 then ENC = 1.
Fatigue: Base FPs = 100 + CON.
Fatigue is reduced by every action (attacking, defending, moving) taken or performed on a unit by the units ENC. Minimum of 1 FP per action.
FPs can be regained by CON/x, where x is a positive integer dependent on unit type/special abilities/...
FPS can only be regained if a unit takes NO ACTION during it's round.
When FP < 65 unit STR = STR*.75, unit DEX = DEX*.75
< 35 unit STR = STR*.5, unit DEX = DEX*.5, unit ARM = ARM*.75
< 15 unit STR = STR*.25, unit DEX = DEX*.25, unit ARM = ARM*.5
= 0 unit STR = 0, unit DEX = 0, unit ARM = ARM*.25, unit can take no actions of its own
Units cannot go below 0 FPs. If FPs are lowered due to taking DAM the additional FPs below 0 are applied to HP.
Effect of multiple attacks on a single unit:
Current technologies allow for the grouping of multiple units into a group, combining their stats. This system would not do that, but it would provide for a different bonus due to increased unit sizes. Firstly, each attack on a unit decreases its DEX by y (where y is a value determined by balance/special abilities), thus making it easier for subsequent units to hit it. Now if you have 2 armies of 4 units each facing each other, but one armie has the tech to put their units into a group, the attacks they face would be spread among them. Such that the grouped units would attack a single unit 4 times, lowering its DEX for the 2nd - 4th units striking it. The individual units would attack the grouped units 4 times, but each unit in the group would only face a single attack, and thus have no DEX reduction in the TO HIT roll.
A group of 8 units attacking a group of 4 units would put 2 attacks on each of the 4, while only seeing 1 attack on 4 of them.
This is also an important consideration due to the fatigue stat, as a unit seeing 4 attacks will have to drop FPs at 4*ENC, which could quickly put it in a more vulnerable situation, both offensively and defensively, while the larger group would each only take 1ENC hit to their FPs, and be able to effectively battle on longer.
So the value of being able to group your units is preserved and indeed, very valuable compared to individual units, even if you are facing the same or slightly more enemies. One could even provide a DEX and STR bonus for the grouped units if it was felt such an addition were merited, or it could be a separate tech to further fill in the tech tree.
Special Abilities: Of course this system also opens up new abilities to provide for units a few off the top of my head are:
Parry(2+): Number of attacks a unit can receive before taking a DEX reduction.
Endurance(2+): Reduces FAT damage/drain by ENC/VAL(Endurance). Minimum is still 1.
Armor piercing(x%): The ARM value in the Damage equation is multiplied by x% (so reduced...)
Armor negating: The ARM value in the Damage equation is set to 0.
Recover(2+): The unit recovers FPs at a rate of VAL(Recover)*CON/x
Also plenty of new spells could be created to affect encumbrance and fatigue.
Note on Monsters:
Of course this system also applies to monsters, they would have the same stats, and would have weapon damage values assigned to their attacks (claw, bite, tail lash, ...). They could also have higher starting values for FP, or suffer 0 ENC if that makes sense (think golems or elementals or constructs...).
Note on Weapons/Armor:
Every weapon would need to have a Damage value and an ENC value. They could also have attack and defense values which would apply to DEX when attacking or defending. Negative values would show that the weapon is difficult to wield, or useless for defense.
Armor would need an ARM value, ENC value, and resistance type. Mixing armors with different resistance types would require calculating the fractional resistance vs. total ARM value to modify the DAM equation, but that is trivial to do. Else only the res type on the armor with the highest ARM value applies for the unit, in the case 2 or more ARM values are equal the res type is randomly picked from those pieces for each attack.
Change of the combat system to make it more realistic/interesting. This involves creating new stats, ENC and FAT to provide a new mechanic by which units gradually tire as a combat progresses, making them easier to hit and damage. Grouped units have individual attacks, but still retain a significant advantage over individuals (or smaller groups) due to the ability to spread FAT and focus attacks. Battles might take longer, though balancing of the DAM equation as well as the TO HIT equation can modify the rate at which units are killed/rendered unconscious.
Hope some of you feel like reading this and commenting. Questions and criticisms are welcome, so long as they are coherent...
 forgot to mention that the DAM equation can have a random element added to it, likely in the form of weapon damage (WD) = dWD and or ARM also having a similar random element, though only the ARM which is subtracted at the end.