Hey, I like that. That's how children get lost in forests and stories start. I seriously think there is room for dumbness here. We want to save the player's time by improving processor usage, not save the hauler's time by improving his GPS.
It is just one hauling strategy: if there's a big pile of items, it should be grouped as one set of jobs and assigned to one or more dwarves). The items that are not eligible for that treatment because they are not concentrated enough will inevitably have to picked up that way.
OK, fair enough, I guess having dumb dwarves as a flavor choice may be OK, so long as it isn't so stupid you pull your hair out or have to babysit them.
Another big problem with wheelbarrows: stairs. Giving each dwarf a backpack (or basket, bag, etc. depending on available materials and crafters) should be sufficient to do most hauling. Wheelbarrows can then be thought of as a tool to move heavy loads faster, rather than a container. Gravel, ore, sand, clay and other bulk goods should be put in bins for transport anyway: those can then be carried up the stairs as necessary.
Wheelbarrows would be the most useful for a group of identical jobs, eg. 35 pieces of bituminous coal to stockpile: the dwarf would fill a bin, put it on the wheelbarrow, deliver it to the stockpile, get a new bin and go back to fill it - keeping the wheelbarrow with him all the time. Otherwise the decision to get an empty wheelbarrow (probably somewhere near a stockpile) will be a calculation in itself (requiring pathfinding as well, wheels don't walk and the terrain needs to be checked).
Well, cows can go up tight flights of stairs that apparently spin in place, so it might just be that for now, wheelbarrows go up stairs, too. Alternately, wheelbarrows would have to be treated with code more similar to the caravan wagon code, which is massively problematic for Toady. It would probably make ramps much more popular than stairs in fortress design, though.
Wheelbarrows are something I think might just become "hauler equipment" at a certain point just to make the game easier - a woodcutter grabs an axe so that he/she can cut down the trees, and a hauler might grab the first available wheelbarrow or backpack to be able to better haul goods, and just pathfinds and hauls as best they can with the equipment they have. It might be wierd from the current game perspective, but if we cut down on the number of trips haulers have to do by giving them wheelbarrows, haulers shouldn't take up such a percentage of the fortress population. Alternately, there might be some sort of toggle we can put on a flag in the labors menu that says they're a "wheelbarrower" labor acive that should be carrying around a wheelbarrow because we have determined they are performing hauling so frequently that they need a wheelbarrow, and it won't be wasted on them to push it.
There may need to be something in the job "relation" code that will make jobs try to group with each other and count how big a group of jobs they can make. Wheelbarrowers and minecart pushers should try to go for the larger job groups, while backpackers might leave very large grouped jobs for wheelbarrowers and aim for mid-sized jobs as a priority, while standard haulers will go for individual outlier items that don't have many nearby items to group tasks. (This means that the job order itself decides how to group themselves, before the dwarves even decide to take the job and try to pathfind.)
that makes a lot of sense. What are the cases for massive amounts of A -> B hauling?
1: To/From Depot (check)
2: To stockpile from workshop (check)
3: To stockpile from corpse (check)
4: To workshop from stockpile (check), (think 'needs 5 steel bars)
Slightly more difficult:
4: To stockpile from mining area
5: To stockpile from battlefield
What other use cases for massive hauling are there?
Dump zones that are un-forbidden. That can be a very large concentration of items.
Butcher's shops, too, but that's already a workshop to stockpile job.
I actually think the "central distribution area" based upon minecarts would have to be the single most difficult decision tree to build. Even if pathfinding is easy, since you have a set track to follow, you have a major set of decisions to make if you want this to be automated.
You have to decide when there are enough hauling jobs that a minecart is worth sending out, where to send it back, what to lump onto the cart, and what to haul by hand to stockpiles that are far enough away, when to haul back (if the only remaining items are "too far"), and then decide how to distribute the goods in the cart.
Plus, if we have draft animals pulling the minecart, we need jobs for attaching the mule or horse or ox to the cart, and then making sure to let it go before it starves to death.
A "central distribution area" that might look like some kind of Grand Central Station might be a good way of handling some of the "where does it go" coding. It would also be amusingly bustling. But a distribution area that has all your carts dump their cargo (maybe even keeping carts on a single track), and maybe load up their cargo to get shipped off to distant workshops or stockpiles, or else leaving the goods to be loaded from unloading bay to some of the nearby stockpiles. This kind of setup would make industrial areas of the fortress much more centralized.
Oh, and what it you move the minecart up to the workshops? Can you just haul a whole bunch or coal and flux and iron into a cart and shove it down to the furnaces?