Frontier Forums  

Go Back   Frontier Forums > Elite:Dangerous > Design Discussion Archive

Reply
 
Thread Tools Display Modes
  #1  
Old 06/06/2013, 5:51 PM
Tom Kewell's Avatar
Tom Kewell Tom Kewell is offline
Designer- Elite: Dangerous
 
Join Date: Mar 2013
Posts: 123
Tom Kewell will become famous soon enough
Default Elite: Dangerous - Background Simulation

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
      • Profits made by entity

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.
Reply With Quote
  #2  
Old 06/06/2013, 5:53 PM
Tom Kewell's Avatar
Tom Kewell Tom Kewell is offline
Designer- Elite: Dangerous
 
Join Date: Mar 2013
Posts: 123
Tom Kewell will become famous soon enough
Default Part 2

FACTION SUPPORT
For entities that belong to a faction (the Alliance, Federation and Empire) there is a safety net provided by those factions. When an entity attempts to generate an event and lacks the wealth to do so it uses its faction’s lookup table to generate a faction event for the event type.

For example an Imperial system has been plagued with pirates; it has issued missions which no player has completed. This cycle continues, with more player pirates pushing the entity into a downward spiral. Eventually it is no longer able to generate missions and so receives a faction support event. This is an Imperial task force of a cruiser with several squadrons of fighters. These suppress the pirates and order is restored.

GOVERNMENT COLLAPSE
When an entity attempts to issue an event and cannot (and it doesn’t have faction support) then the entity’s government collapses and is set to none. To guard against exploitation and unwanted background simulation states, human moderators are alerted to significant system changes and can manually change states as necessary.

INJECTED EVENTS AND INTERVENTION
Events that affect entities can be injected into the game that can directly change an entity’s statistics. This mechanism can be used to add specific events to the game, like civil wars, economic collapse and major story items.

Intervention messages are a failsafe in the system. When an entity’s stats reach set levels (a minimum and a maximum) a message is sent to whoever is monitoring the galaxy highlighting possible collapse or expansion opportunities. They can then be used to manually add events as desired.

MARKETS AND TRADING
Each entity can have one or more markets. A market is defined as a place where the player trades with NPC’s. Typically this will be at space stations, ship yards, pirate and smuggler bases. The entity defines what commodities are available and their prices, although the markets will also modify these.

As with the political events, economic events occur in a bi-modal tick. The periodic method is a check of the entity’s markets and any adjustments made. The other method is the threshold system of players trades that works in a similar fashion to the player activity thresholds
Events can change what entity owns a particular market. They can also destroy and create markets.

CALCULATING BASE PRICES
Base prices are initially calculated as a function of economy type, government type, development level and population.

For example a largely populated agricultural world with a high development level would have cheaper food prices than an equivalent industrial world.

Prices have a universal minimum and maximum price cap to prevent catastrophic price failures and exploits.

RARE GOODS
Entities which have a sufficiently high development level may start creating rare goods based on their primary economic output (with oversight by moderator action), e.g. an agri-world could generate a rare foodstuff.

Rare goods can be anything that the market produces, so this can include ships and ship modules.

PERIODIC MARKET ANALYSIS
On a periodic basis (daily) the market for each entity is analysed and updated depending upon the analysis. This analysis is performed before the political simulation so that any economic changes are taken into account.
The major components of that analysis are as follows:
  • Restock markets
    • The markets for the entity are restocked according to the type of market, the commodities that the entity produces (these are also affected by the development level, government, entity state and economy types).
    • There are caps to the maximum capacity for each commodity determined by the market type. Larger stations can hold more goods for sale. These caps also limit player sales, so if a market is already full of food, no more food can sold to that market.
    • Note that the restock quantities are representative (scaled by population size and development level). We do not have an agricultural world producing a million tons of food per day.
  • Calculate wealth adjustment
    • The current trade for the system is calculated and the net effect is applied to the entity’s wealth.
  • Standard of Living (SOL)
    • The entities standard of living is processed, quantities of essential goods are removed from the markets. The removed quantities are representative values scaled by population and development level, we are not modelling planetary scale use of commodities.
    • Commodities are grouped for essentials and luxuries. If there is a shortfall then the SOL is reduced appropriately. Surpluses of essentials will increase SOL, but only to a maximum of 50%. Shortfalls of luxury items reduce SOL, but to a minimum of 50%. Surpluses of luxury items increase the SOL, but only if the SOL is at 50% or higher.
  • Recalculate prices
    • For the remaining quantities of each commodity a new price is calculated, based on a ratio determined by a lookup table from the price at the beginning of the analysis process. For example if the commodity now has a stock level of 50% higher, the price per unit will drop by 25%.
    • Prices are also changed according to any variance for component commodities. For example if a market sells food and the price of fertilizer increases then so will the unit price of food.
  • Reset trace counters
    • The accumulated counters for the trade thresholds are all reset.
  • Reset thresholds
    • The thresholds for each commodity are reset depending on the updated stock levels.

MARKET THRESHOLDS
In the same way the political events are triggered by player activity thresholds, price and stock changes are triggered by player trades.

For stock availability this correlation is direct to the trade, so purchasing 100 units reduces the stock level by 100 units and vice versa.

Prices are not quite as volatile as stock levels, they require accumulated trades to trigger price changes.

For each commodity the entity creates a threshold level for price increases and drops. The threshold is determined using the entity’s economy type, government type and development level. The unit quantity for each trade is applied to the relevant counter for each commodity, when the counter reaches the threshold for a change the change is triggered.

INFLATION
The economy is not a balanced system of checks and balances, but a system of causes being used to generate effects. As such there is a danger of inflation (where players accumulate so much money that it is effectively devalued).

This issue can only be completely eradicated if money is destroyed in the same quantity that is being created. As the game is focused on positive effects (from the player’s perspective), with only some negative effects, this is not an achievable goals.

To combat inflation there needs to be suitable money sinks that the player spends money on reducing the cash in the player economy.

It should be noted that players getting richer is not the same as inflation and is desirable. However we should ensure that at all times there are interesting spend choices.
Reply With Quote
  #3  
Old 06/06/2013, 7:51 PM
Maxeren's Avatar
Maxeren Maxeren is offline
Dangerous
 
Join Date: Dec 2012
Location: Århus, Denmark
Posts: 1,486
Maxeren has a spectacular aura about themMaxeren has a spectacular aura about themMaxeren has a spectacular aura about them
Default

Wow.. talk about a wall of text
__________________
Reply With Quote
  #4  
Old 06/06/2013, 8:05 PM
Kipper's Avatar
Kipper Kipper is offline
Moderator
 
Join Date: Jul 2006
Posts: 1,841
Kipper has a spectacular aura about themKipper has a spectacular aura about them
Default

Is this the revised or final one for the background simulation?

A thought just popped into my head when I was re reading about faction support events. I think that capital ship fleets should be fixed in number and always somewhere in game, so that instead of "an imperial cruiser turns up" - a specific imperial cruiser turns up, which means it had to leave from somewhere else (somewhere that now feels less secure or even still needed support, but it was a lower priority)

This means that as well as potentially taking travel time, if there are more places requiring support than there is support, sometimes it won't arrive - with maybe interesting consequences?

It also allows you to make a big in game fuss over capital ships being destroyed and new ones being built at shipyards, and all the potential missions that could generate. Obviously creation/destruction of massive assets like this would be uncommon and driven mainly by developer injection. I assume capital ships take a long time to build and enter service just like naval ships today.

It could add an interesting dynamic to the Cold War, as temporarily weakened factions lose influence where they can't respond to the other factions being present.
__________________
Cmdr S. Kipper, Elite Anthology Organiser, Author and overworked web developer.
Visit us: Elite-Anthology.co.uk | @EliteAnthology on Twitter | Elite Anthology on Facebook
Reply With Quote
  #5  
Old 06/06/2013, 8:21 PM
Maxeren's Avatar
Maxeren Maxeren is offline
Dangerous
 
Join Date: Dec 2012
Location: Århus, Denmark
Posts: 1,486
Maxeren has a spectacular aura about themMaxeren has a spectacular aura about themMaxeren has a spectacular aura about them
Default

Regarding the civil war state, it doesn't show that weapons are needed, but wouldn't there be some faction in the civil war that is in dire need of weapons perhaps and would pay hansomly for anyone who can smuggle weapons to them?

Maybe the risk would be that one of the factions could attack you if they found out about your smuggling operation
__________________
Reply With Quote
  #6  
Old 07/06/2013, 2:45 AM
Dr Wookie's Avatar
Dr Wookie Dr Wookie is offline
Dangerous
 
Join Date: Nov 2012
Location: Cambridge, Massachusetts (617)
Posts: 2,283
Dr Wookie is a splendid one to beholdDr Wookie is a splendid one to beholdDr Wookie is a splendid one to beholdDr Wookie is a splendid one to beholdDr Wookie is a splendid one to beholdDr Wookie is a splendid one to beholdDr Wookie is a splendid one to behold
Default

Quote:
Originally Posted by Kipper View Post
Is this the revised or final one for the background simulation?

A thought just popped into my head when I was re reading about faction support events. I think that capital ship fleets should be fixed in number and always somewhere in game, so that instead of "an imperial cruiser turns up" - a specific imperial cruiser turns up, which means it had to leave from somewhere else (somewhere that now feels less secure or even still needed support, but it was a lower priority)

This means that as well as potentially taking travel time, if there are more places requiring support than there is support, sometimes it won't arrive - with maybe interesting consequences?

It also allows you to make a big in game fuss over capital ships being destroyed and new ones being built at shipyards, and all the potential missions that could generate. Obviously creation/destruction of massive assets like this would be uncommon and driven mainly by developer injection. I assume capital ships take a long time to build and enter service just like naval ships today.

It could add an interesting dynamic to the Cold War, as temporarily weakened factions lose influence where they can't respond to the other factions being present.
Great idea
__________________
Trust me, I'm a Space Doctor. And a free science consultant. And the daddy of the Orange Sidewinder!
ALPHA VIDEOS
The FIRST rule of Elite
E3 Ambassador
Reply With Quote
  #7  
Old 07/06/2013, 9:56 AM
Slopey's Avatar
Slopey Slopey is offline
Dangerous
 
Join Date: Oct 2009
Location: Sunny Scotland
Posts: 2,294
Slopey is a splendid one to beholdSlopey is a splendid one to beholdSlopey is a splendid one to beholdSlopey is a splendid one to beholdSlopey is a splendid one to beholdSlopey is a splendid one to behold
Default

Quote:
PERIODIC MARKET ANALYSIS
On a periodic basis (daily) the market for each entity is analysed and updated depending upon the analysis.
You'll likely need to update the market more frequently than daily. Given the game will be accessible from anywhere on the planet, one update per day isn't going to do it.

That frequency is unlikely to be useful for low restock commodities either. If the universe can be quickly sold out of an important commodity, it may be necessary to restock that commodity more frequently.

Ticks should also not be predictable (i.e. occurs every day around 1500Z) otherwise players will exploit the movements.

And prices should trend over time - by all means, determine the high/low of a price at the tick, but then move the price fractionally towards the high/low over the next few hours - obviously, it's undesirable to have commodity prices suddenly move en-masse by a percentage (i.e. the 25% mentioned) as a result of the tick.

I would have thought you'd need to be running the economy cycle at least 4 or 5 times a day to account for player activity, and have a sub-cycle on a more frequent (30 mins?) basis to trend prices towards their new levels.
__________________
C:\> Cannot find Reality.sys. Universe Halted.
Slopey's Elite: Dangerous Best Profit Calculators!:
(note that the BPC is currently unavailable to comply with FD's data access policy)

Market Tool/General Elite Dangerous Chat Room: Here!. Pop in and say hi!
If you liked the MarketTool please consider donating to MND via my wife's Kilimanjaro Challenge!
Reply With Quote
  #8  
Old 09/06/2013, 5:50 AM
OneoftheLost's Avatar
OneoftheLost OneoftheLost is offline
Competent
 
Join Date: Feb 2010
Location: USA
Posts: 326
OneoftheLost is on a distinguished road
Default

Quote:
To guard against exploitation and unwanted background simulation states, human moderators are alerted to significant system changes and can manually change states as necessary.
I think this is a bad idea for the reasons listed below.

In ten years lets assume a sequel has been released, but I prefer to play Elite Dangerous. There will be nothing to prevent players from utterly abusing this, and collapsing entire systems. It also makes it so SP is exploitable (although not as easily as MP)

I think this is a bit short sighted, and instead have hard lines drawn around certain things. In my opinion players should NOT be able to destabalize a system's government. I understand that FD wants the player to have a greater impact on the game, but I feel that it should be less of an impact in certain areas. Otherwise we lose the sense of 'just a pilot in the universe' and more of a 'I am a god among insects!' Feeling.
__________________
Reply With Quote
  #9  
Old 09/06/2013, 12:48 PM
Brian's Avatar
Brian Brian is offline
Dangerous
 
Join Date: Jan 2013
Location: Isle of Wight
Posts: 1,139
Brian is a jewel in the roughBrian is a jewel in the roughBrian is a jewel in the roughBrian is a jewel in the rough
Send a message via Skype™ to Brian
Default

I like this idea, it means (to me at least, if I have understood it correctly) that the game will always be changing. This will ensure a longer life for E: D, and give us players a heck of a lot more options for play. I love the idea of being to destabilize governments (How cool would that be for a player or a group of players to achieve!!)

Yes it will make the game a bit more complicated for traders, or group/faction leaders etc. But if done right you could take over whole clusters!

Mind you I may be saying all this, but only wish to become a simple explorer so hopefully wont have to get too involved in all this, but the fact that it's there gives me even more interest in the game. As we discover more resources for systems, would this also be taken into account?

I think that I'm going to have to pop in a bit more money for the Alpha tests, because Elite Dangerous just keeps getting better and better!!

Brian
__________________
Reply With Quote
  #10  
Old 21/11/2013, 9:07 PM
Drkanukie's Avatar
Drkanukie Drkanukie is offline
Average
 
Join Date: Feb 2013
Posts: 43
Drkanukie is on a distinguished road
Default

Test this should not post . Thought this thread was locked.

Last edited by Drkanukie; 21/11/2013 at 9:10 PM. Reason: Explaining dumb post
Reply With Quote
Reply

Lower Navigation
Go Back   Frontier Forums > Elite:Dangerous > Design Discussion Archive

Bookmarks

Tags
background simulation, final

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 3:16 AM.


Copyright © 2006-2013, Frontier Developments Ltd. All Rights Reserved.