Skip to content

Feature request: Abstractified Cleaning Zones #81

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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