mars-sim / mars-sim

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

Implement Sponsor Mode #1095

Open mokun opened 1 year ago

mokun commented 1 year 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 1 year 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 1 year 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 1 year 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 11 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.

mokun commented 2 months ago

What we should do is create a replacement class to cover Commander mode, Sponsor mode and sandbox mode.

Can you create this replacement class ?

I see how we model what the Authority can do will add more diversity in the simulation.

So in general, we want to design Sponsor Mode to offer the game play that will solidify the important role of the sponsor in mars-sim.

Players will play as Authority/Sponsor whose decisions will trickle down and impact those Mars settlements and Moon colonies under his belt.

Sponsors could make alliance with other sponsors that affect trade and research cooperation.

In future, I imagine the transfer of blueprints, intellectual properties, satellite and weather data and the use of transportation network be shared among sponsors who are in the same alliance.