Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Why do dwarves constantly drop things  (Read 2525 times)

baldamundo

  • Bay Watcher
    • View Profile
Why do dwarves constantly drop things
« on: February 01, 2019, 02:17:03 pm »

This is as much of a rant as anything else, but honestly what is the deal with this endless circus of dwarves - especially military dwarves - running around picking things up and dropping them again?

Even without that, it's already the case that the logic and logistics of stockpile management and hauling is one of the biggest drags on efficiency, performance, and playability - but when your millitary start throwing their gear all over the place, it becomes absolutely impossible for your haulers to cope. And then your military end up getting slaughtered because they ran into battle without their weapons and having discarded half their armour.

And it's not at all intuitive why any of this happens. Is there some particular reason I'm missing why "not dropping things" is so much more difficult to code than it sounds? Is there some emergent complexity from different systems that causes the chaos here? I just don't get it! It's absolutely driving me insane.

Feel like fixing this is one of the single biggest quality of life/playability improvements DF could get in its current state.
Logged

feelotraveller

  • Bay Watcher
  • (y-sqrt{|x|})^2+x^2=1
    • View Profile
Re: Why do dwarves constantly drop things
« Reply #1 on: February 01, 2019, 03:51:57 pm »

The main cause of the behaviour is that by default your dwarfs receive their equipment according to a strict pecking order.  When a new better item becomes available (generally = is produced) the dwarf at the top of the order drops their old piece of equipment and (gets the task to) pick up the better gear.  In normal circumstances the item they just dropped is the previous best piece of gear of that type so now dwarf number 2 on the list drops the corresponding piece and picks that up, but then dwarf number 3 realizes that there is a better piece of equipment unclaimed... 

There are workarounds - I'm sure others will not be shy in providing theirs.  ;)  Assigning different uniforms or mass producing batches of a certain item are two quick suggestions.
Logged

Sarmatian123

  • Bay Watcher
    • View Profile
Re: Why do dwarves constantly drop things
« Reply #2 on: February 01, 2019, 04:00:50 pm »

1. Don't draft woodcutters and miners into militia or military.
2. Limit your hunters/crossbowdwarves to 1 squad and put 3x11 armor&weapon receiver stockpile for your quantums.
3. Assign manually weapons and armor in all slots in all squads manually. This solves issue of your military never using artifact weapons too.

Then relax and enjoy your game. :)
Logged

baldamundo

  • Bay Watcher
    • View Profile
Re: Why do dwarves constantly drop things
« Reply #3 on: February 01, 2019, 04:13:33 pm »

Also what's the deal with returning squads dropping half of their equipment on a single tile when they come back from a mission? Really inconvenient when they come back at the same time as an invasion (which seems to happen way too often to be a coincidence???)
Logged

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Why do dwarves constantly drop things
« Reply #4 on: February 01, 2019, 05:04:08 pm »

Dorfs returning from raids become newly arriving civilians. However, it seems having their squad on duty when it's sent away, as well as wearing the uniform while off duty, helps a bit.

Squads returning from raiding at the same time as an inbound siege is typically poor planning on your part. Normal sieges (i.e. necro tower and neighboring goblin/human/elven ones) start out at the first of the first month in the appropriate season, and arrive at your fortress a number of days later, dependent on traveling time. While you can't determine which site they'll start from if they have several, they typically arrive somewhere in the range of the 2:nd to the 6:th (when at an extreme range). You're told how long it takes to travel to a raiding target, so you should avoid sending out raiding parties that may run into sieges when departing or returning.
I have no first hand experience of sieges by civs you've goaded into attacking you with raiding, though.

Also, artifact hunting supposedly takes a variable amount of time, so those missions can probably not be timed to return out of potential sieging times (but you can still time approximately when you send them out [approximately = you don't know if some laggards decide to go to sleep when the rest are heading for the edge]).
Logged

baldamundo

  • Bay Watcher
    • View Profile
Re: Why do dwarves constantly drop things
« Reply #5 on: February 01, 2019, 05:36:27 pm »

Dorfs returning from raids become newly arriving civilians. However, it seems having their squad on duty when it's sent away, as well as wearing the uniform while off duty, helps a bit.

Squads returning from raiding at the same time as an inbound siege is typically poor planning on your part. Normal sieges (i.e. necro tower and neighboring goblin/human/elven ones) start out at the first of the first month in the appropriate season, and arrive at your fortress a number of days later, dependent on traveling time. While you can't determine which site they'll start from if they have several, they typically arrive somewhere in the range of the 2:nd to the 6:th (when at an extreme range). You're told how long it takes to travel to a raiding target, so you should avoid sending out raiding parties that may run into sieges when departing or returning.
I have no first hand experience of sieges by civs you've goaded into attacking you with raiding, though.
Cheers. Really useful sounding tips. Will try that all out.

Btw is there any way to make on-duty soldiers respect burrow restrictions when they're "picking up equipment"? Having a terrible problem of soldiers charging out of my front gates when I'm trying to lure the enemy into a frontal assault on my fortifications. Seems like my only options are either desperately try to find the item and forbid it, or just shut my gates and leave a bait animal out front. Would be great if there was e.g. a DFHack command to forbid every item in a particular burrow.
Logged

PatrikLundell

  • Bay Watcher
    • View Profile
Re: Why do dwarves constantly drop things
« Reply #6 on: February 02, 2019, 05:03:41 am »

No, soldiers do not obey burrow restrictions.

When I get besieged I paint the complete surface with d-b-f (i.e. forbid every item in the painted volume) to block cancellation spam. I would guess your issue comes from soldiers dying at the hands of the enemies, and the other soldiers then get an irresistible urge to upgrade to the equipment dropped by the dead ones?

There are options for forbidding stuff on death. I know bodies can be forbidden, although I don't bother, but rather forbid the pieces when cancellation spam comes in, sometimes using a new d-b-f, sometimes zooming to the item (very useful addition in the latest release). There might be one to forbid the items of dead friendly units (the default forbids stuff dropped by dead enemies).

One way to avoid upgrade cascades is to make sure there aren't any reason to upgrade, i.e. provide the whole squad with masterworks steel battleaxes so a dropped one wouldn't be an irresistible upgrade. The same would go with armor. Then you'd also keep a surplus of the top gear equipment for them to replace any damaged gear.
Logged

anewaname

  • Bay Watcher
  • The mattock... My choice for problem solving.
    • View Profile
Re: Why do dwarves constantly drop things
« Reply #7 on: February 02, 2019, 09:30:56 am »

To limit uniform item swapping, my uniforms usually include a chosen material, example "copper helm". Since most items produced in a fort are a bit above the quality level of the items brought by trade or invasion, the military will have no reason to pick up a newly dropped copper helm, unless there is a shortage of copper helms.

Check in the 'o' 'F' section for the options to auto-forbid dropped items and bodies. You can activate the option when a siege arrives and deactivate it when it is time to clean up ('d' 'b' 'c' is also required). On some embarks, I auto-forbid all friendly and enemy dropped items and corpses by default. I do not want dwarfs running towards whatever killed their companions. But, I also set all military units to carry no water and no food, to prevent the auto-forbidding of those items as military dwarfs go off-duty.
Logged
How did I manage to successfully apply the lessons of The Screwtape Letters to my perceptions of big grocery stores?