Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0005516Dwarf FortressProjectilespublic2012-02-29 18:422014-07-24 16:12
Assigned ToToady One 
PlatformComputerOSWindowsOS VersionVista
Product Version0.34.04 
Target VersionFixed in Version0.40.05 
Summary0005516: Absurdly Powerful Bolts/Arrows
DescriptionI did quite a bit of arena testing while starting work on a mod, and I found that arrows are strong - way, WAY too strong. I did consistent arena testing. The result is that even wooden arrows can pierce adamantine armor reliably. Copper bolts go through steel and even adamantium like it was butter. Essentially, armor is useless against any kind of bolt/arrow, no matter how good the armor and no matter how weak the projectile.
Steps To ReproduceIn all tests, the armor used was a helm, a breastplate, a mail shirt, two gauntlets, two high boots, and greaves, which should leave the body mostly protected. All units used only had Proficient in Archer; all other skills were at 0. All crossbows were iron, standard quality, though it should be irrelevant. Units were equipped with 50 bolts unless otherwise stated.

Units were always placed in two parallel lines of equal size, one unit per square with no gaps between units. All Dwarves in a given line were on the same side. There were always precisely 10 blocks of distance between each line. Lines were always away from either edges or walls, preventing death by dodging in all instances.

During testing, units not only consistently used crossbows when able but always fired in distinct "volleys" where all units fired simultaneously. Units only attempted to engage in melee combat when they had lost their crossbows due to damage and never successfully engaged the enemy during the period of any tests, although some tried very hard to limp their way across.

All combatants from previous tests were thoroughly purged with magma. The smoke was allowed to disperse to ensure no hidden survivors before further testing commenced. All further testing was located away from where combatants might encounter the aforementioned magma.

All tests should therefore be consistent and easily reproducible.

40 units lined up, 20 on each side. Unpaused for a single volley and a considerable number were wounded, though I did not count the number. Unpaused again for a second volley. On both sides, over 50% of units were either dead or wounded/unconscious to the point of uselessness, usually from chipped bones.

A glance at the combat logs suggests that casualties would be significantly higher with almost 100% incapacitation, but crossbowdwarves more often than not fired at targets other dwarves on their side had also targeted. Did not see a single deflection from peeking at the logs, though it is possible they are simply very rare.

46 Dwarves, 23 per side. Very similar results. After one volley, one side was visibly luckier, and I saw a large number of them dodge bolts. 4 units were wounded or dead after a single volley on the lucky side. The other had 8, or over 30% casualties from just a single volley.

I waited 2 more volleys. The side that initially took greater casualties had all but 2 Dwarves dead or severely wounded/unconscious, or an over 90% casualty rate. The other side took 2 additional casualties. Combat logs mirror the last combat, that casualties would be higher had there not been redundant targeting. The only thing that kept the other side from similar annihilation is their initial luck at dodging.

For this test, I at first used several 1v1 fights to see how long it would take for an enemy to be incapacitated by wooden bolts while in adamantium armor. Both combatants were armored in adamantium and armed with a crossbow and mahogony bolts. The longest time it took for a combatant to be unconscious was 15 bolts. The shortest time was 1. Tests tended towards the latter result, with an average of around 5. At the very least the bolts were usually deflected, though they chipped bones and caused fairly bad damage when they weren't. Results suggest that wooden bolts, while technically not as effective as copper bolts, are still perfectly viable for killing even adamantium-equipped opponents.

I then set up 40 Dwarves in two lines of 20. Same as in above tests. Adamantium armor. Each opponent was equipped with an iron crossbow and 100 mahogany bolts. These were, as before, simply Proficient Archers with no Marksdwarf or other skills. In 9 volleys, 9 Dwarves were dead or incapacitated - however, this news should be in no way encouraging. Redundant targeting seemed to play an even bigger role than before, with the vast majority of the bolts from a given side being clearly targeted at a small number of Dwarves. Otherwise, casualties would be considerably higher, although less than copper bolts.

Other testing, though less official/rigorous, pretty much confirmed this.
Additional InformationI spent over 2 hours testing this.
TagsNo tags attached.
Attached Files

- Relationships
related to 0005684resolvedFootkerchief Throwing ammunition is far too effective in adventure mode 
related to 0000510new Striking with stacked ammo gives a momentum bonus but no contact area penalty 
related to 0006262resolvedToady One Rounding Error in Calculation of Projectile Velocities 
related to 0003677new Ammunition too large/heavy 

-  Notes
Bertinator (reporter)
2012-02-29 18:46

Changing the contact area from 2 to 20 mostly fixed the wooden bolts issue, although they were still able to score rare successes. I have not tested it with other materials yet.
zombiejustice (reporter)
2012-03-01 06:01

Out of curiosity, do shields make any difference? Or ranks in armor user (and shield user)? This doesn't seem THAT broken, if so, and I'm not sure it warrants an 'urgent' rating. That said, I'm interested in learning more and seeing how this issue might be resolved.
Xotano (reporter)
2012-03-01 09:09

bolts and arrows were ment to go through armor, prolly not as much as they do but this still isnt a bug, its more of a balance issue, it is nice to have some numbers on the subject tho.
Bertinator (reporter)
2012-03-01 12:42
edited on: 2012-03-01 13:16

"Out of curiosity, do shields make any difference? Or ranks in armor user (and shield user)? This doesn't seem THAT broken, if so, and I'm not sure it warrants an 'urgent' rating. That said, I'm interested in learning more and seeing how this issue might be resolved."

I did further testing with 5 axedwarves with 10 in Fighter, Axedwarf, Shield User, Armor User, and Dodger versus 5 marksdwarves with 10 in Archer, Marksdwarf, Armor User, and Dodger. There were two parallel lines of Marksdwarves and Axedwarves, with 22 tiles in between.

In iron armor with iron weapons, the Marksdwarves consistently won. The result was generally 4 unwounded Dwarves with brusing at best and one moderately wounded Dwarf. It wasn't even much of a contest. The Axedwarves could make it to melee range (with injuries), but were still shot to death very shortly thereafter.

In iron armor with steel weapons, the result was different. Because marksdwarves tended to bunch up on their targets, the results usually were that 2 Dwarves would be left horribly maimed with multiple fractures, torn internal organs, etc, while the rest would be uninjured before making contact. The axedwarves that weren't targeted then proceeded to rip through the iron armor like it wasn't there, murdering the marksdwarves, although they still received some minor to moderate injuries from post-contact pot shots.

Of course, this was not a realistic battle situation. The Axedwarves started just outside of the Marksdwarves' maximum range and then all charged simultaneously, essentially moving as a wall of melee units. This is not how controlling Dwarves works normally. If they had the single-file approach Dwarves seem to love in Dwarf Mode, casualties would be significantly higher among the Axedwarves. For them to even have a chance, it also requires them to outclass the enemy armor with their weapons, while the Marksdwarves would have been equally effective with copper.

So, basically, in absolutely perfect conditions with high-level units and superior weaponry, Axedwarves take 40% casualties plus wounds on some of the rest. God help you if I did the realistic thing and supplemented the full-time Marksdwarves with a horde of lower-level units. Even with higher level skills, armor is still very ineffective at stopping bolts.

EDIT: Testing with an example goblin force. 20 proficient-level archers in two distinct squads, with competent to proficient in all relevant combat skills. Two accomplished-level leaders to represent Elite units, one in each squad grouping. All goblins had an iron breastplate, an iron crossbow, and iron bolts. They fought 5 axedwarves with all steel (including breastplate+two mail shirts and helm+two caps), including weapons and shields. The Axedwarves were accomplished in Axedwarf, Fighter, Shield User, Dodger, Armor User, and even in skills like Wrestler and Biter, just in case. It yielded predictable results. Axedwarves were slaughtered, only managing to kill 5 goblins before dying. I would strongly advise against rushing Goblin archers with melee units unless they are all Legendary and you have comparable numbers until ranged weapons get nerfed. Do not ever attempt to send melee units without shields.

"bolts and arrows were ment to go through armor, prolly not as much as they do but this still isnt a bug, its more of a balance issue, it is nice to have some numbers on the subject tho."

I think it qualifies as a bug, or such a big balance issue it might as well be. If copper arrows penetrated iron or even steel more than they should, that would be a balance issue. When wooden arrows can pierce through adamantine, that's a bug.

Mafia_Puppet (reporter)
2012-03-21 19:29

The British longbow, which was the height of bow technology up through the 1400's, could only puncture French plate armor at a distance of less than thirty meters. A dwarf in full steel armor should be able to charge a bunch of goblins with pretty close to impunity from a realistic perspective.
cameral3 (reporter)
2012-04-08 13:34
edited on: 2012-04-08 13:57

had same issue in Adv.Mode, when my Superhuman Legendary hero in full heavy Bronze, who can otherwise withstand dozen of goblins without a single wound was several times(i used saves) crippled and killed by different "nameless" goblin archers.

I would add, not only full armor with Legendary++++ Armour Skill can not protect from (copper) arrows, but the "Superhuman" toughness - as well.

ps. still, with legendary Block+Dodge it is possible to cut off archers without a problem. Until the first non-blocked non-dodged arrow. And then comes Fun.

Thorbinator (reporter)
2012-08-12 00:22
edited on: 2012-08-12 05:57

Alright, I spent several hours testing this and messing with raws in the arena

Variables that changing did nothing:
size, velocity multiplier, penetration_size in item_ammo.txt
shoot_force, shoot_maxvel in item_weapon.txt under crossbow

What I finally settled on was that this bug is some underlying factor that maximizes the damage/force/velocity of these bolts, and I can't change that.

What I could change, and did, was the glancing. When I set contact_area in item_ammo.txt to 60 (instead of 2) then copper bolts only penetrate full iron armor in the upper arms and legs. This is a bad bandaid fix, but it is far better than what is currently in the game.

Wooden is useless against any kind of armor but still good against cloth/naked, bolts above copper still penetrate armor easily. I haven't tested these bolts vs adamantine. [^]

Here is my modified raw, please implement it as a hotfix or fix the underlying issue.

HiEv (reporter)
2012-11-02 04:26

For some massive research into how bolts vs. armor of the various materials work, see this forum thread:
Dwarven Research: A Comparison Study on the Effectiveness of Bolts vs Armors [^]

Includes deflection and penetration ratios, knockback distances, and testing of how the various armor and bolt material tokens affect those things.
Jetman123 (reporter)
2012-11-14 08:38
edited on: 2012-11-14 08:49

The real issue - aside from absurdly powerful penetration - is that marksmen are entirely too accurate as well. Muscle powered ranged weaponry is absurdly inaccurate in real life, which is why to have any hope of hitting anything you need a lot of folks shooting. They're barrage weapons. Yet as things stand in DF, even an untrained shooter can easily pull feats worthy of Legolas.

And no, a bow and arrow - even the famed English longbow - would not and could not reliably penetrate plate armor at any range, even point blank. They could penetrate once in a while if you got lucky. They could damage, it, though- by the time knights at Agincourt were close, their armor was dented and battered, but they were physically mobile and able to fight. They were simply exhausted from the battering they had faced over the entire long advance and facing dozens of Englishmen for each French knight, on foot. (They had also taken _some_ casualties from those unlucky penetrations, but they weren't wiped out.) The French were easily wrestled to the ground and overwhelmed.

The idea of ranged weaponry being able to easily invalidate plate armor is complete absurdity - if that were the case, it wouldn't be worth the (very, very, very great) expense, and ranged infantry would have been the dominant force on the battlefield instead of cavalry.

Pirate Bob (reporter)
2012-12-15 09:38

The research mentioned by HiEv above ( [^]) shows the following about armor protection in DF34.11:
(1) Plate armor provides abolutely no protection from metal bolts/arrows.
(2) Mail is able to convert edged damage to blunt damage if the material is equal or better than the projectile. "Better" is determined by the material's SHEAR_YIELD and SHEAR_FRACTURE, with adamantine>steel>iron=bronze>copper>silver.
(3) Wooden projectiles can be deflected via a mechanism based on the armor's density and the projectile's IMPACT_YIELD, but this mechanism cannot be made to apply for metal projectiles without grossly modifying the material raws (which would undoubtedly mess up melee combat).
(4) Projectiles can be deflected by armor if their momentum is low enough and the armor material is equal to or better than the projectile, but all DF34.11 projectiles are fired at such high momenta that this mechanism does not apply.
For more details of these results, see the wiki: [^]

There are a few ways in which projectiles can be modded to reduce their momenta to the point that armor has an appriciable chance of stopping them. See [^] for a plot of bolt deflection off fully armored dwarves. Note that for this plot CONTACT_AREA of bolts was increased to 10 (which significantly increases deflections off the thicker armor of breastplates and helms), and results were only tabulated for standing dwarves. Projectiles penetrate much more easily when dwarves have fallen over or are injured, so no armor offers complete protection.
(1) Reduce [SHOOT_MAXVEL] or [SHOOT_FORCE]. With contact area set to 10, armors will provide intermediate levels of protection between bolt momenta of 20 and 300. Bolt/arrow masses are iron/steel=1.1775, bronze=1.2375, copper=1.3395, and silver=1.5735, so this requires setting [SHOOT_MAXVEL] between 15 and 250. Due to bug 6262, all these bolts will be treated as having mass=1 for the purpose of calculating their velocity from [SHOOT_FORCE], so one could equivalently reduce [SHOOT_FORCE] to between 15 and 250 and leave [SHOOT_MAXVEL] at some higher value (which will then determine the velocity of adamantine, bone, and wood projectiles). This modification has the somewhat strange result that silver projectiles will be the most likely to penetrate steel/adamantine armor because they have the highest mass, and hence highest momentum. Armor will still offer no protection at all from projectiles with made from better materials, so steel bolts will never be deflected by copper, bronze, or iron armors. Therefore this modification will result in a sort of "rochambeau" or armor/projectile materials, with steel/adamantine being the best projectiles against "lesser" materials, but the "lesser" (but denser) projectiles the best at penetrating adamantine and steel.
(2) This oddity can be eliminated by creating custom materials which are only used for ammunition. These materials have all the same properties as their normal counterparts, except that all densities are changed to be the same. See [^] for an example where all projectiles are modded to have density equal to wood. This has the added benefit that projectile masses can also be made more realistic (a 1+ kg arrow is VERY heavy), but the drawback of being very messy. In particular, I was only able to make reactions to create bolts from the custom materials out of normal metal bars appear in the craftsdwarf's workshop. Additional, nonfunctional rections to make bolts out of (nonexistant) custom metal bars also appear in the forge.
(3) If Toady were to fix 6262 (see relationship), then all projectiles would have the same momentum (except for very light projectiles whose velocity would be set by [SHOOT_MAXVEL]). Then one could simply set [SHOOT_FORCE] equal to the momentum corresponding to the desired level of armor penetration, and all bolts material not superior to the armor would penetrate equally well.
Toady One (administrator)
2014-07-24 15:49

With the various changes made now, this'll be at a point where it is a balance issue rather than an error, anyway.

- Issue History
Date Modified Username Field Change
2012-02-29 18:42 Bertinator New Issue
2012-02-29 18:46 Bertinator Note Added: 0020932
2012-03-01 05:58 zombiejustice Issue Monitored: zombiejustice
2012-03-01 06:01 zombiejustice Note Added: 0020941
2012-03-01 09:09 Xotano Note Added: 0020949
2012-03-01 12:42 Bertinator Note Added: 0020966
2012-03-01 12:43 Bertinator Note Added: 0020967
2012-03-01 12:53 Bertinator Note Deleted: 0020967
2012-03-01 12:54 Bertinator Note Edited: 0020966 View Revisions
2012-03-01 13:05 Bertinator Note Edited: 0020966 View Revisions
2012-03-01 13:06 Bertinator Note Edited: 0020966 View Revisions
2012-03-01 13:06 Bertinator Note Edited: 0020966 View Revisions
2012-03-01 13:08 Bertinator Note Edited: 0020966 View Revisions
2012-03-01 13:10 Bertinator Note Edited: 0020966 View Revisions
2012-03-01 13:11 Bertinator Note Edited: 0020966 View Revisions
2012-03-01 13:16 Bertinator Note Edited: 0020966 View Revisions
2012-03-21 12:05 Footkerchief Relationship added related to 0005684
2012-03-21 13:37 thvaz Issue Monitored: thvaz
2012-03-21 19:29 Mafia_Puppet Note Added: 0021643
2012-04-08 13:34 cameral3 Note Added: 0022163
2012-04-08 13:53 cameral3 Note Edited: 0022163 View Revisions
2012-04-08 13:53 cameral3 Note Edited: 0022163 View Revisions
2012-04-08 13:56 cameral3 Note Edited: 0022163 View Revisions
2012-04-08 13:57 cameral3 Note Edited: 0022163 View Revisions
2012-08-12 00:22 Thorbinator Note Added: 0023442
2012-08-12 00:38 Thorbinator Note View State: 0023442: private
2012-08-12 02:15 Thorbinator Note View State: 0023442: public
2012-08-12 02:16 Thorbinator Note Edited: 0023442 View Revisions
2012-08-12 05:57 Thorbinator Note Edited: 0023442 View Revisions
2012-09-11 21:06 Footkerchief Relationship added related to 0000510
2012-11-02 04:26 HiEv Note Added: 0023703
2012-11-14 08:38 Jetman123 Note Added: 0023714
2012-11-14 08:41 Jetman123 Note Edited: 0023714 View Revisions
2012-11-14 08:42 Jetman123 Note Edited: 0023714 View Revisions
2012-11-14 08:44 Jetman123 Note Edited: 0023714 View Revisions
2012-11-14 08:44 Jetman123 Note Edited: 0023714 View Revisions
2012-11-14 08:45 Jetman123 Note Edited: 0023714 View Revisions
2012-11-14 08:46 Jetman123 Note Edited: 0023714 View Revisions
2012-11-14 08:46 Jetman123 Note Edited: 0023714 View Revisions
2012-11-14 08:47 Jetman123 Note Edited: 0023714 View Revisions
2012-11-14 08:49 Jetman123 Note Edited: 0023714 View Revisions
2012-11-27 13:56 Pirate Bob Issue Monitored: Pirate Bob
2012-12-12 09:48 Knight Otu Relationship added related to 0006262
2012-12-15 09:38 Pirate Bob Note Added: 0023776
2014-07-12 17:48 Footkerchief Relationship added related to 0003677
2014-07-24 15:49 Toady One Note Added: 0027454
2014-07-24 15:49 Toady One Status new => resolved
2014-07-24 15:49 Toady One Fixed in Version => Next Version
2014-07-24 15:49 Toady One Resolution open => fixed
2014-07-24 15:49 Toady One Assigned To => Toady One
2014-07-24 16:12 thvaz Issue End Monitor: thvaz

Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker