Skip to content
manny kung edited this page Sep 28, 2021 · 12 revisions

Role

Revised : 27 Sep 2021

Type of Role

Each settler is assigned with a Role to play out in mars-sim.

Type of Role
Mayor
Commander
Sub-Commander
Chief of Agriculture
Chief of Computing
Chief of Engineering
Chief of Mission Planning
Chief of Logistics and Operations
Chief of Science
Chief of Safety and Health
Chief of Supply and Resources
Agriculture Specialist
Computing Specialist
Engineering Specialist
Mission Specialist
Logistic Specialist
Safety Specialist
Science Specialist
Resource Specialist

As of r4847, there are 17 types of roles : 3 heads, 8 chiefs and 8 specialists.

While the Job of a person narrow the type of tasks one may perform, the Role of a person is a hierarchical position inherited with duties and responsibilities as well as special privileges.

Roles in a Settlement

In a settlement with 4 or more people, a Commander will be appointed as the head of missions and operations.

If a settlement has 9 or more people, it will elect a Sub-Commander role.

If a settlement has 17 or more people, it will elect the Division chiefs -- the exact number of which is based upon the # of specialist positions and the size of the population.

Note that a division chief is the one best fitted within its specialist role.

The rest of the members will fill up to be one of the 8 specializations.

7 Division Chiefs
Chief of Agriculture
Chief of Computing
Chief of Engineering
Chief of Logistics and Operations
Chief of Mission Planning
Chief of Safety and Health
Chief of Science
Chief of Supply and Resources

As of r4847, the 3-Division specialty scheme is no longer being used and the 8-Division specialty scheme is being adopted. The number and the type of specialists and its corresponding division chief will be proportional to the number of population.

For a settlement with 51 or more people, a Mayor will be elected for administrative work.

Note: The role of a President is in RoleType class but has NOT been put into use.

Role Election

The ChainOfCommand class is responsible for tracking and (re-)assigning roles as well as handling the election.

At the start of the sim, if the Commander Mode is chosen, players may create a commander profile and designate a commander manually.

If Sandbox Mode is chosen, a settler who has the best Role Prospect Score of a role will be elected.

During the simulation, if a head role or a chief role is vacated (e.g. if someone passes away), it will be re-elected automatically.

Role Prospect

Note that RoleUtil is responsible for figuring out which role a person should get, based on the role prospect score.

The high the score on a role, the better the person is equipped to do this role.

In r5047, we apply a improved algorithm in method findBestRole() in RoleUtil to find the best role for a person.

We also add findBestFit() in RoleUtil to to find the best person for a role as it iterates over everyone in a settlement.

This way, it lets each specialist role be filled at least once before filling another person in the same specialization.

Prior Training

A person's job primarily affects one's role. Behind, a person's Prior Training would modify this score.

Clone this wiki locally