Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Simple, clean hauling  (Read 887 times)

shadowform

  • Bay Watcher
    • View Profile
Simple, clean hauling
« on: September 05, 2009, 02:52:14 am »

Judging from the fact that woodcutters automatically pick up an axe, it can be assumed that enabling professions allows automatic changes in equipment.

So, why not allow hauling to have the dwarf equip a back backpack or sack?  Dwarves (planters, specifically) already carry sacks and use individual items from them as necessary.

Also, since stockpiles can be limited in terms of what they're allowed to take, it might be easier to approach mass-hauling issues from a stockpile-centric approach: instead of looking for specific items that need hauling, a simple counter designates how many items of each type are needed for transportation.  Any time that counter has a value greater than 0, the appropriate hauler dwarves first find a stockpile and see what goods it accepts, then scan the goods in need of hauling for those that go in that stockpile.

As far as bags, it seems that bins already allow differing numbers of objects based on size (I get about ten bars per bin, but easily twice that many rings, idols, bracelets, and totems), so the same sort of formula might be used to determine how many items a dwarf can haul with his bag.  Of course for things larger than the bag, like statues, they can always carry one around in their arms to wherever it needs to go.
Logged
Q: What do you get when you take 100 clear glass windows, 1000 silver bars, 6700 gold bars, and 18,000 marble blocks?

A: A very large wall.

"Alright, here's Helltooth... Harborfence... Urist, come get GenericBlade... and you. Welcome to the Danger Room. First timers get good ol' Ballswallowed. Have fun and try not to take off your own toe."

Granite26

  • Bay Watcher
    • View Profile
Re: Simple, clean hauling
« Reply #1 on: September 05, 2009, 09:24:11 am »

The difference between knowing this needs to go here, and knowing these need to go to these places is not a trivial programing task.  It would require a lot of new work.

It's not that it's not going to happen or shouldn't, it's just not a trivial endevour that can be thrown in.

Bricks

  • Bay Watcher
  • Because you never need one brick.
    • View Profile
Re: Simple, clean hauling
« Reply #2 on: September 05, 2009, 10:03:09 am »

Yeah, the problem currently is how jobs are assigned.  I'm not an expert, but you can think of it a lot like mining.  The order it is done in makes very little sense, and jobs are claimed on a first-come basis.

It's one of the most requested features, and I think Toady definitely wants to see something like backpacks, satchels, wheel-barrows, and drawn carts to be implemented.
Logged
EMPATHY - being able to feel other peoples' stuff.

Chthonic

  • Bay Watcher
  • Whispers subterrene.
    • View Profile
Re: Simple, clean hauling
« Reply #3 on: September 05, 2009, 10:27:17 am »

Actually, now that we're getting burrows, some sorts of mass hauling might become easier to implement.

Suppose you have a beast-of-burden (a donkey with a pack).  The donkey is treated as a stockpile in which dwarves can store or from which they can draw items.  The player looks at burrow A and (d)esignates a bunch of items for transport to burrow B.  Urist McTeamster hauls his donkey to burrow A.  When the donkey gets to Burrow A, all of the dwarves stationed at burrow A with hauling enabled store designated items in the donkey-stockpile.  When all of the jobs are resolved or the donkey is filled, Urist McTeamster hauls his donkey to Burrow B.  There the items in the donkey stockpile become ineligible for storage, and all dwarves with hauling enabled remove the items to traditional stockpiles.

Each burrow could have designated loading and unloading zones.

A fortress quartermaster might allow players to make automated rules . . . for example, if an output stockpile in Burrow A reaches 50% capacity on widgets or has over 50 widgets or somesuch, x items are designated for transportation to Burrow B.  Players could use this method to keep supplies circulating, especially in complicated fortresses with many specialized burrows.
Logged

shadowform

  • Bay Watcher
    • View Profile
Re: Simple, clean hauling
« Reply #4 on: September 05, 2009, 04:01:55 pm »

I don't assume that it would be something he could slap together in a half hour of coding.  I remember reading something about the use of wheelbarrows, and it occured to me that using backpacks or bags to transport lots of small objects (the main thing that consumes hauling time, at least in my fortresses) would make more sense, so I thought I'd mention it.

I thought I'd mention the idea of hauling jobs originating from a stockpile because if you have the hauling AI just go out and gather up as many trinkets as possible, it might find later that some of them don't have an appropriate stockpile.  With the current one-item-at-a-time method it's not an issue, since the dwarf only needs to find a single stockpile after deciding "I am going to haul this mug".  Again, it's just an idea I had that I thought I'd mention.

As for teamsters, it might be easier on the pathfinding AI if the haulers in Borrow A hauled all of their goods to a teamster's office instead of trying to chase down a donkey, especially if it's handler decided to run off for a drink, a snack, and a nap in the middle of loading it up.  Haulers bring goods to the office, the teamster brings his donkey, loads the goods, and takes them to the office in Burrow B, where he unloads them.  From there, the haulers in Burrow B take them to the appropriate stockpile.

It would also simplify designating items for this type of hauling.  First you'd select the destination office, then the pack animal to be used and then you'd select the goods you want to transport (with the maximum number or weight of items to be transported possibly depending on the pack animal).
Logged
Q: What do you get when you take 100 clear glass windows, 1000 silver bars, 6700 gold bars, and 18,000 marble blocks?

A: A very large wall.

"Alright, here's Helltooth... Harborfence... Urist, come get GenericBlade... and you. Welcome to the Danger Room. First timers get good ol' Ballswallowed. Have fun and try not to take off your own toe."

Silverionmox

  • Bay Watcher
    • View Profile
Re: Simple, clean hauling
« Reply #5 on: September 06, 2009, 06:05:17 am »

A different type of hauling job, collecting, might make using containers easier. The dwarf would take all loose items in the room, or in a larger and larger radius, and pile them on a single spot. It makes more sense thereafter for haulers to check whether other items on the same spot need to go to the same destination.
Logged
Dwarf Fortress cured my savescumming.

Wood Gnome

  • Bay Watcher
    • View Profile
Re: Simple, clean hauling
« Reply #6 on: September 06, 2009, 03:10:03 pm »

Maybe not a quick thing but: assign haulers to specific stockpiles. An asigned hauler would move items to or from only this high-priority stockpile, those who have no stockpile assigned would haul as currently implemented.
Also, i'd like a designation: make wall carving on this constructed wall with this stone type.
(sorry this is in the wrong spot, i'm overseas on my cellphone and thought i was linked to a nearby thread)
« Last Edit: September 06, 2009, 03:31:04 pm by Wood Gnome »
Logged
cause of unexplainable mischief

Sunken

  • Bay Watcher
  • Wabewalker
    • View Profile
Re: Simple, clean hauling
« Reply #7 on: September 13, 2009, 03:23:12 pm »

A different type of hauling job, collecting, might make using containers easier. The dwarf would take all loose items in the room, or in a larger and larger radius, and pile them on a single spot. It makes more sense thereafter for haulers to check whether other items on the same spot need to go to the same destination.

I like this. I see many dwarfs casually cleaning up their own local burrow, not going far out of their way but just dropping stuff off at the local storage room while they're passing through, and real dedicated haulers with wheelbarrows and crates lugging things between burrows in bulk.
Simple things like having a finished goods bin as part of a workshop (that is, not the current workshops but bigger, multi-dwarf installations) and the smiths, or apprentices, putting all the goods in there for pickup rather than leaving them lying where they were created.
(In general, I feel there should be more cooperation in tasks like smithing, with underlings doing the dirty work next to the journeymen and masters)
Logged
Alpha version? More like elf aversion!

Draco18s

  • Bay Watcher
    • View Profile
Re: Simple, clean hauling
« Reply #8 on: September 13, 2009, 03:45:06 pm »

As for teamsters, it might be easier on the pathfinding AI if the haulers in Borrow A hauled all of their goods to a teamster's office instead of trying to chase down a donkey, especially if it's handler decided to run off for a drink, a snack, and a nap in the middle of loading it up.  Haulers bring goods to the office, the teamster brings his donkey, loads the goods, and takes them to the office in Burrow B, where he unloads them.  From there, the haulers in Burrow B take them to the appropriate stockpile.

Such a method would work for any type of "mass hauling" device, like wheelbarrows (which could go "anywhere" just like the burro) whereas rail'd mine carts would have limited destinations and all of their pathing would be restricted to built track.
Logged