Smart hauling while moving

Started by Uuugggg, February 22, 2017, 12:32:33 AM

Previous topic - Next topic

Uuugggg

In summary, if I was a colonist, and I just harvested some corn, then I went to the fridge to get dinner, I would realize "Hey, this corn needs to go to the fridge. I am going to the fridge. I should bring the corn with me." Instead the Rimworld colonist leaves the corn out to deteriorate.

Rimworld should do this. When a colonist is going from point A to B for a new job, it should check if there are nearby hauling jobs to do. It's a big waste of time not to.

Uuugggg

While I'm here, let's include smart inventory.

This just happened: "I can't fuel that pod launcher! I need chemfuel! I will continue with my current job, which is hauling chemfuel to storage" /facepalm

So, if a colonist is hauling something to storage, check if that thing is needed elsewhere and deliver it there instead.

Perq

Or picking up 2 steel for that power conduit, while there are heaps of steel waiting to be hauled.
I'm nobody from nowhere who knows nothing about anything.
But you are still wrong.

dragonalumni

or "hey, i just deconstructed this ruin across the map, and now I'm going to go back to base to get some sleep"...
and either
a) I'll take this material back with me
or
b) I'll just leave all this shit here and run back tomorrow to get it.

Limdood

because it brings up situations that the player can't predict, and therefore can't control.

When you make the mechanics of the job ordering and priority less transparent, so that I can no longer expect people to do constructing before hauling when its ordered that way (see the conduit example the OP gives), then I can't accurately set up priorities and control my pawns.

-1 to this suggestion....for this and the last 12 dozen times its been suggested.

Dorian

I think this would work, provided only one hauling interruption was allowed per trip.  What I mean is if someone is heading off to bed and runs across something to be hauled, they only haul that, and then go to bed.  This would prevent numerous interruptions which they can run into on their way, which could delay their rest or meal by hours.

slippy

Thank you for the thoughts so far everyone!

I just wanted to address one thing that's a bit off-topic, but whatever.

Quote from: b0rsuk on February 08, 2017, 01:38:59 PM
- colonist coming from mining site / growing zone empty-handed
- colonist automatically cleaning hospital before operating
- colonists avoiding jobs in rooms that would disturb sleep
- sunlamp automatically turned off at night
- leftovers from deconstruction are hauled away from ALL nearby wall squares before construction is started
- colonists going to remote construction site empty-handed instead of with new batch of materials
- zero warning (not even barking dogs!) when there's a predator coming
- colonists prefering raw food over nutrient paste (it seems to occur when there are several going for paste at the time ? Or just distance ? Makes playing "no sowing plants in the ground" all but impossible)

This isn't an open suggestions thread, but just to note why none of these are changing. There are two main reasons.

1. They're defeated by balance. All of these are things that are essentially of the form, "add AI complexity to make AI perform more optimally and make the game easier". But, if we do that, we'll just have to make the game harder in other ways to maintain the same balance point. e.g. colonists automatically turned off at night? Well, now we just double the sunlamp power consumption to maintain the same balance. Ultimately we end up in the same place, with a bunch of new AI complexity and a bunch of new problems.

2. Any solution creates new problems which are often worse than the original issue. Of course it's easy to say something like, "colonist automatically cleaning hospital before operating". But if we do that, people will soon get pissed off because the patient died while the surgeon was busy cleaning the hospital instead of performing the damn operation. And now we have to add in some sort of player override control, or AI decision making, that can decide when to clean or not clean, and so on and so on. It's an endless regress of AI needing to solve the problems that the last solution created.

The same goes for something like, "sunlamp automatically turned off at night". By whom? When, exactly? What if you don't want it off? How far should they walk to turn it off, and can you control that? What does the UI for configuring all this look like, and what new problems will that create?

We can ask the same battery of questions about almost all these notions.

RW's approach to AI is to set up simple mechanistic rules that the AI follow, let them be suboptimal, and balance the game against those suboptimalities. I've seen other developers try to solve every tiny problem and it's just an endless cycle of problem creation and solving, with complexity increasing the whole time. And ultimately it's pointless, since all those optimalities just get balanced out per point 1.

The one main argument about these kinds of solutions is that they eliminate the incentive for micromanagement by "doing the micro for you". But, there is a point beyond which the downsides of trying to do this outweigh the advantages. Any game like RW is going to have places where players can micro-manage to get micro-benefits. Like many inherent problems in complex systems, this isn't something that can be totally eliminated without the cure itself destroying the whole system. All we can do is try to find an optimal balance where we keep the problem manageably small while also avoiding the huge costs of being too militant in trying to solve it.

I would be really open to specific suggestions about changes to make (in another thread in the suggestions forum) - but it's a lot more helpful to say *exactly* what changes you want. Remember the AI isn't people, it needs to have specific razor-sharp rules for every situation; it can't make intuitive decisions and doesn't understand anything about what's going on. It would be great to try to think through exactly what you want, and what problems that would or would not create, and present the solution instead of just the problem. Then you'll really be engaging in the design process! (and again, please do not make suggestions in this thread, they'll get removed as off-topic).

**************

That is a recent reply Tynan has made regarding these hauling issues.  It makes sense to me(especially from a developement point of view), why he has chosen to let them remain.  It's a balance issue.  But down the road when the game is nearing completion maybe that will be one thing he optimizes, who knows.