Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Automated/Super-efficient Hauling?  (Read 2337 times)

Paul Gross

  • Bay Watcher
    • View Profile
Automated/Super-efficient Hauling?
« on: June 04, 2008, 03:04:00 pm »

I am on a quest to find some sort of super efficient or automated hauling techniques, and I'm at a loss.  I figured there are people out there smarter than me that could lay out some ideas.

I've tried water-pushing, but it is too inconsistant and it destroys items.  I've pulled off a system that actually did manage to push objects quite a distance using water pumps, but it can only push downward on an angle (and it eventually destroys the objects it pushes).  Every 10 tiles or so you must have a 1 z-level drop to keep the water flowing, so it ends up being a 'sloped' system.  I've pretty much given up on this idea completely.  If anyone has done this successfully at any level, I'm all ears as to how its done.

I'm now thinking about an idea of compartmentalizing the dwarves to keep haulers in a general vicinity and/or trade off some of the hauling work to the workshop owners as well.  The general idea is to have a stonecrafter make crafts, put the crafts into a bin, and have a hauler come and pickup the bin... This is not easy at all.  In general it would subdivide haulers into short-distance and long-distance haulers.  Too much waste occurs when dwarves are running far distances to move a single stone bracelet from a workshop to the finished goods stockpile (whether it be 3 squares away from the workshop or 40, they still have to run that 40 tile distance to the job).

Heres what I have laid out, but I can't find a way to actually make it flawless and streamlined.

Lock the dwarves into the workshop area.  It should have access to workshop, input resources, output stockpile, storage bins, food, water/alcohol, a bed, table, and chair.  All the necessities for a workshop to be run.  While the workshop is being worked, the area must be completely sealed.  Once the workshop duties are complete the dwarf will have no other job other than to put what he created in bins.  Once that is completed he will have the No Job order and head to the nearest meeting zone, where I can lock him out of the workshop and let the workshop have access to the rest of the world (eg the fortress).  Dedicated haulers will then come by, pickup the finished goods and transport them to the stockpile location as well as drop off fresh new inputs (such as metal bars, more stones, thread, etc).  Once the workshop is cleared the area would be reverted back to its original state, namely given back to the dwarf who runs the workshop to repeat the process.  I could do this manually by forbidding doors periodically, but that is a pain.  I tried to layout a series of pressure plates that toggle doors open/close (which I got to work very well), but I came to a problem where you cannot prevent a hauler from getting locked into the workshop when the dwarf decides to go back to work (also each workshop area would require massive amounts of mechanisms and furniture =] ) UNLESS you can guarantee only one hauler will ever enter the workshop at a time.

An alternative to the above is to have the dwarf locked in a room with an input chute and an output chute.  I would designate a garbage dump and dump all full bins as they come, they will be thrown down the chute, reclaimed, and a hauler will come by and carry it to the depot.  I don't want to do this because I have to constantly dump/reclaim items, and it may require some sort of compartmentalized 'sorting room' which has its own problems.  If I could automate this, it just might work...  Some ideas I had were to place stockpiles on bridges and retract the bridge periodically (dropping all the goods to the workshop), but you cant put stockpiles on anything that can open (hatches, bridges).

Any other ideas?

Logged

Puzzlemaker

  • Bay Watcher
    • View Profile
Re: Automated/Super-efficient Hauling?
« Reply #1 on: June 04, 2008, 03:13:00 pm »

Z levels.

Source of raw materials right above the workshop, which is right above the storage of said raw materials.  Those stockpiles are the only source and destination.  Make sure you have plenty of stairs.  The haulers bring stuff to and from the source/destinations.  Directly beneath it are the dining rooms, bedrooms, etc, and since walking up stairs counts as 1 move tile, the most they have to go to get to the hauling job would be ten or so.

Also, I would really like to know how you got that airlock system with pressure plates working.

Logged
The mark of the immature man is that he wants to die nobly for a cause, while the mark of the mature man is that he wants to live humbly for one.

Cthulhu

  • Bay Watcher
  • A squid
    • View Profile
Re: Automated/Super-efficient Hauling?
« Reply #2 on: June 04, 2008, 04:34:00 pm »

My system is:

Stick stockpiles outside.

Dig massive room out of loam.  Put piles there, with 1 tile wide path leading to main fortress.

Only turn off hauling jobs for dwarves when I'm impatient for a dwarf to do something.

Abandon.

Rinse.

Repeat.

Logged
Shoes...

Paul Gross

  • Bay Watcher
    • View Profile
Re: Automated/Super-efficient Hauling?
« Reply #3 on: June 04, 2008, 05:26:00 pm »

http://mkv25.net/dfma/movie-605-samplepressureplateairlock

Theres a movie of the 'airlock'.  When i first made it I used levers, and made a very stupid assumption that pressure pads actually work (same system using levers worked flawlessly =[).  Pressure pads never activate for dwarves, even if citizens activate is set, but they do activate for animals.  So I put a horse in the room.  Pressure pads kind of work for it, but the delay caused the world to be connected to the horse for a split second and he took off towards his master at the end, blowing up the system entirely.  Not to mention that it completely ignored the restricted access placed on the inside pressure plates which would've prevented the catastrophe in the first place (dwarves wouldn't have ignored it).

Back to the drawing board on that one...

As for the suggestions on stockpiles and Z levels, thats not efficient enough, I want more.  Thats how you make efficient workshops, not efficient hauling to/from the workshops (which is what clogs up everything, causing clutter and degrading all production).

Logged

mortal

  • Escaped Lunatic
    • View Profile
Re: Automated/Super-efficient Hauling?
« Reply #4 on: June 04, 2008, 06:24:00 pm »

As long as your workshops are in the same general area, you can turn on item hauling only for dedicated item haulers. They will stay near the workshops because that's where all their jobs are.
Logged

Fedor

  • Bay Watcher
    • View Profile
Re: Automated/Super-efficient Hauling?
« Reply #5 on: June 06, 2008, 08:31:00 am »

Most of what you want to happen cannot be done in DF at present, or at least I know of no way to do it.  No (effective) automated method to move stuff safely is known to me, and dwarves notoriously carry things one-by-one.

I've spent a fair bit of time learning how to optimize haulage, starting with the 2D version, in which getting haulage right was even more vital.  However, the methods I use probably aren't what you are looking for, as they don't qualify as "super-efficient":  Each object still has to be moved by dwarf labour.

The only on-topic help I can offer is the following:

1) Having a dedicated hauler class, managed by Dwarf Foreman, is extremely helpful.  With the use of Dwarf Foreman, you can "surge" the mass of haulers from task to task as needed without undue effort.

2) In a sufficiently haulage-intensive fortress, it can be useful to have more than one class of haulers.  In the 2D version, I tended to form a special "Hauler - Heavy" class:  dwarves with boosted strength and agility who lugged ore to the magma furnaces deep in the mountain.  In some cases, mustering a third class - "Hauler - Food" - was found helpful, as food haulage tends to happen in a restricted area.  In the 3D version these methods are still useful (but I tend to use my food professionals as food haulers nowadays).

3) Dumping is a godsend, the most effective way I know of to supply a really large operation.  Here is the main masonry area of Mountain-Banners during its construction:

Stone is hauled up from the mines far below and dumped into a pile around the central staircase.  Masons turn the stone into blocks, intersecting with the movement of haulers in only one grid.  The blocks are being placed upwards and outwards, so the movement of masons and of stonelayers also usually intersects at only one grid.  This mutual avoidance is aided by designating the shops as limited traffic areas.  If shops get overly cluttered, they are demolished and rebuilt (two are demolished as of the moment), or the haulers dump the excess blocks in the stonepit.

Logged
Fedor Andreev is a citizen of the Federated Endeavor. He is a member of the Wandering Minds.

Puzzlemaker

  • Bay Watcher
    • View Profile
Re: Automated/Super-efficient Hauling?
« Reply #6 on: June 16, 2008, 08:54:22 pm »

Well, I was thinking about this.

I think the key is assembly lines.  Things must go from point A to point B to point C.  They shall not deviate in any fashion from that route.  How to get them to do that is a tricky part...

Now, water can push, but not very far.
You can't put stockpiles on bridges, annoyingly enough.  Or hatches, I think.

But what if you had a stockpile that was flushed down to the next level with water periodically?  Or was triggered?  I think next release will have the pressure plate bug fixed.

Each level could have a different step... AKA wood -> carpenters workshop (For barrels) -> kitchen -> dining room

Each point in the assembly line would also have inputs and outputs that are designated as stockpiles.  So, when something is flushed down, it lands on a stockpile on the level below.  Maybe kept in place by grates or something.

So the kitchen, for example, could have input stockpiles of barrels, plants, and corpses, and an output for food, skins, bone, and waste.  Placing something in an output would have it flush it down to land on the stockpile on the level down, where it will be used.

Problems I can think of:  Hauling from the workshop to the stockpile, and from stockpiles to workshops.  This I can see as a problem.  Best way of handling it would be to build rooms next to each point in each assembly line.  Each room is assigned to a dwarf.  These dwarves have hauling for items that they use turned on, and only that.  AKA butcher can only haul butchery stuff.  You would have to have multiple dwarves for each profession, but that should mostly remove the problem of the local hauling.

What do you think?  Any obvious flaws?
Logged
The mark of the immature man is that he wants to die nobly for a cause, while the mark of the mature man is that he wants to live humbly for one.

Quift

  • Bay Watcher
    • View Profile
Re: Automated/Super-efficient Hauling?
« Reply #7 on: June 17, 2008, 04:33:07 am »

The way I have adobted is by trying to do the fort by the toyota model. meaning that I spend a lot of time trying to get tasks done "on demand". If the butcher is right next to the tanner, which in turn is right next to the leatherworker, which in turn is next to a finished goods stockpile, leather. I would then make sure to have only one dwarf with all these labours enabled. So he would butcher an animal, tan the hide, and make shoes without any other stockpiles for raw materials.

and this only when shoes fell below a certain number.

the entire point was to have as small stockpiles as possible to reduce item-lag, but I also found it quite useful since I didn't really need large stockpiles at all. It wasn't to good on my poor craftsdwwarves economy though, since they didn't have to work all the time.
Logged

Erk

  • Bay Watcher
    • View Profile
Re: Automated/Super-efficient Hauling?
« Reply #8 on: June 18, 2008, 01:07:06 am »

that sounds like micromanagement hell.
Logged
'River' cancels eat: Food is problematic.

Quift

  • Bay Watcher
    • View Profile
Re: Automated/Super-efficient Hauling?
« Reply #9 on: June 18, 2008, 08:05:14 am »

that sounds like micromanagement hell.

actually it isn't.

I just had to go to the stock screens, decide what I should produce, and que up all the jobs in the manager screen.

given that they normally wouldn't be doing that much production got underway VERY quickly given sufficient buffers of intermediary materials.

Given that demand in DF is finite, there is no point in maintaining infitite production.
Logged

aelystur

  • Bay Watcher
    • View Profile
Re: Automated/Super-efficient Hauling?
« Reply #10 on: June 26, 2008, 09:35:16 pm »


not too sure how efficientyou could keep this with reguards to raw materials. (especially stone as the more  you dig, the farther the stone will end up, and it seems the algorithim uses LIFO. last in first out)

I did some playing around with this with an assigned animal to the workdwarf. I managed to get it semi-functioning. delivery of raw mats gave me too much drouble for automation though.

using your requirements:
bedroom
workstation
dining room
food
meeting area
dwarf to be segregated.
output/input

problem:
1)auto assigning work. if you are compartmenting to ensure proper stone use for task, and you have multiple mason W/S's the jobs willbe spread accross all the mason shops. means manual task assignment, reducing automation.

2) input I coulnt manage to automate. seems water doesnt push raw stones. couldnt get hauler to reset gates to stockpile when hauling is finished. 

3  using pressureplates, if dwarf leave for a break, or to eat/drink/sleep, s/he will closee off access to stockpile and will cancel the work assigned. if eat/sleep/meeting area isnt together you cant guarantee the workdwarf wont  leave meating area for food/drink or sleep.(again blocking acess (which would switch the gates, possibly trapping a hauler)

4) trap synchronization. I had read somewhere before about having alternating gates from a pressure plate. but for some reason I couldnt get this to work. ended up using multple plates in a row to get the job done.

5) wandering pet. >,<  stupid pet (used a donkey) tended to wanter quite some distance from its owner sometimes tripping the switches for acess gates/output shute.once the pressure plates bug fixed. this wont be an issue.


output shute view from top

top floor:
  X  X
  X^X
  X  X
  X  X
  X  X
  X  X
XX+XXXXX     
X_=%%_XXXX
XXXXX*-----*X
XXXXXXXXX|X

Bottom floor (with aquifer undereath):
XXX  XXXXXXX
X#XXX   X
X+XX*%X
X  XX  %X
X  XX  # X
 
X=wall
_=open space
%%=pump
*=gear
-= horizontal axel
+= door
#=grate
^=pressure plate (connected to gear to activate/deactivate pump)


dwarf speed will affect timing for output shute. pet tends to tail behide dwarf as thedwarf moves.so the pressure plate needed to be 5 steps from door to output shute. (as the dwarf gets more agi, this may have to change) again this problem is solved withhte pressure plate fix.

gears touching the pump are directly over/under each other

I used an aquifer for water and drainage.  if you arnt using an aquifer you will need to find some reliable way to get rid of the excess water without flooding the fort. especially if the dwarf finishes production line before hauling.

2 flood gates controll access to stockpile. when the dwarf is working the gate to give access for work is open, the gate to give access to  haulers is closed. I had to use 2 preasure plates in a row to keep gates synchronized to have 1 on and 1 off.  bottom floor pump is for watersource only.  the grate behind the door is where the end product will show up for hauler to pick up.

for materials other than stone an input shute similar to the output shute may be a solution to automation. (say weaving thread into cloth, with next in chain cloth into clothing)
Logged

Shadowlord

  • Bay Watcher
    • View Profile
Re: Automated/Super-efficient Hauling?
« Reply #11 on: June 28, 2008, 11:03:45 am »

The most efficient resource-delivery systems I've had going were:
  • Having one dwarf assigned to each workshop, and having them have no hauling jobs except refuse and food hauling, ensuring that (a) workshop jobs get done rather than stone and item and so on hauling, and (b) food and refuse hauling gets done since there are usually plenty of workshop workers idling! The rest of the dwarves had a general set of jobs and did all the other hauling tasks, and farming, and smoothing/engraving. (The quickest way to the military was through generalism, though - become a legendary engraver and you get conscripted)

    That's really only super-efficient in terms of requiring no micromanagement and ensuring that food and refuse hauling gets immediately taken care of, though.

  • Dealing with invaders by dropping them ~14 stories (I may or may not be misremembering the number of floors) into the processing department. They fall, they hit solid stone floors, they explode and their biological component parts go everywhere, but their equipment stays on the tile they struck. The processing department in this case has magma smelters for melting stuff, accessible magma for getting rid of leather/cloth, refuse stockpiles for the parts to decay into bones, and workshops for turning the bones into flutes* for Narn** children***.

    * = actually bolts
    ** = actually dwarven
    *** = actually marksdwarves


    (I activated a dump zone over the magma, marked the cloth/leather stuff for dumping, and marked the metal equipment for melting immediately after the invader hit the floor. The only problem is that the chest armor seemed to be stuck to the chest body part and didn't appear until it decayed.)

  • One that I shut down for having problems and having to be micromanaged too much:
    • Logs from felled trees would be placed in a stockpile next to a 1x6 channel which was many stories deep. (10? 14? I forget.)
    • At some point after the stockpile filled up, if there are no active dump jobs, I would deactivate the currently active dump zone, activate a dump zone at the 1x6 channel, and mark all the logs in the stockpile for dumping. The logs would fall all the way to the bottom and land next to my carpenters' shops. (The reason the dwarves couldn't just walk down there is that stairs from the surface down to the carpenters' shops would have made it possible for invaders to invade the fort without going through the Hand of Armok)
    • Once they were all dumped, I could re-claim the logs.
    There were a few problems besides having to micro-managing the dumping. If I had a logs stockpile where the falling logs dropped to, then wood-haulers liked to bring their logs down there the long way instead of leaving it up top (if the wood down there was used already, which it usually was). If I didn't, or if there was no wood there, the carpenters would walk the whole distance outside to get wood from the surface.

Logged
<Dakkan> There are human laws, and then there are laws of physics. I don't bike in the city because of the second.
Dwarf Fortress Map Archive

triato

  • Bay Watcher
    • View Profile
Re: Automated/Super-efficient Hauling?
« Reply #12 on: August 19, 2011, 08:19:38 pm »

Sorry about the necro but I am just building something like this and I`d like to ask a few questions in order not to build in vain.

I have a desert biome in a far away corner of my map and I want to make glass. I read here that water destroys items but does that mean I can`t transport things like sand and stone? Also, would it destroy cages? I was thinking about sending military reinforcements to far away areas via water pushing puting dwarves or animals in the cages and having a hermit to open them when necesary.

I also didn`t knew about the need of a change of z level every 10 tiles, is that the same if the water is pressurized at the source? can`t I make a big tower full of water and flush the things to their destination?


thanks in advence
Logged

Sphalerite

  • Bay Watcher
    • View Profile
    • Drew's Robots and stuff
Re: Automated/Super-efficient Hauling?
« Reply #13 on: August 19, 2011, 09:05:42 pm »

Water doesn't destroy items.  What it does is push them into limbo.  Any time an object is pushed by moving water, it has a chance to vanish from the map.  When an object vanishes, it's still theoretically present in that tile.  Dwarves can go there and grab it out of limbo, but it will no longer interact with fluids flowing through the tile, and so will not be pushable by water.  This applies to all objects.

Water only pushes objects when at less than 7/7 depth.  This is why the OP used a staircase of water - the water constantly falling down can't reach 7/7 deep on any tile, so objects are still pushed.  A horizontal passage full of 7/7 water won't push anything.  The vanishing into limbo bug makes it impractical anyway.

I did once build a working conveyor belt with a huge assembly of retracting bridges on repeaters, but that's an incredibly impractical arrangement.
Logged
Any intelligent fool can make things bigger and more complex... It takes a touch of genius --- and a lot of courage to move in the opposite direction.