Skip to content

Feature request: Abstractified Cleaning Zones #81

Open
@ErioirE

Description

@ErioirE

I notice cleaning tasks can have a disproportionate effect on performance. Have you considered abstracting it such that (indoor) rooms are treated as 1 "unit to be cleaned" rather than the pawn job searcher having to search over every mess instance in every room, you could just have an average mess rating per area and when a pawn works on a particular area they would just sweep random adjacent tiles in sequence in the respective room and each time sufficient work is completed you would remove 1 mess object at random.
Assuming I've explained it in a coherent way (and that the existing code works approximately the way I assume it does), I expect this would drastically reduce the performance cost while retaining the effective functionality (you would still have the same 'messes' visually, the only abstraction is in how they are cleaned.)
So my questions:

  1. Is this approach likely to have significant benefits vs current code?
  2. Is this approach something you think would fit with this mod?
  3. Is it feasible enough that you are willing to consider doing it?

If 1 is yes but 2 and/or 3 are no, would you be willing to give me pointers as to what I'd need to override to make my own mod and implement it myself? I'm a software dev who specializes in C# and I've done unity game modding in the past, just not for Rimworld.

Thanks, ~ David

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions