mars-sim / mars-sim

Mars Simulation Project Official Codebase
https://mars-sim.com
GNU General Public License v3.0
98 stars 34 forks source link

Implement Sponsor Mode #1095

Open mokun opened 8 months ago

mokun commented 8 months ago

Is your feature request related to a problem? Please describe.

Describe the solution you desire to see

Specifications (please complete the following information):

Additional context

mokun commented 8 months ago

@bevans2000

I've just added the Sponsor Mode by adding SPONSOR in GameMode enum class.

So, may be you'd like to design the settlement/sponsor combobox in such a way that when the GameMode is SPONSOR, then add all the ReportingAuthority objects as the elements. Otherwise, add Settlement objects as elements.

I suppose we'll need to beef up the use of ReportingAuthority and Nation very soon to do all sorts of interesting things.

They should be able to own resources that influence or dictate the course of actions of the settlements they own, etc.

Anything else you can think of that we need to address as we go down this lane ?

@Urwumpe, What do you see as the number one and number two things along the same vein that you would like to see to get implemented in near future ?

Urwumpe commented 8 months ago

My TOP3

  1. Define objectives for settlements
  2. Plan launches to Mars
  3. Prepare research projects and questions

Will we allow commercial exploitation of Mars?

mokun commented 8 months ago

Define objectives for settlements

We can take what's being defined currently in a sponsor's mission agenda (objective, findings, capabilities, and data rights, etc.. See governance.xml) and quantify them into real goals that are number-based and can be tracked.

I suppose these goals will be sponsor's goals for each settlement.

We can create some sorts of a compliance score to gauge how well the goals are being fulfilled.

May be we can have a loyalty score between a settlement and its sponsor when modeling interesting dynamic between them.

On top of that, a settlement's commander should have the flexibility to formulate his own goals that may align with the sponsor's or deviate from them.

So it's entirely conceivable that initial interdependence of a settlement on its sponsor will shift over time.

Say when a settlement is sufficiently developed and has forged successful relationship with other settlements, the sponsor may adopt a appeasement strategy to avoid the settlement from forming its own government or uniting with other settlements to create a new governmental bloc or political entity on Mars, or even switching to come under another sponsor or corporation's control if it's possible.

bevans2000 commented 6 months ago

I think we can integrate this into revisiting what the GamesManager class does. What we should do is create a replacement class to cover Commander mode, Sponsor mode and sandbox mode. The latter being unrestricted. It should be applicable to just the UI and Console.