Generally the current blocking system feels pretty nice and natural. What I have problem with is that block always mitigates all the damage not taking into account things like weapon mass or characters size and strength. It is quite absurd that a 50kg elf wielding a dagger can easily block a heavy 2H axe blow from a 120 str / 140kg chunk of meat without any consequence. In situation like this such hit should go through and deal serious damage despite being blocked. Weak character with light weapon would simply not have enough strength to stop that especially with light weapon lacking any significant inertia.
My suggestion is to implement a blocking system that is dependent on weapon mass and character stats. I myself would do this by calculating the kinetic energy that the weapon has during the attack and then the amount of energy that is possible for blocking character to be stopped. If the second value is bigger - the block stops all the damage. If the weapon kinetic energy is bigger - the block would be overpowered and the rest of the energy that goes over the limit would go through and do damage proportionally.
I think that such system would be more realistic and also make slow and heavy weapons more popular and useful in combat. All necessary data for such system is already in game. All that is needed is a proper formula to calculate the values.
My suggestion is to implement a blocking system that is dependent on weapon mass and character stats. I myself would do this by calculating the kinetic energy that the weapon has during the attack and then the amount of energy that is possible for blocking character to be stopped. If the second value is bigger - the block stops all the damage. If the weapon kinetic energy is bigger - the block would be overpowered and the rest of the energy that goes over the limit would go through and do damage proportionally.
I think that such system would be more realistic and also make slow and heavy weapons more popular and useful in combat. All necessary data for such system is already in game. All that is needed is a proper formula to calculate the values.