SP - General Armour. Why it doesn't work and how to make it work

Users who are viewing this thread

I highly support that idea! It would be kind of like Kingdom Come did it, wouldn't it? They did a pretty good job on giving armor types actual meaning and realistic demage vulnerability. Something like that would bring so much more debth and dynamic into the armor part of Bannerlord.
 
Probably lot of mistakes here but this is what I think.
All weapons should deal blunt damage depending on weapon speed, weight and balancing. If transfered energy is not fully absorbed by armor it should do damage to the body.
Besides, those weapons that penetrate armor should do cut damage on top of blunt damage. Just because it penetrated it doesn't mean it didn't transfer energy to the body.
Only high velocity projectiles could be piercing, but they would deal blunt damage and cut damage if penetrating.
The formula for penetration should be based on impact area, speed and resistance of material.

In short, the idea of different damage for different weapons is meh, but it works ok. However I really don't understand those damages and prices based on weapon tiers. And the differences based on weapon types doesn't make sense either. As someone pointed out, some polearms, 2H weapons, maces... are way too easy to handle.
I think that all-weapons-do-blunt is right, so for cut and pierce there should be a multiplier for that damage wich penetrated armor.
So if one compares an axe to a sword, the sword should get a better handling (and more expensive, and not for recruits).
But the axe should deal more damage. Basically...until that damage penetrates the armor, then the sword should get the higher multiplier,
for having the longer cutting area.
Well, and to calculate this damage the armor-rating gets substracted from the damage done.

And maybe the absorbed damage isn't just gone, instead it gets divided by an armor value, and this just simulates blunt.

I think different armor types would become too complicated, due to overlapping armor-pieces.
And there isn't plate-armor, both lamellar and scales are still flexy, and chain mostly comes along with padding...
so i think different armor-types aren't that interested, maybe exept : for the head !
This could be collusion-based. Wich would result in a vlandian advantage.
Wich on the other hand could balance out the lack of shoulder-armor.
And it could restrict ranged combat.

I think hit-locations could be more detailed, with neck, shoulder, chest, abdomen, and maybe front/back...
and then pierce is specially good at chest-hits, and cut at limbs...
 
Is anyone familiar with Kenshi? Here's a quick summary of the applicable mechanics as food for thought.

The armour mechanics include the notion of coverage (i.e. what % of the head a helmet covers) which would get to the point of gaps in the armour where no or reduced armour resistences apply. There is also the notion of layered coverage, so that if the arm coverage from my body armour is bypassed, then my gloves could stop it.

All weapons deal both cut and blunt damage, and all armour has cut and blunt resistance ratings. So armour with a 50% resistance negates 50% of that damage type. Blunt resistances are generally lower than cut on armour, especially light armour. Blunt weapons tend to do less overall damage but overcome resistance more easily.

In addition, the cut damage that is not resisted can be converted to blunt damage, because your helmet may have resisted the cut, but you still got your bell rung by something heavy. So armour has two cut modifiers, resistance (negates x% of cut damage) and efficiency (how efficiently it blocks the blunt conversion). So lighter armour may have decent cut resistance, but compared to heavy armour it doesn't absorb as much of the power of the blow and has much poorer cut efficiency. Also, the layered armour again applies, so the damage that made it through your main armour gets impacted by secondary or under armour.

The trade-off is that heavier armour impacts your combat stats, because it's harder to move around in or see in. There is also a weight encumbrance effect.

Weapons also have required abilities and skill levels to use properly, so you aren't using that big freaking two-hander to full effect if your strength is 3 and your two-hander skill is 10.
 
Nobody is going to open their inventory and swap a sword in to fight looters, they're just going to have a mace equipped 24/7 because the mace will work well enough against bandits and peasants, because they're bandits and peasants. You know I'm right.

If you're proposing people carry a sword and a mace at the same time, did that happen at any point in history? I'm no military history expert. Also please don't make swords and maces mandatory.
A mace will typically have a shorter range, and often a lower base damage value, so it's not the ideal solution against lightly armored OR unarmored opponents. Strength would come into play, where a cutting weapon in the hands of a weak wielder might not do much of anything against a heavily armored opponent, but a mace wouldn't be sufficient to one-shot looters. You and your companions might end up armed differently, with some optimized to take on the masses, others optimized against strong opponents, and possibly one or two with "general purpose" piercing weapons that are moderately effective at either, but ideal for neither. The main effect would be how the regular troops perform against different enemies.

At low level, while Strength might not be adequate to overcome armor effects without modifiers, you'd typically avoid taking on fully armored knights, unless you were specifically prepared and equipped to engage them. Fully armored knights should be rare enough that you generally wouldn't carry specialized weapons to deal with them, at least until your regular troops were trained up to the point where they could deal with the opposing regular troops without massive player assistance, so you could concentrate on taking out the opposing leaders.

At high level, your strength would probably be adequate to overcome armor deflection and absorption with plenty to spare, regardless of what you use, although it might mean not "one-shotting" an opponent that your current weapon isn't ideal against. That doesn't mean having to equip two weapons in every battle, but in the early game you might want a couple of spare weapons in inventory to equip before engaging a different class of opponent that you're not currently set to deal with. The current mechanic of having everything "general purpose" and interchangeable makes it almost irrelevant as to what you use. Choices with no consequences are merely the "illusion" of control.

Historically, some companies of knights were armed with lances and swords, while the officers were armed with either axes or maces. The group of knights would charge an enemy formation, but its officers would primarily engage the opposing leaders, where their weapons were more effective than the usual swords. There were also weapons (1 handed or polearm) with a hammer on one side and a spike or axe blade on the other, which don't work well with M&B's weapons system.
 
Last edited:
A mace will typically have a shorter range, and often a lower base damage value, so it's not the ideal solution against lightly armored OR unarmored opponents.
I think it would make more sense if it would be the other way :
a top-heavy weapon like a mace would do more damage than a sword of the same size.
And because the mace does more damage it's more effective against armor.
But : that damage wich gets through gets multiplied for cutting weapons.
So let's say i have 60 damage, the armor substracts 50, now i'm at 10,
but it's cut so it gets multiplied by, let's say 1,3, so it's 13 points now.
And that 50 absorbed point's stay blunt, so let's say the 50-armor substracts 50%,
so there are still 25 points, so total damage would be 13+25=38 now.

And for calculating bash the total unmodified damage should be relevant,
and cutting could even take away from this, so in the given example where the cut does finally 3 extra-damage,
these 3 point could get substracted from the original 60, turning them into 57,
for calculating bash (or shecking against pushback-treshholds).

Edit :
And for swords it could make sense if the (base)damage gets higher the closer the impact-zone is towards the tip,
because the acceleration would be higher - wich would make it more effective against armor.
On the other hand the cut-multiplier should get higher the closer the impact-zone is towards the hilt,
because this would mean that more of the lenght of the blade gets in contact - wich would be most effective against weak armor.
( and for calculating stun-effects the penetrated damage could get used, but without cut-multiplier )
 
Last edited:
The current mechanic of having everything "general purpose" and interchangeable makes it almost irrelevant as to what you use. Choices with no consequences are merely the "illusion" of control.


Illusion of control is also when there is an obvious best weapon. Do you gimp yourself or go for the best damage? That's not really a choice.

Weapons should be distinct in their length, speed and function rather than RPG style damage numbers. So players can choose the weapon that suits their playstyle, rather than picking the sword of looter slaying, or the mace or noble vanquishing.

I'm in favour of switching weapons for a specific scenario, if supported by the game, like having a sieging loadout where you can ditch a lance or other unwieldy weapon in favour of a crossbow. This also makes real world sense. But the mace/sword argument runs into problems due to how the game works. For example, you decide you want your guy to be the one that fights the armoured guys and headhunts nobles, so you'll be wanting a horse then, meaning there's already a lot better options than the sword or mace. Say you're on foot, the sword or mace become a lot more useful, but you end up with far less choice in who you'll be fighting. I like that you referenced real world stuff, which gives a nice idea of how things could work, but I doubt this game will ever be like that. The moshpit combined with facing completely random armies of local recruits and recruited prisoners of varying tiers make a lot of these ideas about how weapons should work fairly moot.
 
Last edited:
There were also weapons (1 handed or polearm) with a hammer on one side and a spike or axe blade on the other, which don't work well with M&B's weapons system.

Could be solved with the "x" button potentially, switching the side you use to strike with.
 
I know this has the "forwarded to the developers" tag, but as this was some time ago, people have been voicing their concerns about this issue most recently.

Sifting through .xml files, and specificaly through spitems.xml back in the closed veta period, i noticed that every piece of clothes and armour had it's own modifier group, tied to the material out which the item is made of (cloth, leather, chain, plate etc):
24uZkJ4.jpg

I always tought this would have a meaning, and maybe it will, but not yet implemented, however i believe the ground is set to distinguish armour parts per materials and thus the damage taken/absorbed tweaked according to the damage type.
I would like to have some light shed on this, if these modifier groups have, or will have a purpose and what will it be, by a dev if possible.

Such a quality thread, both in presentation and suggestions deserves not to sink to the depths of The Citadel, i'm moving it to the Suggestions board and will be adding it to the Singleplayer Top Suggestions, under Player, NPCs and Troops for now, but leaving the thread itself in the general SP Suggestions area, because this is a very important matter that affects both SP and MP.

 
Sifting through .xml files, and specificaly through spitems.xml back in the closed veta period, i noticed that every piece of clothes and armour had it's own modifier group, tied to the material out which the item is made of (cloth, leather, chain, plate etc):

I always tought this would have a meaning, and maybe it will, but not yet implemented, however i believe the ground is set to distinguish armour parts per materials and thus the damage taken/absorbed tweaked according to the damage type.
I would like to have some light shed on this, if these modifier groups have, or will have a purpose and what will it be, by a dev if possible.

These factors that currently do not apply to damage calculation, (Cloth, leather, chain, plate etc) should be given simplified categories that indicate the level of protection each armor type provides. For example: Cloth would be considered "Light Armor", Leather+Chain could be considered "Medium Armor", and Plate could be considered "Heavy Armor".

With these newly established categories, we can apply the following rules to damage calculation:

Blunt damage is strong against "Heavy Armor" and would receive a damage multiplier upon making contact with a piece of this armor type.
Piercing damage is strong against "Medium Armor" and would receive a damage multiplier when an arrow, or a spear, makes contact with with this armor type.
Cut
damage is strong against "Light Armor" and would receive a damage multiplier when a sword or axe cuts and makes contact with this armor type.

You could take this one step further and make damage types weak against certain armor types as well. For example:

Blunt damage is weak against "Medium Armor" and would receive a damage penalty upon making contact with a piece of this armor type.
Piercing damage is weak against "Heavy Armor" and would receive a damage penalty upon making contact with a piece of this armor type.
Cut damage is weak against both "Medium Armor" and "Heavy Armor" and would receive a damage penalty upon making contact with both armor types.

Damage calculation is already applied to individual limbs and body parts, so by simply adding these categorical classifications to the armor sets and applying the appropriate damage multiplier or penalty to each hit, weapons and armor would have unique functionality and more specialized uses making for a much more immersive and realistic experience.
 
Last edited:
Sifting through .xml files, and specificaly through spitems.xml back in the closed veta period, i noticed that every piece of clothes and armour had it's own modifier group, tied to the material out which the item is made of (cloth, leather, chain, plate etc):

I always tought this would have a meaning, and maybe it will, but not yet implemented, however i believe the ground is set to distinguish armour parts per materials and thus the damage taken/absorbed tweaked according to the damage type.
I would like to have some light shed on this, if these modifier groups have, or will have a purpose and what will it be, by a dev if possible.
Some thoughts:​
  1. The idea is to first work on the data already available and generate new necessary data, then, organize that data with graphs and statistics.​
  2. Making classes for each weapon type/projectile of the game according to their design (e.g.: for each major different design of polearm, sword, mace, arrow head, bolt head ...) Establishing what each damage type does and what weapons represent best that damage type for each weapon class.​
  3. Attributing armor values (to different damage types) according to each armor material; some real world testing would be great, there is plenty of resources available online that can also serve as reference to make some graphs.​
  4. Look at the materials that compose each armor and workout a formula that factors in the combination of several armor materials (e.g.: just simply adding the values). Each material can also vary in thickness/other so a (x) % of that material armor value would indicate the quality of it.​
  5. Now calculate the % of body coverage that each armor material covers and multiply that by the armor value of that material. For multiple armor apply the previous formula --
    1. [(x) armor value] x [(z) % armor thickness/quality] x [(v) % armor coverage %] + [(h) armor value] x [(u) % armor thickness/quality] x [(w %) armor coverage...]
  6. For weight calculations I think the best option is to look at real armor pieces that are similar in design and materials, then use the real world weight of those armor pieces as a relative number to other armor pieces and implement the same relative difference to the weight values of the game. By doing this you could also estimate armor weights based on the established % body coverage of certain armor piece (e.g.: if you know the weight of a breastplate, you know the weight of any armor piece made of plate by multiplying thickness/quality % and % of body coverage of the armor piece. --
    1. [(a) weight of an armor made of a certain material] x [(b) % of thickness/quality] x [(c) % of body coverage of the armor piece].​

These factors that currently do not apply to damage calculation, (Cloth, leather, chain, plate etc) should be given simplified categories that indicate the level of protection each armor type provides. For example: Cloth would be considered "Light Armor", Leather+Chain could be considered "Medium Armor", and Plate could be considered "Heavy Armor".
@Ling* I believe that by only having 3 categories you would loose to much data, in the end it would require much more testing and tweaking.
 
This is an awesome post and it's very well presented. I hope it's still in discussion amongst the devs as the current state of armor and weapons doesn't make much sense, leaving pretty much everything and everyone in one-shot territory from horseback and in 2-3 shot territory on foot. This results in short, unsatisfying battles and winning by mobbing the enemy with numbers or thinning his herd with arrows before mobbing him with numbers.

While the discussion on how to make armor viable is great, I think the approach should be top-down, effect to cause.

Instead of deciding "oh, well a sword does 50 damage and a mace does 40 damage and a spear does 30 damage, but that one goes through armor like that, and that one is blocked like that", the desired effect should be put into perspective first and then the math adjusted so that effect is obtained.

By this, I mean deciding that, for example:
An imperial Legionaire, the best-armored troop in the game, should go down when fighting an equal-tier opponent in...10 hits? It sounds like a lot, but there are 3-4 guys landing hits on him, he will go down sooner rather than later. Fighting a looter, he should go down in 20-25 hits? he costs as much as 10 recruits, why not have him behave like it? Take that number and give cavalry and archers a bonus... let's say that he'll go down in 5 arrows from a high tier archer or 10-15 arrows from a low tier archer. Have charging cavalry take him out in 2-3 direct couched lance hits, so Cavalry serves a purpose when charging.

This then trickles down to lower tier units, where unarmored peasants go down like a sack of potatoes to 1 hit from a two-hander, two-three hits from a sword, unless hit in the head, etc.

The point is that by deciding what you want the answer to be, you can then decide on what the variables should be. If there is no plan for this and only the formulas and weapon values are tweaked, we get a lot of imbalance in the form of some weapons/units being overpowered while others being overly weak.

Also, a hard cap on damage past a certain threshold should be put into place and more use made out of location damage multipliers. For example, limiting two-handed polearm swing damage, javelin +speed bonus damage as well as couched lance damage to a maximum, predefined amount of raw damage ensures that you can balance the end result around whatever you intend it to be. Let's say that you want those to be super-powerful and one-shot everything short of the absolute top-tier units. That is achievable if you know what that maximum damage value is and how you adjust for it with armor.
 
Does anyone know if this forumla is still accurate? Ive got some questions about the code because im trying to understand what it says but for example have no idea what 'float' means for example and it makes it hard to read the code xD Likewise I would love to know how magnitude is exactly calculated? I expect its something along the lines of weaponskill, speed of attack etc. influencing a flat damage numbert from your weapon but if its in the code listed here, I dont see it :unsure:

That said the simplified line I can read and it put it in an excel sheet and experimented abit with it and found some interesting things out. I used this formula to do some maths in excel:
magnitude* 100/(100 + armour) - (1 - FactorByDamageType )* 0.5 * armour​

Using FactorByDamageType of 0,1 for cutting damage.

First of all, the amount of damage reduction is mostly effected by how much damage is incoming. If you have say...30 armor and take a hit of 50 slashing damage you would (or should) get 24,96 damage in total. A damage reduction of 25.04 points or 50,08%. Not bad.

If you have that same armor though and you take 60 damage that same armor only reduces it by 27,35 or 45,58%. With 70 damage that damage reduction gets reduced to 29,65 or 42.36%.

So essentially: the bigger the incoming blow is, the less your armor will do for you.

Secondly, I compared the differences between increasing armor or damage by multiples of 10 and examined the results.I wanted to know if increaseing armor values has any significant results on the amount of damage reduction.

I noticed that to remove damage completly (or at least trivialize it) your armor needs to be equal or higher then the incoming damage. For example a hit of magnitude 60 will only do 10.5 damage if you have 60 armor. And by 70 armor its reduced to 3,79 damage. But getting armor that high is pretty hard, if not impossible.

For the damage comparisons I kept a armor value of 30 which is mid to high tier in most areas. Say a nice chainmail vest with some shoulder armor providing a bonus for example. 40 is also doable in some cases with high tier armor or in places where armors overlap like the legs or arms.

Anyway. With armor 30, attacks with magnitude 10 are completly negated. Magnitude 20 attacks would do 1,88 damage. Magnitude 30 it goes up to 9.58. Magnitude 40 is 17,27. Magnitude 50 is 24,96. Magnitude 60 is 32,65. Magnitude 70 is 40,35. Again, all calculated with cutting damage mind you. The damage numbers for blunt and piercing with these values arent pretty and cutting damage is the best case scenario. It has the biggest protection against incoming blows and its already pretty clear armor does next to nothing against big hits if this damage formula is indeed accurate....

To quikly recap this: to get any worthwhile amount of damage reduction your armor values need to be as close to the incoming damage as possible. And something tells me armor doesent scale as easily as damage does... It all depends on how 'magnitude' is calculated but if people killing people in 1 hit in MP is any indication (or indeed the player in SP with a big enough weapon) its pretty damn clear that armor is indeed pretty damn worthless against incoming (big) hits.

Tl.dr what I get from this: Bigger numbers is better! Armor is only usefull for small blows and doesent scale to the degree that attacks do. That also explains why 2 handed weapons completly cleave through armor as the damage they do completly makes a mockery of anything this formula could do for you. You simply cant achieve the armor values needed to survive these hits, let alone trivialize them.

The best way to not get damage is thus to not get hit. (very usefull info I know :roll:). Seeing as movement can be a big thing in not getting hit maybe wearing less armor can be a very wise choice in some cases as well. Shields could also help but only against ranged projectiles and 1 handed attacks. 2 handers also make a mockery of those and equipping a shield slows down your own attacks making the chance that you can fend off that raging beserker alot lower.

Nothing we dident already know and please excuse me for nerding out, but im a big math guy :mrgreen:
 
Ive got some questions about the code because im trying to understand what it says but for example have no idea what 'float' means for example and it makes it hard to read the code xD
A float is a floating point, a data type that has floating decimal point numbers in it.

When I asked for advice a few months ago, they recommended https://www.codecademy.com/learn/learn-c-sharp and https://docs.microsoft.com/en-us/dotnet/csharp/tutorials/ to get a handle on C# basics like that.
 
So essentially: the bigger the incoming blow is, the less your armor will do for you.
Tl.dr what I get from this: Bigger numbers is better! Armor is only usefull for small blows and doesent scale to the degree that attacks do. That also explains why 2 handed weapons completly cleave through armor as the damage they do completly makes a mockery of anything this formula could do for you. You simply cant achieve the armor values needed to survive these hits, let alone trivialize them.

The best way to not get damage is thus to not get hit. (very usefull info I know :roll:). Seeing as movement can be a big thing in not getting hit maybe wearing less armor can be a very wise choice in some cases as well. Shields could also help but only against ranged projectiles and 1 handed attacks. 2 handers also make a mockery of those and equipping a shield slows down your own attacks making the chance that you can fend off that raging beserker alot lower.
I believe this formula needs to be changed.
But how should it be changed?
In my opinion we are focusing on the wrong problem.

The problem is not the only formula, but ALSO the formula.
So what's the other problem that needs to be solved?

The number of armor slots in relation to the number of hurtboxex.
Currently the ratio is 1, meaning all hurtboxes are armor slots.

Here I propose an alternative armor system to the current one and which in itself does not conflict with this thread, because it suggests that the modification of the formula should be done after modifying the relationship between armor slot and number of hurtboxes.
link->JOINT HURTBOXES and ARMOR HURTBOXES: an armor system that provide a way to balance factions warfare and make more deep the combat system(suggestions)

If the number of armor slots is less than that of the hurtboxes => some cannot be covered.
So, once this is established, it has the consequence that an enemy, even if he has an armor with very high protection (armor value), is still beatable if he is hit in the right places.

This solves two problems:
1) it is possible to put armor with armor value such as to reduce the damage to zero when an armor slot is hit, since in the hurtboxes that are not covered or that are not armor slots you still suffer damage and therefore you can be defeated.
2) the spam of the attacks is discouraged in proportion to the number of pieces of armor worn by the enemy, based on the type of protection and based on the armor value.
Against heavily armored enemies, spamming you risk hitting an armor slot and therefore inflicting little or no damage on it in the case of plate armor.
However, spamming is not very convenient against medium-armored enemies.
Against those that are not heavily armored, on the other hand, it is likely that you will hit a hurtbox discovered or with a low weapon value and therefore spamming is less inconvenient.
Obviously I have briefly described the content of the thread that goes much deeper and also proposes a system of equipment durability and a formula that relates the armor value and the damage value with the durability of the armor or weapon. (I use half Gaussian centered on the maximum armor value and on a positive minimum and not zero around about 30% of the armor value).
And taking advantage of the durability of the equipment (expandable system also all the tools and game goods), I suggest a rework of skill smithing.
In general, all my threads are linked together, so that if a mechanical date is mentioned in a thread, just below you will find the link to see how it works.

As for dodging, I have suggested a mechanic that is BALANCED, that is REALISTIC and HISTORICALLY ACCURATE.
link->NON-SPAMABLE DIRECTIONAL STEP-DODGE new mechanics suggestion
 
Back
Top Bottom