Suggestion: Coat racks, colonists prefer no coats inside

Started by nuschler22, December 14, 2014, 08:08:50 PM

Previous topic - Next topic

nuschler22

Right now, other than heating a hydroponic room, I haven't found a point to have heaters. 

I think if we had a negative effect for colonists to wear coats inside and all the time, that would be better.  The ability to have a coat rack that stores maybe 4 parkas per single space rack right by the doors leading outside would help as well.  The colonists could have a brief pause before going in and out, similar to opening a door.

Or, they could only demand them when they sleep in their room or sleeping quarters.

julsruls

yeah, the main reason to use heaters right now is just to make hydroponics work, unless your in retartedly cold temperatures, a parka and some clothes will negate any sort of hypothermia completely. maybe have a big slowdown to parkas or make it so it just slows down the inevitable hypothermia by a fair bit.


Tynan

I have balanced parkas to debuff work speed a bit. The trouble with auto-dressing is that it is hard on the AI since now they need to do one activity while doing another. That's not really supported. But I'll think on it.

Moving to Suggestions.
Tynan Sylvester - @TynanSylvester - Tynan's Blog

Geertje123

I use heaters for climate control. If you only have coolers installed the temperature can still fluctuate a lot depending on the outside temperature. Having at least one cooler and one heater in a room keeps the temperature always on a steady level, no matter the outside temperature

A1win

Quote from: Tynan on December 27, 2014, 06:05:35 PM
I have balanced parkas to debuff work speed a bit. The trouble with auto-dressing is that it is hard on the AI since now they need to do one activity while doing another. That's not really supported. But I'll think on it.

A much cheaper solution to auto-dressing would be to make clothing slow down colonist work speed not all the time, but only while the colonist is out of his or her base temperature range, that is, the temperature range unaffected by clothing. This way, it's still important to keep indoors at ~15°C to get rid of the clothing work speed penalties. Basically, the colonists would in a sense "auto-undress" while indoors, but without actually taking those clothes off—only the negative modifiers of that clothing. There could also be a small mood buff (+1 or so) for being within the base temperature range, so the mechanic is naturally introduced to the player.

I've only been playing RimWorld for less than a couple of weeks so I'm finding these old topics I would've wanted to reply at the time they were posted, hence the necroing. Sorry for the inconvenience!

Sempie

I understand the intention to slow people with heavy clothes down.
However, I don't like it at all. This is way to secret, one does not really notice it while playing. This is one of the things that only alter some numbers but does not have a real effect on gameplay, due one can completely ignore it.
"Okay, so all of my people work ~2% slower, who cares."
If this leads to a state where I can't controll events due the lack of effectivenes, I'd prever playing on a lower difficulty over klickspaming a >10pawns colony for managing their clothes all the time.

A1win

Perhaps a more elegant solution is to not give any work speed penalties for wearing heavy clothing at all, but to give a +3 or so mood buff for being in Room Temperature, which would be the same for all colonists (+16C to +22C, for example). While in Room Temperature, a colonist would never be Hot or Cold, regardless of their minimum and maximum comfortable temperatures. This would give a reason to heat up indoors and would remove the need for micro-managing clothing.

For further elegance, the minimum comfortable temperature of every colonist would be capped at a maximum of +16C and maximum capped at a minimum of +22C (or whatever the range of the Room Temperature buff would be).

Minimum Comfortable Temperature Minimum Room Temperature < Maximum Room Temperature Maximum Comfortable Temperature

In other words, the minimum and maximum comfortable temperatures vary between colonists and are affected by clothing, but the minimum can never be higher than Minimum Room Temperature, and the maximum can never be lower than Maximum Room Temperature. The minimum and maximum room temperatures are always the same for all colonists. Being within the room temperature range gives a small mood buff.

hairlessOrphan

The biggest issue I see with these is they become secret magical systems that players have to learn. A new player coming in would totally expect colonists to take their coats off indoors. But they would not expect special temperature ranges that negate clothing effects.

So, secret magical systems that only exist as workarounds to engine limitations... In programming, we have a term for these: hacks. I can see it as a temporary workaround, but I'm not sure the clothing problem is quite big enough to warrant a temporary workaround. It's definitely a thing I've love to see improved, though.

As Tynan mentioned, this would need a special class of tasks, something like "drive-by" tasks. The AI would need to somehow decide how expensive these "drive-by" tasks are to make decisions about whether or not to do them. This is hard enough for real people in real life - think about when you're in a rush, deciding whether or not you're gonna hang up your coat or just take it off and throw it on the couch.

BUT BUT BUT, if Rimworld did get this kind of system, wow. What an improvement. Suddenly, colonists would theoretically be able to do things like pick up harvests and drop them off in a nearby bin while harvesting. Eventually, maybe they'd be able to just pick up a slag chunk in their path if they "know" they have a place to drop it off while they're walking from one end of the base to another. These are little things that don't just make a base more efficient, but also make colonists seem more "real."

Kaballah

This is a nice idea if it turns out to be workable.

Gremdavel

I could easily be wrong, but perhaps this could be handled with a couple of small checks every time a path point is reached.  From what I have seen, it seems like pathfinding is handled in segments and recalculated after each segment completes (which I'm referring to as a path point).  If that's correct, perhaps something like the following pseudocode at those points:

if (
    colonist.current_location.indoors == true &&
    colonist.next_path_point.indoors == false &&
    colonist.current_room.contains(clothing_rack) &&
    colonist.settings.auto_overclothes == true
) {
    colonist.task_queue.push_to_front(task.don_overclothes, colonist.current_room.get_clothing_rack())
}


And there would be a check for the inverse as well (removing overclothes) with similar logic.  Obviously, I have no idea what the code really looks like or if the classes have these sorts of attributes and functionality, but I imagine that something similar to this would be fairly inexpensive and worthwhile.  This particular code assumes that path checks are done at least once every time the colonist enters a new room, but if they are not, perhaps there is another check when colonists do enter rooms where this could be added.

It would mean that colonists would change their overclothes at a coat/hat rack only if it were placed in a room with a door that led to the outdoors, and only if a colonist's clothing settings (already in the game) had an "Auto Overclothes" option checked by the player (or if it were checked by default, but should probably have the ability to be overridden); coat/hat racks placed in rooms that are not adjacent to the outdoors could still be used to manually store overclothes.

Sorry to resurrect this thread, but I wanted to suggest this very thing and did a search first.  It wouldn't be the cheapest thing to implement (although not too bad, I imagine), because it does require a new item, a new kind of behavior which distinguishes overclothes (all jackets and hats, and potentially armor) from other clothing, and an association between the two.  But Tynan mentioned the AI cost, and I was wondering if the above logic would work, or if I'm missing something (easily the case).

Simon_The_Space_Engineer

i like the idea but for me i use clothes to keep my colonists warm instead of building either heaters for each room or building a lot in one room with vents to every one (to much material cost when its easier to have them wear a coat) and i also have a friend who wears a jacket (and shorts since he doesn't own pants, nor feels the need to get a pair) year round. hes an indoor person but in Arizona it still gets warm inside (110+ degree weather in the summer, or about 43.3 degrees Celsius)
In the end, we all make the same leather hats.

Gremdavel

Oh yeah, I guess you'd also need to put a quick temperature check in there, too, and compare it with the overclothes available.