Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Topics - bugi

#1
In situations where a room has door (or more than one door), and monitoring and keeping that room clean by using the 'room stats display' and 'beauty display'. Or trying to.

Problem #1 - beauty display doesn't show dirt effect in door tiles

The beauty stat view doesn't show any value/effect about dirt for tiles with doors, so it is not possible to see when/if they have dirt. (I have not checked if it could be seen with doors that would have a non-zero beauty value themselves, i.e. marble doors.) Only way to find them is to simply try to select a colonist and right click that door tile. If the menu doesn't have option to clean something in there, the tile may or may not be dirty; if the option appears, it certainly has that dirt. (Well, another option is passive; make someone cleaning a high priority and if they come near the tile, they will clean it.)

Problem #2 - delay between dirt dropping and becoming possible to clean it up

Even worse, when dirt is dropped by a colonist (under door or anywhere), it takes a moment before cleaning it becomes available in that menu. Or more correctly, before cleaning it becomes possible in general (even when beauty view and graphics shows the dirt there). Yet it affects the cleanliness stat immediately. Thus, it is possible to see room's stat showing there is dirt, but no dirt can be found anywhere, and no option to clean under doors (as if they were clean tiles). (And no, certain buildings which increase dirtiness is not the case here).

Problem #3 - room cleanliness stat is not updated after dirt is cleared in door tiles

Also, once the door-tile has been cleaned finally, the room's cleanliness stat does not change to reflect that... until e.g. starting to use stove, at which moment it will get updated to correct value. I would expect the room stat to be updated the same way as for non-door tile cleanups, i.e. immediately after each unit of dirt is removed.

Minor thing #4 - how dirt in door tiles affects both sides at full effect

While I think this last one is not a bug, per se, it still seems "incorrect"; Apparently dirt under door tiles affects both connected rooms with full effect. I would somehow count only a share of it to each connected room. A simple approach would be to apply half the effect to each room, even if that isn't quite correct in more exotic arrangement where door connects more than two rooms. In most cases I'd expect doors to be connected to two rooms (or room + outside), so the simple approach should be enough (for me, anyway :P)


Reproduction

Create a "typical" colony with a number of normal rooms along hall-way with normal door(s) to that hall way, and I'd suggest some rooms connected directly with each other (recommending kitchen and freezer). The rooms should have floor type of smoothed/carpet/any "tile/wood, to see the dirt better. Make sure colonists have reasons to move around and cause dirt, e.g. by making one room butcher, another corpse storage, another meat storage, hall way to be outside with natural dirt floor and animals herding. (etc.)  That should emhasize dirt accumulation :P

Keep all colonists NOT doing cleaning, except one with lowest priority. With that one colonist, manually keep the rooms' main tiles clean, I recommend kitchen. (This should already reveal the #2, possibly #4, along the way.)

Once it is spotted that the room stats shows dirty room but room's normal tiles are all clean, check doors manually (right click menu tries). When the dirt there is spotted, note beauty display not showing negative score at the door tile (confirms #1), note the room's stat (for rooms on both side of the door, if possible), stop any other colonists doing anything in that room, clean the door tile, recheck room stat immediately after that; not changed (confirms part of #3).

Order some colonist use some working place in that room (e.g. stove), and keep observing the room's stats while the colonist approaches. The cleanliness changes when the utility is used. (Other part of #3).


(Edited for closer to correct terms, clarity, and added reproduction ideas.
Also, I have a save game file that can be used to check 1, 3 and maybe 4, but problem 2 probably needs just watching them move around and when spotting them drop new dirt, trying to force-clean it immediately.  1,3 and 4 are also easy to check but may take a random while to get the dirt in door tile.  I'll try and arrange that save game file later.)
#2
Ideas / [1.0.2408] Visitor animals eating my food (etc.)
November 05, 2019, 01:58:10 PM
(I don't think this really counts as a coding bug, but more like a design flaw, but since the result is unexpected behavior, I think this is closer to be bug than a suggestion. I was able to find a mention of the same symptom in the modding requests, and even there, it was noted that it should already be part of the base game.)

Ordinary situation, enclosed colony building with doors etc. and a "fridge" next to "living room" (sort of).

What happens:
When traders come, they will use the colony's tables for eating, and during those moments, their pets/animals will follow them inside, and then wander around. Both the visitors and their animals will ignore closed and even disallowed doors. (Sort of thematically understandable, if nobody went to tell them about local rules, and there are no proper locks in any of the doors. But since the doors are all "locked" for enemies, there are obviously locks.)  During those wanderings, the animals will happily eat even fine meals, stored inside a fridge.  Smart ones, they are, somehow knowing there is food inside a closed dark room, and able to open the doors...  Such animals can also enter e.g. kitchen; I've had a case when I wasn't watching (i.e. micromanaging) that a whopping 2 muffalos and 1 another animal had entered kitchen while my cook was busy cooking behind presumably "locked" door (i.e. disallowed, in order to keep other colony members out of the place). There goes a pile of food into junkyard, can't risk it with the insane amount of dirt all those animals managed to spread around in the moments they were in there.

As it currently stands, during early game, visitors can cause more trouble than an enemy raid :P

What I expect:
I would expect, thematically, that the visitors left their animals to the "hang around" spot, which is usually outside, even outside the colony perimeter, or at least that they would very quickly order their animals to NOT eat my food or to even enter fridge or kitchen.  (I could expect disobeying such orders e.g. if the animal has already been starving for a while, but then again, in such case I'd expect the animal to have done something desperate even before entering the colony area.)  And I would expect them leaving animals outside not just to prevent stealing/eating, but to not spread dirt.  I would also expect visitors to obey the colony's rules with doors, and actually be able to define even stricter rules for them (separate door control for visitors). Along the idea of "We barely know you, you have no business waltzing through the defensive room, kitchen, and our living room, just to shortcut from west side to the hanging area you so inconveniently chose to be on the opposite side of the colony".

And since visitors can apparently see through walls to see where the tables and chairs are (and animals see food), I'd expect them to also see which rooms are kitchens, fridges, bedrooms, and prisons, etc., and would automatically not enter such "sensitive" places; they have no legitimate business to go into them (unless a family member happens to be there or something).

Reproduction?
Since traders coming in can't be made deterministically, I can not give direct steps to reproduce, but I think it is quite obvious anyway. Make a normal colony but leave the tables/chairs near outer walls, and fridge/kitchen next to those, withing animal wandering range, and wait for the event. Also, I don't have a savegame file for this, since when I noticed these happening it was already too late, and the previous save game is too far in history (can't ensure the randomness leads to animals eating stuff).


Solutions?

Few examples, some are partial solutions (need more than one).

* Have "trader/visitor spot", just like the colony has for its own caravan making. That would be their hang around place. Would prevent hanging in an area that is too near sensitive places, and in some cases could prevent shortcut pathing through the colony.

* Do not let any non-colony animals (visitor, enemy, wild) open any doors. Visitor humans could still open the doors for animals, assuming the visitor itself is allowed/can open such door, if they have some valid reason to do so, e.g. to reach their designated gathering spot.

* Make the visitor animals stay at the hang around spot when owner/handler goes to eat. (Thematically, handler either says "stay!" to them, or gives the rope to another visitor or ties it to a tree or whatnot.)

* Have separate toggle for doors to disallow/allow for visitors. This makes it possible to designate area where visitors can go to eat (instead of going to eat in the prison, or colony member's room while she is sleeping there.

* Allow defining allowed area(s) for visitors, and possibly separate one for their animals. If they can not reach such area from outside (edges) (e.g. without passing through disallowed doors), they could just behave otherwise like before (hang around whatever spot they can figure out and reach), and not enter any place the doors won't allow.

Note, there is apparently currently no room type for "fridge" or food storage (I don't know of nice name for such room in English). I'd suggest adding such, e.g. with rules something like: It is not recognized as any other type of room, it has complete roof, (for fridge) its temperature is below, say, 5C, and has storage area(s) which have allowed foods and/or other item types that benefit from cooled storage.  Such room types might help with visitor AIs, but might also get some other useful uses.