Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 ... 3 4 [5] 6 7

Author Topic: Stockpile Hacks: The Undump  (Read 68015 times)

Nil Eyeglazed

  • Bay Watcher
    • View Profile
Re: Stockpile Hacks: The Undump
« Reply #60 on: September 02, 2011, 03:47:16 am »

Smallest delay I can institute with water is ~20 ticks.  Too large.

I have another idea too.  When dwarves can reach the pressure plate from a diagonal direction, they take about half again as long to step to the stockpile.  I'm building walls to prevent diagonal access.  I'll see if that helps or not (I suspect not, frankly).

Still haven't had particularly poor results though (ie, everything's running about how it did under my investigation).  Tried using stone; it worked about the same as furniture or mechanisms for me.

EDIT: Blocking diagonal access to pressure plate showed improvement in efficiency, decrease in throughput.  Efficiency (perfect hauls as a percentage of total hauls) jumped to 95%.  Throughput fell, from 45+7 hauls to 36+2 hauls (in 1 season).  Test was performed with a single, enters-from-the-west undump, fed by a 4x4 feeder stockpile; observation suggested feeder stockpile size has no effect on throughput (ie, no observed hauls were from feeder stockpile).  Test used stone rather than bars and blocks; that probably contributed to decrease in throughput (probably greater distance to stone, greater weight).  Reports by others have indicated that stone led to worse efficiency (not observed by me-- I suspect weight has little or no effect), so perhaps that might catapult the "no diagonal access to plate" innovation into "recommended."

For the future, any real-fortress undumps I make will involve blocking diagonal access to the pressure plate.  More investigations need to be performed though.  I don't feel findings are significant enough to warrant editing introductory post-- prove me wrong, please.

Observation of dwarves showed occasional doubling of cancellation spam-- dwarf would drop item and cancel, then immediately cancel again.  Suspect main reason for extra cancellations is jobs that path through the hatch.  This is good news for labor efficiency, bad news for framerate.  My guess is labor efficiency is very high, probably very close to normal stockpile efficiency.

Thinking about it, labor efficiency shouldn't be related to object pool size, not so long as a feeder stockpile is used (of any size), unless orientation of undump plays a role.

Edit2: I think I just realized why I've been having better luck than many: I haven't actually been taking goods out of the stockpile, only putting them in!

Every single trip to the stockpile to retrieve a good is going to lead to blocking off of the inaccessible square, leading to job cancellation if a haul is in process.  Assuming non-stop hauling and non-stop access, that drops labor efficiency significantly.

Again, this is something that is going to be affected heavily by the existence of a properly sized feeder stockpile.  The feeder stockpile should always be closer to any dwarf than the undump.  That will reduce the incidence of taking from the undump (and breaking hauling) until all goods have been stockpiled, at which point breaking hauler path stops being an issue.

It's a really good reason to avoid this with food, which is an item with very frequent requests-- much more frequent than deliveries.  Every time a dwarf takes a hunk off of the *Forgotten Beast Meat Roast*[340], he's going to break the pathing of any dwarf delivering a new roast.  This can be avoided with a small, nearby stockpile that takes-from the undump: it reduces food accesses due to stack size.  (Yeah, that means you need a feeder stockpile for a feeder stockpile.  Might want to just skip it.)

If hauling has been completed, as can happen with a lot of goods, it stops being a problem.  Otherwise, with simultaneous access, you see goods littering the pathway to the undump.

Even more than before, I feel like this is a good tool for maintaining empty space on an existing stockpile, but a poor tool when used alone.

A good dropping undump would also solve this problem, by causing all accessing dwarves to use a different path than the delivery dwarves.  (My dropping undump worked, but was overly complicated, hell to build, and had major throughput problems.)

This suggests bad things for food undumps, so-so things for refuse undumps (low number of requests, okay when appropriately fed), good things for finished goods undumps (seasonal access only suggests good throughput the rest of the year).  With the way many of us play, stone and furniture would also work well (constant hauls, intermittent building projects).  Raw materials still require a good-sized feeder stockpile.  Mass pit stockpiles would see problems, with simultaneous stockpiling of creatures with cage refills, but it would work itself out, probably worth the trouble of keeping an animal stockpile clear.  Goods that you somehow have to make but that have zero application (mandates) would be perfect.  Difficulty in sand bag stockpiling almost requires an undump, but you'd still want a well-sized feeder stockpile.  Splints, gypsum, crutches, and similarly stockpiled but only occasionally accessed goods form the ideal candidate for undumps, with single tile feeders working fine.
« Last Edit: September 02, 2011, 06:11:42 am by Nil Eyeglazed »
Logged
He he he.  Yeah, it almost looks done...  alas...  those who are in your teens, hold on until your twenties...  those in your twenties, your thirties...  others, cling to life as you are able...<P>It should be pretty fun though.

Kibstable

  • Bay Watcher
  • We didn't start the fire...
    • View Profile
Re: Stockpile Hacks: The Undump
« Reply #61 on: September 02, 2011, 09:05:57 am »

Could the 'water pushing' be used to clean the empty 1x1 stockpile when it occasionaly gets filled.
I'm just too newb to think this through yet, but could both stockpiles be cleaned this way onto a retractable bridge that can be opened to drop to another stockpile once the water has gone to a sump.

Thought about using water, but it pushes items off the stockpile.

Floor grates block sight and arrows. Tested by creating a small test fort, built grates, installed them on the sides of a pillar staircase above ground, and went there with a bow-wielding adventurer. You can't see or shoot through them.
Logged

Reelyanoob

  • Bay Watcher
    • View Profile
Re: Stockpile Hacks: The Undump
« Reply #62 on: September 02, 2011, 09:33:36 am »

Hey that's a nice idea about cleaning the target square in the odd cases it gets filled!

I was considering using water to push the stockpile items towards/onto another hatch for long z-distance dumping (to dump stuff down to magma forges)

Something that might help - putting a door (unlinked) between the hatch and target stockpile. By manually locking the door with 'q' menu, it would be possible to turn the undump on or off, but would also help with auto-cleaning :-
Code: [Select]
SDHsP

A bit obvious, but legend anyway's :-
S = target stockpile, D = Door, H = Hatch, s = undump stockpile, P = Pressure Plate
The door could also be used to direct the water if using a 'flush' mechanism :-
Code: [Select]
#
h
SDHsP
F

F = floodgate holding back water (or use a hatch from the level above)
h = cell which junk gets flushed to, manual lever to drop it.
# = Wall Grate to drainage

This seems like overkill though, and would still have to be manually applied. Probably it would be easier to have 2 x hatches to make it impossible to path over. I have a functioning fort with a standard 11x11 room with 12 undumps in it. They've been running about 2 years, and I've only seen about 2 times where a dwarf made it over the hatch. I extended the middle-stockpile section to 2x1 squares as an extra precaution. I still see a lot of stuff dumped on the pressure plates though.

Other than water, one idea I considered was dropping a floor tile or wall through the undump stockpile (after turning off hauling jobs of course), which would be positioned above a long chute. So everything ends up down the bottom. This would be simpler to build than the water version, but would need quite a bit of work to reset the whole thing.
Logged

Keldane

  • Bay Watcher
    • View Profile
Re: Stockpile Hacks: The Undump
« Reply #63 on: September 03, 2011, 06:27:55 am »

I let mine run for a while to see what sort of results I'd get. In the interest of getting the most accurate count possible, I chose not to create a secondary stockpile or dump anything off the pressure plate. Currently, four units of Tetrahedrite have made it across the pressure plate and into the undump, with 21 having been dropped on the plate itself. So, for whatever reason, I'm getting only 16% throughput. Adding a preload stockpile produced nearly identical results, but it is impossible to give precise numbers because the dwarves usually snatched the items dropped in the wrong place right back up and moved them back to the preload stockpile before even moving away from the tile they'd dropped them on.

That said, I did get improved throughput by adding extra walls at the beginning to prevent diagonal movement onto the plate. One step in the right direction!
Logged
WARNING:Side effects may include fatal badgerstorm and sudden appreciation for nobles.

Reelyanoob

  • Bay Watcher
    • View Profile
Re: Stockpile Hacks: The Undump
« Reply #64 on: September 03, 2011, 07:36:42 am »

Has anyone tried a floor-grate instead of the hatch? For the 100-tick delay on opening?

Combined with a slighty longer run-up e.g. 2 cell stockpile before the grate, this should see a great reduction in the amounts left on the pressure plate.
Logged

blue sam3

  • Bay Watcher
    • View Profile
Re: Stockpile Hacks: The Undump
« Reply #65 on: September 03, 2011, 08:55:02 am »

Quote
Smallest delay I can institute with water is ~20 ticks.  Too large.


Could you not simply increase the distance between the plate and the hatch, then put that delay in?
Logged

Nil Eyeglazed

  • Bay Watcher
    • View Profile
Re: Stockpile Hacks: The Undump
« Reply #66 on: September 03, 2011, 02:50:34 pm »

Quote
Smallest delay I can institute with water is ~20 ticks.  Too large.


Could you not simply increase the distance between the plate and the hatch, then put that delay in?

It gets ugly easily.  Fastest dwarf moves 1/5.  Slowest dwarf (without legs) moves 1/48, and that's unencumbered; in reality, the slowest possible dwarf would probably be decently slower than that.

To make sure it doesn't jam, you need a length of accessible stockpile tiles equal to (delay/5)-1, rounded down; to make sure you don't drop any dwarves, you need straight delay/5, rounded down.

To make sure that a slowest dwarf doesn't get dropped, you need a close that happens after length*48, where length is the number of accessible stockpiles.  To make sure that the hatch doesn't close and then open again on the slowest dwarf's exit from the undump, you need a close that happens at twice that time.

Assuming delay 20 to open, you need 4 accessible stockpile tiles, and a close happening at least 384 ticks after open.  That drops throughput a lot.

Even then, it only solves the pressure plate problem, not the problem of drawing from the stockpile.  It might be worth it to some for zero plated items, for instance, if you're using a z-dropper undump linked to a computer for inventory management.  The pressure plate problem is a small problem compared to drawing from the stockpile.

Has anyone tried a floor-grate instead of the hatch? For the 100-tick delay on opening?

Combined with a slighty longer run-up e.g. 2 cell stockpile before the grate, this should see a great reduction in the amounts left on the pressure plate.

The problem is differences in speed between dwarves.  Like I said, the slowest dwarf might only cover two steps before it opened, but the fastest possible dwarf could cover 20 steps before that grate opened!  It's the same problem with instituting delay that I mentioned above-- it requires careful timing not only of the open signal but of the close signal.  With the grate, to prevent dropping dwarves or jamming, you'd be limiting throughput to one-twentieth of the base version.

I let mine run for a while to see what sort of results I'd get. In the interest of getting the most accurate count possible, I chose not to create a secondary stockpile or dump anything off the pressure plate. Currently, four units of Tetrahedrite have made it across the pressure plate and into the undump, with 21 having been dropped on the plate itself. So, for whatever reason, I'm getting only 16% throughput. Adding a preload stockpile produced nearly identical results, but it is impossible to give precise numbers because the dwarves usually snatched the items dropped in the wrong place right back up and moved them back to the preload stockpile before even moving away from the tile they'd dropped them on.

That said, I did get improved throughput by adding extra walls at the beginning to prevent diagonal movement onto the plate. One step in the right direction!

Are your dwarves removing from the stockpile at the same time that they're putting into it?  That, I believe, is responsible for most poor results.  Every draw on the stockpile is likely to lead to a hauling cancellation.  It sounds like either you have a small supply of tetrahedrite or else you're drawing from it (to smelt bars, prob).  I say that because in my observations, with nearly limitless goods, my feeder stockpiles stayed full, and dwarves brought goods from elsewhere to the undump-- I didn't actually see any movement of goods from pressure plate to feeder, but included it because I knew, theoretically, that it was necessary.

Glad to hear that blocking diagonal movement helped.

I think that the biggest problems now could be resolved by a good z-dropping design.  My original design was built for magma use (with the goal of autodumping things like hair) so it was designed for zero risk of dwarf dropping, but I think a much simpler design could be made if that's not a concern.  A z-dropper would eliminate the problems of hauler interruption by giving those removing from the stockpile an alternate path.

Unfortunately, my own dwarves are currently busy tantrumming....  Guess that's what happens when all they do is idle.  Maybe it's time to make a new world.  Maybe this time, I'll make an anti-idler device to keep them all working at all hours.  A series of unreachable querns, with milling enabled on every unimportant dwarf.  It's got to be some kind of low-priority job.
Logged
He he he.  Yeah, it almost looks done...  alas...  those who are in your teens, hold on until your twenties...  those in your twenties, your thirties...  others, cling to life as you are able...<P>It should be pretty fun though.

Qwernt

  • Bay Watcher
    • View Profile
Re: Stockpile Hacks: The Undump
« Reply #67 on: September 09, 2011, 05:19:57 pm »

For the "Endless work generator", a bunch of modified undumpers per dwarf would work.  Given that an item dropped on the plate won't get retried to the same location, move the hatch 1 closer to the plate (force the drop on the plate) and then dwarves will go through the steps:
1 Pick up item
2 Step on plate
3 Drop Item
4 Pick up item for delivery to different stockpile
5 Step on different plate
6 goto 3

basically 1 per dwarf like:


#####.#####
#sh^...^hs#
###########
h = hatch
s = stockpile
^ = plate

(note, haven't tested yet)
Logged

Nil Eyeglazed

  • Bay Watcher
    • View Profile
Re: Stockpile Hacks: The Undump
« Reply #68 on: September 09, 2011, 05:46:32 pm »

Lol, I don't really want an endless work generator :)

I've been testing the undump in a real fortress environment.  The design I've been using is like this:

Code: [Select]
 
#t#
#^#
#s#
#h#
#d#
#s#
###


In other words, blocking diagonal access, and adding a door so that I can turn it off easily.  Haven't wanted to turn them off yet though.

I've been using it for raw materials and output to make doors, hatches, and mechanisms as fast as possible.

For raw materials, it reduces the size necessary, but does end up strewing some stone from the quarry to the undumps.  For non-stop production, a simple stockpile would be more effective.  (For intermittent production, the undump is nice.)

For output, it's perfect.  I do get a few bits of furniture strung out from one distant workshop-- but what's important is that everything gets taken out of the workshop.  With nonstop production (by dwarves with minimal skill) and 1 furniture undump per workshop, my workshops tend to maintain a minimal level of clutter, even with 1000 mechanisms created.

I've also used it for a smelter.  It did a very good job of bringing every bit of garnierite to the smelter, working at sufficient speed with a single undump and a single smelter, and did a good job as well of uncluttering the smelter afterwards-- using one undump for both bars and ore.

Finally, I've used it for a mini mass pit.  This actually works out very well, because I made a separate undump for empty cages.  When my dwarves need to attend to the cage traps, I get a few empty cages strung from the forges, but not from the trap area.  The mini mass pit reliably collects all trapped creatures on a single square (I did a slight diagonal redesign so that I could make a pitting square without creating access to the unreachable stockpile.)  Since my mass pitting is in bursts, and my cage trap maintenance is in bursts, neither interferes with each other-- this is sort of an ideal application for undumps, at least with the way that I play.

I wouldn't use it for food, still, although I made a refuse undump for the odd bits and pieces that end up littering the map, and it's working well.  No cat problems as of yet.  It might help that I'm running a mostly above-ground fort, so strung out refuse isn't really a big deal.

Overall, I'm able to make mechanisms, hatches, doors, and nickel cages at breakneck pace, with basically no supervision.
« Last Edit: September 09, 2011, 06:36:09 pm by Nil Eyeglazed »
Logged
He he he.  Yeah, it almost looks done...  alas...  those who are in your teens, hold on until your twenties...  those in your twenties, your thirties...  others, cling to life as you are able...<P>It should be pretty fun though.

Lormax

  • Bay Watcher
    • View Profile
Re: Stockpile Hacks: The Undump
« Reply #69 on: September 29, 2011, 11:42:37 pm »

For some reason I can't get this to work in .25...should preface that this is my FIRST time using pressure plates.

Built with no diagonal access to the pressure plate after reading through the whole thread.  It copies the first post layout, though dwarves enter from the east and head west.  They walk across the pressure plate and nothing ever happens to the hatch.

I placed my (p)ressure plate, (c)reatures trigger, (l) citizens trigger, then left the other settings alone.  After it was built I then linked it to the nearby hatch.  After all that, I then placed the two stockpiles, set them to the certain stone I wanted them to be and unpaused.  Dwarves walk right across everything, the hatch never opens?
Logged

MarcAFK

  • Bay Watcher
  • [INSANITY INTENSIFIES]
    • View Profile
Re: Stockpile Hacks: The Undump
« Reply #70 on: September 30, 2011, 12:28:13 am »

are the weight settings correct for dwarves?
Logged
They're nearly as bad as badgers. Build a couple of anti-buzzard SAM sites marksdwarf towers and your fortress will look like Baghdad in 2003 from all the aerial bolt spam. You waste a lot of ammo and everything is covered in unslightly exploded buzzard bits and broken bolts.

Lormax

  • Bay Watcher
    • View Profile
Re: Stockpile Hacks: The Undump
« Reply #71 on: September 30, 2011, 12:29:28 am »

Meaning have I modified the raws?  No, just a straight download of the lazy newb pack.

Did I change the settings on the pressure plate?  No.  I read the wiki and it looked like the default settings would cover it?

Logged

MarcAFK

  • Bay Watcher
  • [INSANITY INTENSIFIES]
    • View Profile
Re: Stockpile Hacks: The Undump
« Reply #72 on: September 30, 2011, 12:39:21 am »

I believe the defUKT IS 500k which is horses and such, you need to set it lower to 60,000 for dwarves.
Logged
They're nearly as bad as badgers. Build a couple of anti-buzzard SAM sites marksdwarf towers and your fortress will look like Baghdad in 2003 from all the aerial bolt spam. You waste a lot of ammo and everything is covered in unslightly exploded buzzard bits and broken bolts.

Tharwen

  • Bay Watcher
    • View Profile
Re: Stockpile Hacks: The Undump
« Reply #73 on: September 30, 2011, 07:57:29 am »

Could you designate one dwarf as the Read/Write head and burrow him within stockpile 't' and both 's's? That way other dwarfs will bring their stuff to t and he'll gradually undump it all.

Also, this looks extendable. I see no reason why you can't stick several of these in a row and increase the undump speed.
Logged
[Signature]

Lormax

  • Bay Watcher
    • View Profile
Re: Stockpile Hacks: The Undump
« Reply #74 on: September 30, 2011, 10:30:44 am »

MarcAFK, I think that's what did it.  Lowering it to the minimum of 1000 seems to have done the trick.  Thanks!
Logged
Pages: 1 ... 3 4 [5] 6 7