GOALS
The goals of the background simulation are as follows:
- Politics
- Create a dynamic, evolving galaxy
- Generate interesting events
- These can then be used to create missions
- Respond to player activities
- Player activities should have greater impact
- Respond to injected events
- Respond to generated events (chain effect)
- Economy
- Create a dynamic economy
- Populate markets (quantities and prices)
- Be relatively predictable (to aid player understanding)
- Generate interesting events
- These events can be used to create missions
- Respond to player activities
- Player activities should have greater impact
- Respond to injected events
- Respond to generated effects (chain effects)
The requirements for both the political and economic simulations are similar, potentially similar enough that they can be driven by the same system, which is something we will explore with this design
The simulation also provides data for NPC traffic generation, modified by local conditions.
From a technical perspective the following goals are also required:
- Low overhead for processing
- Low overhead for data storage
- Low data access requirements
WHAT THE SIMULATION IS NOT
- It does not provide faction command; this will be done by designers by injecting events.
- Although the system should provide aggregated data to help guide these events.
- It does not provide a fine detailed simulation of human space in the galaxy.
- Note that it does provide the framework for a living galaxy as required in the goals.
WHAT DEFINES A SIMULATION ENTITY
A simulation entity is the lowest unit to which the simulation applies, this will typically mean a system or a world within a system. Note that an entity can support multiple markets.
A system can include multiple entities
New entities can be added or destroyed at any time via events.
All of the simulation needs to be instrumented, so that we can track such events and override them if appropriate.
An entity has a number of variables. Each of those variables defines what events the simulation creates.
- Government type
- The government type is one of a list of predetermined types. The types apply a range of modifiers to the base values for system. For example communism, or democracy.
- Government types provide inherent modifiers for issues like corruption and distribution of wealth..
- The list of government types is listed below:
- None (There is not a significant population to require governance)
- Anarchy
- Corporate State
- Religious Cult
- Independent Democracy
- Federal Democracy (ie Federal State)
- Theocratic Dictatorship
- Autocratic Dictatorship
- Communist Dictatorship
- Feudal
- Imperial Colony
- Imperial Protectorate
- State
- The entity’s state applies special modifiers, depending on the state.
- Changes in state are created via events – usually injected events.
- An entity’s state will sometimes modify events and associated missions that are generated.
- This needs to be data-driven and the list below is non-exhaustive
- We may want the extreme category to be only triggered by human moderation
- A list of states and their effects are shown below (the magnitude of the effects can be varied on a case by case basis):
- Peace – this is the default state, there are no modifiers.
- Economy (Positive) – there has been an upsurge in the economy
- Has a positive effect on Standard of Living, Production and Wealth
- Economy (Negative) – there is a downturn in the economy
- Has a negative effect on Production, Standard of Living and Wealth
- Unrest – this state indicates internal conflict with no other named entity involvement
- Has a negative effect on Standard of Living, Security and Wealth
- Civil war – this state indicates internal civil war without an external named entity (note that civil war with named entities is simply a war)
- Has a negative effect on Standard of Living, Security and Wealth
- Development level is frozen while in civil war.
- Threat of War – Entities prepare for a possible conflict with other entities
- Markets require weapons and medical items even if not normally stocked
- War – the entity is at war with another entity
- Has a negative effect on Standard of Living, Security and Wealth
- Markets require weapons and medical items even if not normally stocked
- War (Losing) – Entity is losing a war against another entity
- Has a negative effect on Standard of Living, Security, Population, Development Level and Wealth
- Markets require weapons and medical items even if not normally stocked
- War (Winning) – The entity is winning a war against another entity.
- Has a negative effect on Security and Wealth
- Markets require weapons and medical items even if not normally stocked
- Famine – The entity is not able to support its own population through normal means – typically only affects agricultural worlds, although other worlds that are not importing enough food can slip into this state
- All food production is removed
- Market requirements for food increased
- Has a negative effect on Standard of Living, Wealth and Population
- Drought – The entity is not able to support its own population through normal means – typically only affects desert worlds, although other worlds that are not importing enough food can slip into this state
- All water production is removed
- Market requirements for water increased
- Has a negative effect on Standard of Living, Wealth and Population
- Outbreak (Minor) – A minor pandemic has broken out in the entity’s environment.
- Markets cannot export food or medical items (except machinery if applicable)
- Has a negative influence on Standard of Living and Wealth.
- Outbreak (Major) – major and lethal pandemic breaks out in the entity’s location.
- Markets cannot export food or medical items (except machinery if applicable)
- Markets demand for medical items increased
- Has a negative influence on Standard of Living, Population and Wealth.
- Development level is frozen
- Entity will be quarantined
- Outbreak (Apocalyptic) – extremely lethal and contagious disease widespread in entity’s location.
- Markets cannot export anything
- Markets demand for medical items increased
- Has a negative influence on Standard of Living, Population, Development Level and Wealth.
- Development level is frozen
- Weather (Severe) – Severe weather (includes earthquakes, stellar flare events and other natural disasters)
- Has a negative influence on Standard of Living and Wealth.
- Elections – The entity is in the process of elections.
- Special events – these are determined on a case by case basis, for example space weather)
- Economy type
- The economy type is a broad indication of the primary income generation for the system. This usually reflects what the main exports are. They also determine what items are generally available in the markets.
- Agricultural
- Industrial (Civilian)
- Industrial (Military)
- Government
- Mineral
- Service
- Tourist
- Criminal
- Population
- The population size of a planet is used to measure the effects of changes or player activities. It is also used to modify the availability of items in associated markets.
- Population size can be affected by events.
- Development Level
- This a broad indicator for how advanced the colony is. It provides modifiers for the various variables of the entity. In a broad sense it is an indicator of how well the entity can absorb change, shortfalls and so forth. It also represents the entities ability to support itself through contact via other entities.
- Standard of Living (SOL)
- The standard of living variable indicates how good life is for the average member of the entity’s population. A high standard of living requires adequate essentials (such as food) as well as luxury items. This will also affect the availability (and demand) for such items in the markets.
- A low SOL indicates a poor standard of living for the population, in situations with low stocks of essentials like food this indicates an event like a famine.
- Manipulation of the markets either directly through trade or indirectly by blockade will change the SOL appropriately.
- Security
- The security value represents the security situation for the entity. The higher the value, the more secure the population feels and vice versa.
- The security value can be modified by direct player action, acts of piracy will lower the security while bounty hunting will increase it.
- Wealth
- The wealth variable indicates the accumulated wealth of the entity. The entity can use its wealth to generate events to boost its other values and as such acts as a cushion for negative changes. It also indicates the strength of the economy and feeds into prices.
- Note the while SOL and wealth are connected, they are not the same thing.
- Players can influence wealth in a number of ways, generous trading will increase wealth, while reducing profit margins for the locals will reduce wealth. Destroying entity assets will impact on wealth, and influencing security and SOL will also have a knock on effect.
BI-MODAL SIMULATION TICK
The simulation runs in two distinct modes (although the evaluation of each mode generates the same events). The first is based on player activities, once an activity type reaches a threshold for the entity, the impact is applied and any events generated
As well as player effects we also want periodic change driven by the simulation itself.
PLAYER ACTIVITY THRESHOLDS
Player activities within the associated volume for the entity are tallied into various influences. These influences have a direct effect on the entity’s stats. The tracked activities are as follows:
- Development level
- Negative impact
- Failed development missions
- Positive impact
- Completed development missions
- Standard of Living
- Negative impact
- Failed standard of living missions
- Positive impact
- Completed standard of living missions
- Completed trades that add to the entity’s essential goods
- Security
- Negative impact
- Piracy
- Murder
- Failed security missions
- Positive impact
- Bounties collected
- Completed security missions
- Wealth
- Negative impact
- Issuing missions
- Losses made on trade by entity
- Positive impact
Thresholds for the activities are set depending on the entity’s population, development level and modifiers from government types as applicable. A count for each activity is maintained; note that it is the net between positive and negative actions that is used to determine any change. Missions are weighted more heavily in the count than general actions. Once the net effect reaches the threshold value then an event is generated. The activity counts are reset and the threshold value recalculated based on the new statistics if needed.
Note that wealth is not a triggered threshold, but is included as it does change depending on circumstances and is required for generating remedial missions.
GENERATED EVENTS
When a threshold has been triggered then the entity creates an event, this is typically a mission designed to address the problem, although this will cost the entity some of its wealth. If the entity has no wealth then an event cannot be created, however a message will be generated for the monitoring developers (see intervention triggers).
Periodic change can also create events.
The government type determines whether an event should be generated for the triggered threshold.
If the government type allows it then an event (and associated mission) is generated. These will follow the same pattern as the activity thresholds list, so for example a bounty hunter mission will be generated if the security variable is reduced.
PERIODIC CHANGE
The periodic development of entities is handled by a periodic scan of each entity. The entity’s variables are analysed and adjustments made. If any changes change a value across a given minimum then an event is created in the same way as if an activity threshold was crossed.
Currently the frequency will be set at a daily (real time) tick. However this may require altering once in place.
Quoted from - Tom Kewell, Game Designer.