Scheduled Pending Tasks in 3.6 #1028
Replies: 2 comments 6 replies
-
Yea Please go ahead and add more features to
Good point. Can we create a special shift called Say we dedicate 20% (or a player adjustable) of settlers to do EVA. They'll be required more or less to sleep enough prior to EVA. But this requirement can be relaxed by gauging the individual fatigue and energy level prior to sleep.
That makes sense. Repair tasks should take precedence. I haven't considered that till now. Do make those changes as you see fit. |
Beta Was this translation helpful? Give feedback.
-
To my knowledge, But having said that, we can some changes to exclude anyone who are already having a task. Do we want to do so ? Internally, One idea I struggle in the past is, should we allow any settlers/robots to come help load vehicle cargoes ? Also should anyone be recruited to help unload vehicle cargoes when they arrive home ? |
Beta Was this translation helpful? Give feedback.
-
Recently the simulation has come to rely more on the Pending Task concept.
Scheduled Task Implementation
The
ScheduleManager
is essentially duplicating the existingScheduledEventManager
. The latter is a more efficient implementation with UnitTests and support in the Console to display events. It is also already integrated into theSettlement.timePassing
method.The current implementation relies on
Settlement.setAppoinmentTasks
to create future pending tasks every sol. It would be better to have the concept of a Rota that is scheduled when there is a change of Shift. So when a Shift comes online; the future Tasks would be scheduled as part of the Shift rollover. The Rota creation would be just focussed on those that have come on Shift.This would be more useful as it could be expanded to cover other Tasks.
However this has to be careful that it does not overlap with the shared
SettlementTask
backlog which works very well.Both of the above can be done as part of a redesign in 3.7.
Sleeping on Shift
Currently Persons are forced to Sleep on shift before undertaking an EVA activity. Do we really want people sleeping when they are on a shift?
Ignoring Important Tasks
Whilst the above is easy to fix as part of 3.7 there is consequence of more pending tasks. Currently the
TaskManager
starts the next pending task without evaluating the potential other Tasks. This will cause a problem if there is a higher importance tasks. For example if there is a pending task available but a Class 1 Malfunction the repair tasks will be ignored. In most scenarios this would be OK because other Persons would pick up the Task BUT if there are not many people in a Settlement it could be ignored.It suggests that the Task Manager needs to compare the next Pending Task to the potential options before progressing. Pending Tasks should not be done blindly; they need to be started in the context of what else needs to be done.
Potentially Pending Tasks should have a score such that a high scoring Task would still take precedence.
@mokun
Beta Was this translation helpful? Give feedback.
All reactions