Jobs in Celestial Frontier are a unit of work that can be executed by a facility (called a Job Executor). A player runs their empire by creating jobs through their facility interfaces. These jobs are queued and can be scheduled ahead of time. The job queue is owned by the Job Manager (usually the facility).
As a real time online empire management game, Celestial Frontier uses jobs as the fundamental interaction so that players can queue up any task that has any effect on the game. Because the game is designed around being able to queue up actions, the user interface generally contains access to all actions, even if they aren't applicable in that moment. Players also have access to additional generic control flow jobs that can be used to setup Automation.
Facilities that can be interacted with generally have a Job Manager interface. This screen will display information about the Job Manager, Job Executors, Active Jobs, and the Job Queue. It will also allow players to perform generic job management actions like adding Entity State Interactions, pausing, reordering, or cancelling jobs.
A Job Manager can have any number of Job Executors. Each Executor is listed along with any information about their current job. In some cases, a facility may only have one job executor, while in other cases they may have many. Links to the executor's equipment is listed in line with the executor to give players a quick glance at the capabilities of that executor.
Active jobs will display information about their current activity and the progress that has been made on that job. If the active job has associated work plans or cargo movement, players will have access to buttons which display more details. If the active job can be cancelled, the cancel button will be enabled, allowing the player to cancel that action.
If an cannot be picked up immediately by job executor, it will go into the job queue. The Job queue lists all jobs in their priority order. Players pause or unpause any jobs in the queue - paused jobs will be ignored by the Job Management flow. Players can also set any job as recurring so that it queues another instance of the job when it begins. Players can also reorder the jobs in the queue.
Jobs within the queue may have a specific executor that they apply to, a tag, a specific tag that the executor must have, and/or a job group. If these customizations are set, they will be displayed within the list item.
When a job is blocking other jobs, but is unable to be picked up by an executor, the blocking job will be highlighted to inform you of the issue. This can happen if the required conditions for that job cannot be met.
There are several common aspects of jobs that are shared between many types of jobs. Work based jobs (such as Engineering Facility and Construction jobs) use Work generation to determine how long the task will take. The work based jobs will have a Work Plan
button that allows the players to see a detailed breakdown of how that task's duration was calculated. Jobs that have cargo movement (such as Engineering Facility or Logistics Hub jobs) often deliver items to cargo bays which may vary for each task. The Cargo Movement
button displays information about all input and output items for that job.
Entity State Interactions are a way for players to create more intelligent job queues that interact with other facilities. These actions can either set the state of the entity or block the job queue until a certain entity state is set. Entity State Interactions can only set the state of an entity the player owns, but can read from the state of any entity. Players can set up the job to read from the state of the Facility, the Plot that the facility is built within, or the base that the facility resides on.
When interacting with facilities, players will have the option of queueing jobs through the action interface. Each action has different parameters, so every action will have its own interface for queueing the job. There are also Immediate actions which are not queued in any facility. These actions happen immediately. An example of an immediate action is a marketplace purchase.
Facility actions generally follow a consistent feel for how they are displayed in the user interface. A button that presents the player with the action configuration screen is referred to as an action button. Action buttons have color conventions to help players understand what can or can't be done right now.
Every job that is queued can be configured with advanced options. These advanced options allow for more advanced job management to allow players to effectively micromanage their empire.
Adding tags to a job can be used to control which executors will pick up this job. Job executors can be configured to process only jobs that contain a specific tag. Job executors configured to require a tag will ignore any jobs without that tag. The default job executor behavior will process all jobs without concern for the tags.
Adding required tags to a job can be used to control which executors will pick up this job. If a job has a required tag, then the job will be ignored by all executors that do not have that tag.
The job can be configured to only be applicable to one specific job executor. All other job executors will ignore this job.
A job group number can be assigned to a job to create a separate blocking context. When the Job Manager is assigning jobs to executors and it encounters a blocking Job, it will ignore all other jobs in the job queue that share a job group number. By default, all jobs have a group number of 0. When a player specifies a different job group number, the job manager may assign a job that is lower in priority than a blocked job. This can be useful when combined with control flow jobs to allow facilities to trigger a series of jobs when some condition is met without blocking other jobs.
Enabling the Queue as Paused Job
flag will create the job in a paused state. This option is useful when you are trying to setup automation without having your jobs be picked up by the job executor
Enabling the Job is Recurring
flag will create the job as a recurring job. Recurring jobs will create a copy of themselves when they become active and queue that copied job.
Currently not implemented
Currently not implemented
Currently not implemented
Job executors can be configured with advanced options that apply to all jobs that they process. These options are available to all executors and can be changed at any time.
This flag allows the player to Enable or Disable the job executor. Disabled job executors will continue to finish their active job, but will not be assigned any additional jobs from the job queue.
Adding tags to a job executor can be used to control which jobs it will pick up. Jobs can be configured to be exclusively processed by executors that contain a specific tag. Jobs configured to require a tag will be ignored by this executor if it does not have that tag.
Adding required tags to a job executor can be used to control which jobs it will pick up. If an executor has required tags, it will only be assigned jobs that have all of those tags. Any jobs that do not have the tags will be ignored.
Currently not implemented
Currently not implemented
Currently not implemented