Hauling Tweaks

Started by GiantSpaceHamster, February 10, 2017, 05:22:19 PM

Previous topic - Next topic

GiantSpaceHamster

I know there are posts about hauling, but they're either pre-A16 or have solutions suggested that are just way to complex to warrant consideration. Plus I want to emphasize that I think hauling needs at least a little tweaking despite Tynan's comments to the contrary, so new post it is! I'll try to keep it short.

Two situations:
1) Done mining or fighting, go back to camp, leave the mined resources or raider drops where they lay.
2) Run across the whole map, pick up one thing (e.g. a gun), leave another thing on the ground next to it (e.g. a single meal).

I completely understand Tynan's concern about making the AI too complex and then having to fight with solving the first bug while introducing others and ending up in a frustrating cycle. But I think some sort of simple solution that addresses the most tedious situations is warranted.

For example, for #1, after completing a mining job or being undrafted and getting a new job, check if there is something within X tiles of the current location and a stockpile within X tiles of the new job's location. Similarly, for #2, when starting a hauling job, check if there is available inventory capacity on the pawn and if there is another thing within X tiles of the initial hauling target that can be hauled to within X tiles of the initial target's destination. Effectively turning hauling into a "haul a bunch of stuff from this area" task rather than a "haul this one thing only, not anything else" task. Which, let's face it, is how people do hauling in the real world (i know i know, games != real world).

I tried to avoid more complex solutions like checking along the entire path etc. Regardless of the solution, I feel pretty strongly that it's not added difficulty but purely added frustration when these two situations occur. The second case isn't even a matter of micromanagement. There's nothing you can do about it as a user and it's painful to watch.

Lurmey

I've been quietly complaining to myself about that first situation for the whole time I've been playing the game. It seems so simple to just tell a pawn to start hauling nearby materials once they decide to terminate a mining job. Even if they don't haul back all of the resources, just bringing some back would be really nice. A good phrase that represents this would be "Don't go empty handed!"

I understand Tynan's concern for making the AI too complex, but I agree that this could be implemented fairly simply without beefing up the amount of operations too much. Just a simple check along the lines of "are there resources near me that could go to a stockpile near my destination?" would be such a great tweak.

With regards to the second situation, I haven't noticed that exactly happen, but I have had people drop meals on the ground when being undrafted after a raid, and consequently told to haul the weapons and corpses from fallen comrades and raiders. That's kind of annoying that they decide to drop the meal they were about to eat, as opposed to putting it back in their inventory. (Also, who decides to eat a snack out on the battlefield instead of just going home to eat?)

poolday

I find this problem annoying mostly when my colonists go harvesting or cutting trees and leave the resources on the ground to deteriorate.
Perhaps they can haul them (at least once) before changing to the next different task.

Ragnarok

I've found the hauling thing to be annoying too.

I like Lurmey's comment of "Don't go (back) empty handed!"

The fix I was thinking of was similar to GiantSpaceHamster's first example. If a pawn is within X tiles (say 5-10) of an item that can be hauled, and that pawn is going to go within X tiles past a stockpile  then the pawn picks up something and drops it off on the way back. This way if the pawn gets hungry or sleepy and have to pass right by a stockpile on the way to their bedroom or kitchen they will take something to drop off on the way rather than going back empty handed.

Another sort of related note, it would be nice to see pawns focus on their highest priority job. For example, if I have a pawn with a 1 on construction and order them to deconstruct a wall way outside my base, that pawn should focus on deconstructing while another pawn with a 1 on haul should come pick up stuff, instead of a pawn deconstructing a single wall then wanting to carry that one block all the way back. Same thing with mining. A pawn high on mining priority should focus just on mining while another pawn high on hauling priority should haul. Unless of course they finish deconstructing/mining, then that pawn can haul on the way back.

Swat_Raptor

I still think the implementation of delivery orders would help solve a lot of problems and would be relatively simple.

add a another option to a stock pile, (schedule delivery) take x materials to specified stockpile, repeating options would be x times per days or every X days if room is available.  Then you could have a Kitchen stock pile, a dining room stock pile, prison food stock piles, hospital food stock piles, set them to equal priority and just schedule the transfer of materials as you see fit

RemingtonRyder

Make it even simpler. Take a vanilla mechanic that already exists and expand on it.

Colonists already opportunistically take meals to inventory.

Now, colonists opportunistically take resources to inventory, but:

1. There must be space in a stockpile for the resource.
2. The destination stockpile must not already be nearby (leave that for general hauling).
3. The colonist's needs outweigh the need to save a trip e.g. if a colonist needs to lie down in a medical bed to get treatment, that takes precedence.
4. Like animal hauling, it must not happen all the time or it becomes a thing that has to be balanced against.
5. It must not conflict with another activity which uses the inventory e.g. opportunistically taking meals to inventory, or taking animal feed to inventory for taming/training. Accordingly, inventory space must be reserved for those activities.

SpaceDorf

Why not make it still simpler.

When the pawn stops doing a ressource generating job ( mining, plantcutting )
check which job he wants to do next, if it's the same, continue,
if it is hauling generated ressource, continue, ( check for raw ressource or raw food)
If it's something else override with the "take generated ressource to stockpile " - routine the bills do.
check which job he wants to do next, if last job was hauling, let him do whatever he wants

hunters may check something similiar, because they are able to bring home the bacon
Maxim 1   : Pillage, then burn
Maxim 37 : There is no overkill. There is only open fire and reload.
Rule 34 of Rimworld :There is a mod for that.
Avatar Made by Chickenplucker

Limdood

-1

for all the reasons already spelled out in every one of these threads that already exists

saulysw

I'm sick of seeing my pawns finish chopping a tree or mining some steel away from my base and as soon as that is done decide to clean some dirt on the other side of the map rather than hauling the thing they just finished. I often have to micromange them and manually prioritise them to go back and haul. I would like to be able to do this as part of the initial work request, adding an " then haul" on the end.
Also, they don't seem to finish the job some times, particularly with the mining. When I say I want it mined, I mean it, and sometimes I have to stop them deciding playing horseshoes is a better thing to do when only 10% is left to mine. Couple this with the hauling, and you feel like your manual commands are not that strong.
It may add to the UI complexity, but I'd say it would be worth having a "do until finished" and "then haul" options to the commands for mine, harvest and wood chop. Possibly de-construct as well. Does anyone else agree? I did do a quick search to see if this had been suggested before and couldn't find anything, so I apologise if it's been suggested before.

Calahan

#9
@ saulysw - Smarter AI hauling, or combining mining/harvesting/etc and hauling jobs, or don't return to base empty handed, or any other number of synonyms for the same request, have been suggested dozens of times since the game launched. So I've merged your thread with the most recent one I came across, as we don't need another open thread about this.

For the other stuff. If you don't want Pawns running back across the map to clean then either disable the cleaning job for that Pawn or enable manual priorities and set it as the lowest priority. And IIRC there was a bug reported with mining jobs cancelling themselves prematurely, I think sometimes it's WAD to fulfil needs, but other times due to a bug. So this might be fixed in A18.

Edit - Here's the Mantis report for that bug. Not fixed yet by the looks of it. https://ludeon.com/mantis/view.php?id=2643

saulysw

Indeed, sorry for the work I caused you and thank you. I *did* try and find this first, but didn't look here in the suggestions area.

Calahan

#11
No worries :) Words like "hauling" or "Ai" etc. will have hundreds of hits, so specific threads about them can be hard to find in the crowd (unless you've been around a while and can remember the threads and some of the other words likely to appear).

Edit - I've edited my previous post to add a link with more info about that bug. re: mining jobs cancelling themselves for no reason.

mvargus

I don't find this as complex as all of you, but I do want to note that this trick doesn't work in all situations.

The way I solve it is in manual priorities I'll have hauling ranked before the task I'm doing (mining, growing or cutting plants).  What this does is the instant I finish one item and create something to be hauled, my pawn will turn and haul that to the store room.

This doesn't work in situations where you have a giant map and are far away from your base, unless you create a temporary stockroom near the pawn.  And it won't work if you have lots of additional stuff to haul elsewhere on the map as the AI might choose the wrong item.

But if you keep the map mostly clean and are close to your stockroom, it removes the question of having to micromanage the hauling or having stuff left to rot.

saulysw

Quote from: mvargus on August 30, 2017, 11:11:18 PM
I don't find this as complex as all of you, but I do want to note that this trick doesn't work in all situations.

The way I solve it is in manual priorities I'll have hauling ranked before the task I'm doing (mining, growing or cutting plants).  What this does is the instant I finish one item and create something to be hauled, my pawn will turn and haul that to the store room.

This doesn't work in situations where you have a giant map and are far away from your base, unless you create a temporary stockroom near the pawn.  And it won't work if you have lots of additional stuff to haul elsewhere on the map as the AI might choose the wrong item.

But if you keep the map mostly clean and are close to your stockroom, it removes the question of having to micromanage the hauling or having stuff left to rot.

Yes, but then you have the inverse problem. You can't get them to cut down two trees in a row without them wandering off with the haul of the first tree. Also, you are now possibly micromanaging their priorities instead, which is just as painful, if you do this each time (I'm not saying you do).

b0rsuk

The way I remember Tynan puts his comfort above comfort of players. He prefers that players get used to stupid-looking, suboptimal pawn behavior rather than having to gradually rebalance other thighs to compensate for improved hauler efficiency.