Oxygen Not Included

Oxygen Not Included

406 ratings
Rational Priority
6
3
8
3
3
2
   
Award
Favorite
Favorited
Unfavorite
File Size
Posted
Updated
33.621 KB
20 Oct, 2021 @ 8:03am
11 Apr @ 3:29pm
10 Change Notes ( view )

Subscribe to download
Rational Priority

Description
By default duplicant task prioritization is inflexible, irrational, and quite frankly insane. This makes their task selection more rational, and thus slightly less insane.

Key Features
  • Duplicants no longer prioritize tasks based on a fixed importance heirarchy. In stead they will weigh the task priority, their personal preferences, and the travel distance required, making an informed decision based on all of these factors combined. This means a lower priority task nearby may outweigh a higher priority task far away. Similarly a nearby high priority task may outweigh a low priority task for which they have higher personal preference. In general, their task selection will simply make more sense.

New Priority System

Most of the time you won't need to worry about task selection with this mod. If you want a duplicant to spend more time doing digging tasks, increase their personal digging priority in the priorities screen. If you want them to dig even more, increase it again. If you want a task done, set it to a higher priority. If your duplicants are doing something you think is unimportant, set it to a lower priority. This should all just work.

Without this mod a duplicant with a higher personal digging preference will never do another task when there is digging to be done, no matter how high you set the priority of the other task, or how low the priority of the digging. With this mod a duplicant with a digging preference may still decide to clean that toilet, if you set the priority high enough and they are nearby.

It also greatly reduces instances of duplicants running across the map for trivial reasons. If there is a task right in front of them, they will prefer to do that before running off to do something far away. Of course if the far away task is significantly more important, they may still run to do it.

In general, an increase of +1 priority on a task will cause a duplicant to walk twice as far to do it. An increase of one personal preference level will cause a duplicant to walk 4 times as far, all else being equal. But as i said above you probably don't need to care. Just set the priorities as you think they should be, and treat your duplicants with the respect they hopefully now deserve.

F.A.Q.

Q: If they prefer to do tasks nearby, doesn't this mean they won't ever go do far away tasks even if i set them to high priority?
A: No it doesn't. They will still go do high priority tasks far away. They will just be rational about it. If you are having problems with this please let me know, but if you just think it might be a problem and you haven't actually tried the mod... try the mod.

Q: Will my existing colony explode if I install this mod? I have things set up just the way I like them.
A: Things might need a little tweaking but it shouldn't ruin existing setups. High priority tasks are more important, low priority tasks are less important, this basic premise is still the same. Where it's most likely to cause problems is where this premise is not respected by the original system. You can always "Save As" before you start, if it makes you feel more at ease. This mod doesn't affect save files at all.

Tips for getting the most out of the new priority system
  • Use the lower priority numbers, not just the higher numbers. 5 to 9 only isn't always enough.
  • Set dupe priorities in the priorities screen. Specialists get things done. Generalists keep your colony running.
  • The "!!" priority still overrides everything else.
  • If you have tasks that need doing frequently far away from your base, consider stationing some dupes there more permanently. It's cheaper to ship food and oxygen than to ship dupes back and forth.
  • There is a somewhat hidden "Enable Proximity" setting in the game. It's best to leave this in its default off state. When it is on the game removes some useful priority information. This mod always takes proximity into account regardless of the setting.

Notes and Known Issues

The duplicant "to do" list sometimes will not list the correct priority or type for a job. Particularly this applies to sweep errands. Dupes should still choose the correct job. This list just sometimes displays incorrect information. This also applies to the base game even without this mod. As such it would be quite a pain to fix.

Bugs, Feedback and Requests

As always, all feedback is welcome. Either here, or on github.

I did a fair bit of playtesting, but if you think dupes aren't prioritizing things the way they should, let me know. The prioritization behaviour is quite delicate, so there could easily be bugs, or weird edge cases i missed.

Source code and copyright

Source code for this mod can be found on github, here[github.com].

As far as i am concerned, this mod is public domain. You can adapt, copy, modify, repost, or generally do whatever you want with it without my permission, so long as you also abide by Klei's terms of use.

Changelog

v0.7: update for ONI build 646687 (bionic booster pack). Bionics should be supported. Nearby digging behaviour should also be improved.
v0.6: udpate for ONI build 642443. No changes to functionality, Klei just moved some internals around.
v0.5: update for ONI build 525812. Out-of-world minor patch no longer needed so removed
v0.4: duplicants will now prefer more entertaining relaxation pastimes
v0.3: tasks requiring learned skills are now considered slightly more important than unskilled tasks, so duplicants with those skills are more likely to do them.
v0.2: clarify todo list tooltips, and correct errands tab tooltips.
v0.1: initial release
Popular Discussions View All (1)
1
9 Mar, 2023 @ 4:15pm
priority calculation formula
Marlan
214 Comments
Sarge 6 Jul @ 6:56am 
An FYI for the ones experiencing "TypeLoadException: Failure has occurred while loading a type." during "Chore+Precondition+Context.DoPreconditions":
- I disabled this mod and still got the exception when unpausing my game.
- I made a mini mod that just ignores all exceptions there.
- Afterwards on unpausing it crashed with "Chore.Begin driver already set 7294 WorkChore`1[HandSanitizer+Work] ActiveHandWashing"

--> The mod 主动洗手 Active hand washing is the real problem for me.

After disabling that and re-enabling "Rational Priority" and AI Improvements again my 2000+ hrs ~200 mods savegame from 2021 loads und unpauses just fine.
Gamma_Draconis 20 Jun @ 4:14pm 
I'm also experiencing the aforementioned crash with a TypeLoadException upon processing chores.
Killer 19 May @ 1:37pm 
having that crash too. Everytime i click on a dude too. I hope it gets fixed
Pen Aim Kawata.pw 13 May @ 8:37pm 
Causes TypeLoadException on processing Chores. Sad because it's causing a frequent crash rather than a random infrequent one so I can't use this amazing mod anymore.
mesi  [author] 13 May @ 6:09pm 
@Max yes that's normal - it's just a quirk of how it does the calculation. High priority jobs can get pretty big numbers.

Technically it uses almost all of a 32 bit integer for the calculation, so they can probably go up to a billion or so.
Max Warden 11 May @ 1:23pm 
is it normal to see importance value of 67 million ?
RLMax 12 Apr @ 3:02pm 
thanks a lot for your reply! I'm excited to try this because yeah the other seemed a little off
mesi  [author] 11 Apr @ 4:03pm 
Re crashes with boosters, i wasn't able to find any problems in the mod or reproduce any crashes without the DLC... i tried recompiling the mod against the latest code, it's possible this may have fixed the issue. The booster support change is pretty janky...
mesi  [author] 11 Apr @ 4:00pm 
@RLMax As far as i can tell from the description, Ony's mod changes the task hierarchy so category matters. So build tasks may always be done before dig tasks, for example. Apart from that it looks like it still works on the same hierarchial system as the base game.

This mod makes task selection automatically smarter, taking all factors into account at once, whereas hers gives more control over the base game priority system.
RLMax 8 Apr @ 1:23pm 
how does this compare to the other mod, Priority Master?