Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1] 2

Author Topic: How is armor thickness/weight determined?  (Read 2858 times)

Deinos

  • Bay Watcher
    • View Profile
How is armor thickness/weight determined?
« on: May 17, 2013, 12:05:56 am »

So its probably well known by now that the cloth armor a demon-god wears is often strong enough to repel adamantine blades, because it is upsized to fit a monster 167x the size of a dwarf. More proof of this is that elephants and giraffes can barely move in their giant armor.

This leads me to wonder, since all castes of the primary race of a civilization can wear that civilization's armor, in a mod where there are radically differently sized creatures (like Orc Fortress) as part of one race, who determines the thickness/weight of the armor? The current wearer or the builder?

This concept extremely amuses me. If the weight/thickness of the armor depends on the builder, then
Logged

smakemupagus

  • Bay Watcher
  • [CANOPENDOORS]
    • View Profile
Re: How is armor thickness/weight determined?
« Reply #1 on: May 17, 2013, 01:05:33 pm »

Hmm.  Interesting question.

I guess that it's the wearer, because the wearer seems to also determine the size of armor for the purpose of whether it fits.

Crazy Cow

  • Bay Watcher
  • Legendary Procrastinator
    • View Profile
Re: How is armor thickness/weight determined?
« Reply #2 on: May 17, 2013, 01:36:30 pm »

While I have no sure answers, I'd go so far as to say that it's the wearer. I know that, when entities with wildly different castes create armor, one set will fit every member of the entity; this at least suggests that the thickness of the armor is determined by the wearer.

Deon

  • Bay Watcher
  • 💀 💀 💀 💀 💀
    • View Profile
Re: How is armor thickness/weight determined?
« Reply #3 on: May 17, 2013, 01:39:46 pm »

Yeah, DF platemail is like a spandex :D. It does not have a real "size", it has a range of sizes it fits. It may be the biggest for weight, someone should test it.
Logged
▬(ஜ۩۞۩ஜ)▬
✫ DF Wanderer ✫ - the adventure mode crafting and tweaks
✫ Cartographer's Lounge ✫ - a custom worldgen repository

smakemupagus

  • Bay Watcher
  • [CANOPENDOORS]
    • View Profile
Re: How is armor thickness/weight determined?
« Reply #4 on: May 17, 2013, 01:48:29 pm »

I opened up an Orc fort, and on the (v)iew (i)tems menu a bronze mail on an orc is reported to weigh the same (18 urists) as it does on an uruk.

Black_Legion

  • Bay Watcher
    • View Profile
Re: How is armor thickness/weight determined?
« Reply #5 on: May 17, 2013, 01:52:27 pm »

The [COVERAGE:<xyz>] tag has some play in giving the equipment some kind of "thickness"... of sorts. Most armor and clothing is "100" meaning it covers the whole of the area it is set to cover.

Various experiments with cloth-style armor and Grimm's Historic Armory mod shows that when this value is increase beyond 100, it gives has some influence on how hard it is to penetrate the piece of equipment. An example is to copy the raws for ITEM_ARMOR:ITEM_ARMOR_COAT and set its [COVERAGE:100] to [COVERAGE:300] will increase the protectiveness of the armor... seemingly by "wrapping" the armor around itself multiple times. This is as always a necessary abstraction but I've found that using Grimm's values of [COVERAGE:156] can still increase the perceived "thickness" of a material...

Of course if you just want equipment and tools to more material to build/create you just increase the [MATERIAL_SIZE:<xyz>] token. Essentially take the value for <xyz> and divide it by 3. That's how many bars , boulders, cloth, ect it will need to create. This means for a value of around say... 15 ... I can make your standard breastplate take around 5 bars to craft.

Hopefully this helps add to the discussion. I'm making some alternative armor modifications myself and I'll be running some tests on just what [COVERAGE: ] can do for an armor. I'm not skill in performing SCIENCE but this could be a fun way to learn.
Logged

Deon

  • Bay Watcher
  • 💀 💀 💀 💀 💀
    • View Profile
Re: How is armor thickness/weight determined?
« Reply #6 on: May 17, 2013, 02:07:24 pm »

I have never realized that coverage can work this way... Go go power armor and other advanced armors!
Logged
▬(ஜ۩۞۩ஜ)▬
✫ DF Wanderer ✫ - the adventure mode crafting and tweaks
✫ Cartographer's Lounge ✫ - a custom worldgen repository

scamtank

  • Bay Watcher
    • View Profile
Re: How is armor thickness/weight determined?
« Reply #7 on: May 17, 2013, 04:22:14 pm »

LAYER_SIZE is the other big determiner.
Logged

Black_Legion

  • Bay Watcher
    • View Profile
Re: How is armor thickness/weight determined?
« Reply #8 on: May 17, 2013, 04:51:33 pm »

From what I've seen in my own studies [LAYER_SIZE:<xyz>] is used for "stacking" purposes in concert with [LAYER_PERMIT:<xyz>]. I haven't seen any behavior on making the piece of equipment more protective other than the fact that keeping LAYER_SIZE low and LAYER_PERMIT high allows you to "stack" more of them on the individual. An attack seems to take each of these in concert when determining penetration. While having a high COVERAGE seems to "thicken" the single armor by wrapping it around itself having multiple pieces of armor means that the attack must go through each layer in turn.

For Example:
***NOTE: these are nowhere near the precise statistics...
It's like with having a high COVERAGE all attacks 5-15% chance to penetrate through the layer while with the stacked armors, with standard coverage of 100, it seems to be around a 40-50% to penetrate each layer. So a single attack only has a single small chance to carry on its damage through the single piece of thick armor, a single attack versus stacked armors has to make multiple penetrative "checks" to go through each layer... I'm pretty sure the force of the attack is degraded at it check through each layer but it could be wrong... I don't think that is though otherwise the standard method of stacking plate on top of chain on top of a padded "arming" layer may be wrong...

It's essentially the bulk of the object when worn, while the LAYER_PERMIT is how much bulk can be allowed with that apparel. Normal clothes tend to be around 10-15 in "bulk" but have a greater LAYER_PERMIT than armor equipment. Essentially its these values that allow a dwarf to shuffle themselves around with 5 cloaks, 5 hoods, a cap, a helm, 3 chain shirts, a breastplate, 2 leggings, 1 set of greaves, a pair of socks, a pair of high boots, and along with a matching set of gauntlets under a set of mittens... its an odd thing
Logged

Deinos

  • Bay Watcher
    • View Profile
Re: How is armor thickness/weight determined?
« Reply #9 on: May 17, 2013, 09:28:02 pm »

I opened up an Orc fort, and on the (v)iew (i)tems menu a bronze mail on an orc is reported to weigh the same (18 urists) as it does on an uruk.

Ah yes, but has anyone tested whether an olog or snaga armorer's armor weighs differently?
Logged

Urist Da Vinci

  • Bay Watcher
  • [NATURAL_SKILL: ENGINEER:4]
    • View Profile
Re: How is armor thickness/weight determined?
« Reply #10 on: May 18, 2013, 12:37:09 am »

See the notes that I made here: http://dwarffortresswiki.org/index.php/DF2012_Talk:Weight
There is probably a better place to record such discoveries.

Quote
I crunched some numbers and came up with a calculation for the weight of armor or clothing:
 
Clothing weight = [BODY_SIZE]*(percentage)*[COVERAGE]*[LAYER_SIZE]*[SOLID_DENSITY]*(step factor)/10000000000
 
Where:

[BODY_SIZE] is of the creature that the clothing was created for (i.e. dwarf adult is 60000)
 
(percentage) is the relative size of the body part the clothing was created for, divided by the sum of relative sizes of the creature's body parts. See [BODY_DETAIL_PLAN:HUMANOID_RELSIZES] for reference. On most humanoids the head is 0.051 (i.e. 5.51%), the upper body and lower body are each 0.1836 (18.36%), each hand is 0.0147 (1.47%) and each foot is 0.022 (2.2%).
 
[COVERAGE] and [LAYER_SIZE] are clothing properties. [SOLID_DENSITY] is of the clothing material.
 
The (step factor) is for the clothing [UBSTEP] [LBSTEP] [UPSTEP]. Start with 1.00, and add 0.25 for each unit of step on the clothing. Possible step factors are 1.0, 1.25, 1.5, 1.75, 2.0, 2.25, and 2.5. Robes, with MAX UBSTEP and MAX LBSTEP have a step factor of 2.5. Breastplates have 0 step, so they use a factor of 1.0. Mail shirts have UBSTEP 1 and LBSTEP 1, so they use a step factor of 1.5. Gauntlets have UPSTEP 1, so the step factor is 1.25.
 
Therefore we calculate the weight of a dwarf-sized iron greaves to be: 60000*0.1836*100*15*7850/10000000000*1.75=22.7
 
This calculation has been verified for several creature sizes and several worn clothing items. --UristDaVinci 07:40, 22 September 2012 (UTC)
 
I've just checked a disassembly and I came up with the following formula for volume: BASE_SIZE * COVERAGE/100 * LAYER_SIZE/100. BASE_SIZE is calculated from some undetermined values within the caste raws (chosen by whatever race made the armor) using the whatever STEP values are available (in DFHack, they're all in caste_raw.unknown2.unk26[...], currently defined as a single int32[33] array though it's actually divided into 6 sections, one per armor type), using the number 1000 if the "maker race" wasn't available. The notable exceptions to this formula are shields (no coverage or layer_size) and helms (no step factors). --Quietust 15:07, 22 September 2012 (UTC)

So if we use the "volume to weight" formula from the topic page we can solve for your BASE_SIZE as follows using the definitions above: BASE_SIZE: [BODY_SIZE]/10*(percentage)*(step factor) I thought it was interesting that when I changed body part sizes during the testing, doing things like making the upper arms huge didn't make for huge mail shirts. The step factors don't appear to actually check the body parts they cover, but just change a multiplier to the volume calculated based on the body part the clothing is worn on. --UristDaVinci 17:32, 22 September 2012 (UTC)

Also as described in this post: http://www.bay12forums.com/smf/index.php?topic=116151.msg3766880#msg3766880
The clothing worn by very large creatures requires weapons with larger penetration values (in the weapon raws) in order to cause damage through the clothing, even if the clothing is weak to the weapon.

Quote
Since the penetration size required to penetrate armor with an edged attack (otherwise the attack is converted to blunt) is linearly proportional to the creature size, a giant has 5.3x the tissue penetration req. of a dwarf, but giant-sized armor has 150x the penetration req. (about 41314 for giant-sized uniplate). Worse, the clothing worn by those "deity" guys you can meet in adventure mode is about 55000 penetration units thick. Vanilla bolts have penetration 2000, and pikes have 12000. Do the math.

Grimlocke

  • Bay Watcher
  • *kobold noises*
    • View Profile
Re: How is armor thickness/weight determined?
« Reply #11 on: June 03, 2013, 01:17:52 pm »

*Performs vile thread necromancy*

Someone realy needs to add that armor thickness/weight formula to the armor token wiki page. Kind of an essential part of modding armor, which is by default kind of broken/unbalanced.
Logged
I make Grimlocke's History & Realism Mods. Its got poleaxes, sturdy joints and bloomeries. Now compatible with DF Revised!

Brilliand

  • Bay Watcher
    • View Profile
Re: How is armor thickness/weight determined?
« Reply #12 on: June 03, 2013, 05:12:23 pm »

Also, shouldn't armor (and clothing) thickness scaling linearly with body size be in the bug tracker somewhere?  Really, it shouldn't scale with body size at all.  [LAYER_SIZE] (possibly times some factor) is the only penetration value armor needs.
Logged
The blood of our enemies is but a symbol.  The true domain of Armok is magma - mountain's blood.

Grimlocke

  • Bay Watcher
  • *kobold noises*
    • View Profile
Re: How is armor thickness/weight determined?
« Reply #13 on: June 04, 2013, 11:58:28 am »

Also, shouldn't armor (and clothing) thickness scaling linearly with body size be in the bug tracker somewhere?  Really, it shouldn't scale with body size at all.  [LAYER_SIZE] (possibly times some factor) is the only penetration value armor needs.

That would actualy be very inconvenient. In the armor mod I made (mentioned above) I made changes that stop weird layering like 3 chainmail shirts, 1 breastplate, and 5 cloaks, and also made armor and clothing of each layer have the same 'thickness'.

The only way I could do that was to give the inner layer items very small layer size and very large coverage, while giving the outer ones coverage 100 (or less for some) and a larger layer size.

What would be realy nicest, is for thickness to be a seperately definable variable. Even with the modifications I made theres still weird stuff like all items on a certain bodypart weighting the same, as well as being unable to give inner layer items partial coverage.

That and I would love to be able to have more detail in the armors, like specific flexibility for amro consisting of small plates, things small gaps in the armor only daggers could fit, as well as restricting/allowing specific materials rather than just the general material type. Thats not likely to happen in the next years though.
Logged
I make Grimlocke's History & Realism Mods. Its got poleaxes, sturdy joints and bloomeries. Now compatible with DF Revised!

Black_Legion

  • Bay Watcher
    • View Profile
Re: How is armor thickness/weight determined?
« Reply #14 on: June 04, 2013, 01:42:31 pm »

Personally I'd like something like the following tag:
Code: [Select]
- PROTECTION:[0-5]:[0-5]:[0-5]:[0-5]: The areas that the armor protects around the part it covers.
- Format is "PROTECTION:x:y:w:z": Higher #'s indicate better protection/thickness
-- 'x' is the relative "thickness" of the front-facing side of the armor.
-- 'y' is the relative "thickness" of the rear-facing side of the armor.
-- 'w' is the relative "thickness" of the left-facing side of the armor.
-- 'z' is the realtive "thickness" of the right-facing side of the armor.
Ex.

[ITEM_ARMOR:ITEM_ARMOR_BREASTPLATE]
.
.
.
[ARMORLEVEL:3]
[PROTECTION:5:5:3:3] //Protects the front and back very well with thick armor but has a weakness in the side armor (straps, buckles, ect)
[LB_STEP:1] // Protects the Upper Legs
[LB_PROTECTION:3:3:3:3] // "Plated" Fauld that protects the front, back, and sides equally as well
.
.
.

Add the UP_PROTECTION, UB_PROTECTION, LB_PROTECTION, and LP_PROTECTION tags with the same format above and we could have a very flexible armor system that could give us armors with strong front and sword arm protect, while having weak back and right-side protection against blows for example. Essentially it would be an interesting way to blueprint armor and the like.
Logged
Pages: [1] 2