User:Geoff the Medio/Requirements Edit

From FreeOrionWiki
Jump to: navigation, search

Section IV: Universe Generation & Game Start Conditions

Galaxy Setup

When starting a new game, players should be given several options to customize the universe in which they will play. The universe generation should take these selections into account.

The default universe generation method should provide options for:

  • Number of Stars
  • Galaxy Shape - affects large-scale distribution of stars
  • Galaxy Age - affects distribution of star colours
  • Starlane Frequency - determines how many and how densely lanes connect systems
  • Desnity of Planets - determines how many planets on average are in a system
  • Frequency of Specials - determines how frequently specials are placed on planets

If the player starts a game and alters any of the default settings for universe creation, these altered settings become the new default settings for universe creation. The next time the player starts a game, the settings will default to the values used in the previous universe creation.

The player may also choose to quick start a game without selecting galaxy options. A quick started galaxy will re-use the galaxy generation parameters the user chose the most recent time a game was started (or some default settings if no games have been started).

Star System Generation

Star Color

Each system has a star of a particular colour. Different star colours are treated differently when planets are generated. Different sizes, numbers and environments of planets can be more or less likely for different star colours.

Star colours include:

  • Blue - The hottest stars.
  • White - Hotter than average, a very pale green, almost white.
  • Yellow - The most common star in a mature galaxy. Average.
  • Orange - Cooler than average, a vibrant orange.
  • Red - Large cool stars.
  • Neutron - The remains of a star from a supernova explosion. Often the location of rips in time-space.
  • Blackhole - The event horizon surrounding a gravitational singularity

Probabilities of different star colours are altered by universe age.

Planet Size

Planets have a size. Planets of different size have different population and resource properties.

Plane sizes include:

  • Tiny - Pluto, Ceres, Eris. < 3000 km diameter (Dwarf planet).
  • Small - Mercury, Mars, Jupiter moon-sized. < 7000 km diameter.
  • Medium - Earth, Venus. < 15000 km diameter.
  • Large - ... < 30000 km diameter.
  • Huge Neptune, Uranus, Ice Giant-sized. < 60000 km diameter.
  • Asteroid Field Ring of rocks, individually < 1000 km diameter.
  • Gas Giant Jupiter, Saturn. > 100000 km diameter.

Planet Environments

Planets have a planetary environment, chosen from the following list:

  • Terran Earth-like. Normally holds an abundance of life.
  • Ocean Covered with liquid water. Life abounds.
  • Swamp Venus seen through the eyes of pulp science fiction writers. Humans would find the atmosphere unbreathable, the flora/fauna hostile and poisonous.
  • Toxic The real life Venus. Sulfuric and harsh on humanity, paradise to certain strange breeds of life.
  • Inferno Hell in Space. Much like Toxic, except hotter with a lot more lava. Carbon based life doesn’t thrive here.
  • Radiated A barren world bombarded with Radiation from a nearby star or in some cases a planet with an independently radioactive surface. Life as we know it doesn’t exist, some wildly different species live here anyway.
  • Barren Luna. A dead world by our standards, space-borne organisms often use these rocks as breeding grounds.
  • Tundra Earth minus much of its water and heat. Staunch life can still thrive here.
  • Desert Earth minus much of its water. Pulp science fiction ideal of Mars and Arrakis (Dune) are examples. Temperatures can vary wildly with the time of day, still within the range of liquid water. Terran life is mildly comfortable here.

Game Start Conditions

At the start of the game, every empire will have a medium or larger planet of terran environment. All planet current meters will be equal to their maximum values. Planet focus will be primary balanced and secondary balanced.

Each empire will start the game with at least two scout-type ships and one ship capable of colonizing planets. Additional ships may be added if deemed appropriate.

Start locations shall be reasonably far apart. Whenever possible, none of the systems immediately adjacent to an empire's homeworld should contain another empire's homeworld. In general, homeworlds should be evenly spaced around the galaxy. However, the development team may determine the best manner of spacing systems in small galaxies.

If insufficient stars are requested by the player during galaxy creation for the number of AIs requested to have adequate space to be placed, additional stars should be added to the galaxy.

Section V: Planets, Population, and Production

The Wheel of Environmental Preference

The quality of a planet for colonization is significantly influced by the planet's environment type. Population in v0.4 fares best on terran worlds, which have the largest population capacity and growth. Other environment are classified by how far they are from terran on the wheel of environmental preference (henceforth "EP"). Environments are arranged as follows:

       Terran-----Ocean
         |          |
         |        Swamp
       Desert       |
         |        Toxic
         |          |
       Tundra       |
         |        Inferno
         |          |
       Barren----Radiated

From better to worse, environmental qualities are ranked:

  • If the planet’s environment is the race’s EP then environmental conditions are Good.
  • If the planet’s environment is one away from the race’s EP, then environmental conditions are Adequate.
  • If the planet’s environment is two away from the race’s EP, then environmental conditions are Poor.
  • If the planet’s environment is three or more away from the race’s EP, then environmental conditions are Hostile.

Meters & Infrastructure

Meters are values such as population, resource production capabilities and social attributes of colonized planets and other game objects.

Meters have both a Max value and a Current value. If less than the Max value, the current value of a meter increases until it matches the max value. The rate of this increase depends on the type of meter.

Meters values, max and current, always range from 0-100, but may take any (non-integer) value in this range and may be modified with arbitrary precision by effects. After all modifications to meter values have been applied, if a max meter falls outside of the range 0-100, the max meter is set to either 0 (if below 0) or 100 (if above 100). Similarly, if current meters fall outside the range 0 to the max meter value, the current meter is capped by the max meter value above or 0 below.

When applicable, a meter with a value of 20 is at the "breakeven point". A world with Farming set to 20 can feed its own population. A world with Health at 20 doesn't lose or gain population due to natural growth.

Buildings, technologies and specials alter max meter values with effects. Effects of buildings should be conventionally expressed as integer adjustments for readability (eg. "Superlabs gives +4 to research"). Adjustments to max meters represent how the building, technology, etc. alter what a planet is potentially able to produce, though it takes some time for a planet to realize this potential. Current meters are the realized production occurring on a planet, per unit of population.

Events such as bombings, earthquakes, industrial accidents, productivity booms or asteroid impacts can modify the Current Meter, representing damage to actual production ability of the planet, rather than the potential capacity of the planet, which is represented by the max meter value.

Population

The current population number for a planet represents the number of beings of some race living on the planet, which is equivalent in resource production capacity to the population number in billions of humans. For example, a planet population of 10.3 represents 10.3 x 10^9 humans, or a productively-equivalent number of aliens.

Colonies created by colony ships start with population equal to the number of colonists carried by the ship. An initial colony population might be 0.01, or 10 million human-equivalents. An empire's homeworld starts with its current population equal to its max population.

The Max Population on a planet is determined by planet size and environmental conditions, which determine what bonuses above 0 a particular planet environment and size get. Max Population can be further modified via planet specials, buildings, and technologies.

Each turn, population is adjusted via the following formulas:

  • If the Health Meter is above 20: (Population Change) = (Current Population) * ((((Max Population) + 1) - (Current Population)) / ((Max Population) + 1)) * ((Current Health) - 20) * (0.01)
  • If the Health Meter is equal to 20: (Population Change) = 0
  • If the Health Meter is below 20: (Population Change) = (Current Population) * ((Current Health) - 20) * (0.01)

If Current Population is reduced to 0, a colony is destroyed: the planet is no longer colonized, is not owned by the previous colony owner, and must be recolonized to be repopulated.

Construction

The construction meter represents the general infrastructure of a planet, measured in terms of the ability for the planet to quickly and efficiently change what it is producing without significant waste or delay. Thus, it is used to determine the growth rate of Current Resource Meters. Construction also determines the ability for the planet to support some facilities or effects of technologies, which may have a minimum construction meter requirement to function on the planet, representing the need for a certain degree of infrastructure to support the activity or type of facility the technology represents.

New colonies begin with a current construction of 10 or their max construction value due to bonuses and effects, whichever is less. Each homeworld begins the game with current construction equal to its max construction.

Max construction has a base value of 20 with no additional effects altering it. It is modified by the effects of buildings, technologies, racial picks, events, planet specials, etc.

Current construction grows at a simple constant rate:

(Construction Change) = 1

Construction change is added to current construction each turn.

Resource Meters

Resource meters determine the quantity of resource production per unit of population on a planet. There is one resource meter for each major resource:

  • Farming - Nutrients or Food Production: Required to sustain population and/or allow it to growth
  • Mining - Minerals Production: Required to generate Production Points.
  • Industry - Industry Generated - Required to generate Production Points.
  • Science - Research Output - Used to Research Technologies.
  • Trade - Economic, Cultural and other Influence Generation: Presently does nothing, but in future will be used to pay for cultural or economic activities, espionage, or maintenance.

Planetary resource production is determined from both resource meters and planet population:

(Resources Produced) = (Current Resource Meter) * (Current Population)

Each turn, all Current Resource Meters increment via the following formula:

Meter Change = Current Construction / (10 + Current Resource Meter)

Meter Change is then added to the Current Resource Meter. If a Current Meter is greater than its associated Max Resource Meter, then the Current Meter is reduced to match the Max Meter. Max Resource Meter values are determined by a planet’s Focus settings, and the effects of buildings, technologies, specials, etc.

Social Meters

Social meters measure some property of a population that is not related to resource production. These meters include:

  • Health governs rate of population growth or loss, according to the population growth formula. In general, if the current health meter is below 20, population growth should be negative. At 20, population is stable. Above 20, population increases.

Planet Focus

The player assigns a Primary and Secondary Focus on every colonized planet, representing which resources the planet is "focused" on producing. Both Primary and Secondary focus can be independently set to one of the five resources, or the "Balanced" setting.

New colonies, including the player's homeworld, start with both Primary and Secondary focus set to balanced.

Effects are able to use planetary focus settings in order to adjust the bonuses they give to planets. In this manner, planets are given bonuses to the max meters of resources on which they are focused, thereby producing more of that resource. Without additional effects bonuses, a planet will receive these bonuses to max resource meters for appropriate focus settings:

  • Primary Resource Focus gives +15 to that max resource meter
  • Primary Balanced Focus gives +3 to all five max resource meters
  • Secondary Resource Focus gives +5 to that max resource meter
  • Secondary Balanced Focus gives +1 to all five max resource meters

Buildings or techs may add additional bonuses or penalties to max meter values. Some bonuses may be dependent on the planet focus settings, causing th effective bonus due to focus setting to change.

Nutrient Distribution

Population requires nutrients, or food, to survive and grow. One point of food per population point is required to prevent starvation each turn; a planet receiving less food than its population in a given turn will have its population reduced to be equal to the number of points of food it received. Additional food above the minimum for survival improves a planet's health meter. The baseline level for no adjustment to health is 2 points of food per population point. Below 2 food / population point, penalties are applied to the planet's health meter. Above 2 food / population point, bonuses are applied to the planet's health meter.

Each planet has a Nutrient Rating similar to in function to the Environment Rating. Effects conditions should be able to vary their function according to the nutrient rating of planets.

  • If a planet receives 2 times its population, the planet's nutrient rating is Adequate.
  • If a planet receives more food than its population but less than twice its population, the planet's nutrient rating is Famine.
  • If a planet receives less food than its population, the planet's nutrient rating is Starvation.

During the resource generation phase of turn processing, planets receive food in several stages. All food produced in the empire is pooled. Then, in order:

  • Planets receive food equal to their local food production, or equal to their population, whichever is less.
  • Planets receive food equal to their population, if not already reached. This ensures that all planets are at least in a state of Famine rather than Starvation if possible.
  • Planets receive food equal to their local food production, or equal to twice their population, whichever is less.
  • Planets receive food equal to twice their population, if not already reached. This ensures that all planets in a state of Adequate rather than Famine if possible.
  • Planets receive food equal to their local food production, or equal to four times their population, whichever is less.
  • Planets receive food equal to four times their local population, if not already reached. This ensures that all planets are in a state of Plentiful if possible.
  • Any additional food is stockpiled.

In cases where insufficient food is available to raise a planet to the next level of food supply as indicated above, and several planets cannot resolve their competition on ground of greater local food production (ie. the amount required to reach the next level of nutrient distribution is greater than the food produced by all planets being considered), then any remaining food is distributed to planets in proportion to their population in order to prevent starvation, or is allocated to planets in order of planet population, smallest first to largest population last, in amounts just sufficient to raise as many planets as possible to the next nutrient level. Any remainder insufficient to raise any more planets to the next nutrient level is stockpiled. Additionally, whenever stockpiled food is available, if taking stockpiled food will allow additional planets to have their nutrient levels increased, this is done.

Planets that are "blockaded" cannot export or import resources.

Section VI: Empire Production

The FreeOrion production system is designed according to these principles:

  • Building things is only one aspect of the game; this is FreeOrion and not SimGalaxy, so the player should only step in to build something 'special'.
  • Structures or facilities that are not special, but which are built in many copies in many places throughout an empire do exist, but are not individually worth the player / emperor's attentions, so are abstracted.
  • The building system should prioritize building these 'things that matter' (special buildings, wonders, and ships).

In FreeOrion, "buildings" refers to important major structures of significance to a whole interstellar empire that are few in number and great in consequence and strategic value. "Generic" structures such as factories, farms or labs with no particular unique qualities and which exist in large numbers on many worlds are not modelled as separate entities in the game for the player to deal with, but are instead abstracted into the meters system. "Buildings" in FreeOrion are special; more like "wonders" in traditional usage. It will be much more common to have one instance of a particular type of building in the game or in an empire than for each planet to have its own copy of a building.

Production is based around the Production Point (PP). Empires generate PP by combining Minerals and Industry. An empire has PP to spend each turn equal to the lesser of its available Industry and Minearls. That is, each PP is generated by combining one Industry Point with one Minerals Point. In future, this ratio may not be fixed, and individual buildable items may have separate minerals and industry costs.

Production is managed with a single empire production queue, which may contain multiple build projects simultaneously. Production points are pooled from all worlds in an empire, and applied in sequence to items on the production queue, up to their max cost per turn (see below). Additional PP are allocated to projects further down the prioritization queue.

If any available PP are unspent, the corresponding amount of unused minerals are left in the empire's minerals stockpile. Unused industry is lost.

Buildable items cost have two main properties that determine their cost to build:

  • Max Cost per Turn is a limit on how many Production Points an empire may spend towards production of something each turn.
  • Minimum Turns to Complete is the number of turns, spending the max cost per turn, required to produce a buildable item.

The "total cost" of a buildable item is the product of its max cost per turn and its minimum turns to complete. A buildable item requires this product number of PP to be produced. On a given turn, an empire may contribute less than the max cost per turn towards production of an item. In this case, any partial funding is added to the total PP spent on the item, and this amount less is required on subsequent turns to complete the buildable item. Spending less than the max cost per turn on one turn does not allow more than the max cost per turn to be spent on subsequent turns; spending less than the max cost per turn can only increase or have no effect on the number of additional turns required to complete a buildable item.

Whenever a new production project is initiated, a location for the item to be built may be selected (some projects may not require a specific build location).

Buildings may have a maintenance cost in trade.

An interface shall be provided to manage all production on the Empire-level, including listing the available buildable items, where they can or cannot be built, their cost per turn and minimum turns to complete, etc.

Some method of limiting the amount of production points used to build ships may be imposed in v0.4. Shipyards are likely to have their own set of rules determining the total number or maximum size of ships they can build.

Section VII: Combat

(...)

Section VIII. Research & Technology

The following section describes the system used to manage research and technology. Specific content will follow with a later revision of this document.

  • Technology is organized horizontally into some number of categories (assume an average of 10; changing categories should be mod-able, but a fixed number will be determined for v0.31.
  • Technology is ordered vertically by theory and then application, e.g. a 'Capital Ship' category might have 'Large-scale propulsion' as a theory and 'battleship engine' as an application. More specifically, theories are required to research their related, child applications; as a general rule, theories will not do very much by themselves, but this is a breakable rule.
  • Technology has a fixed cost, both in research points and in number of turns required. If an Empire produces 100 RP a turn, it may begin ten separate 'projects' that cost 10 RP. You may not invest 12 RP or 50 RP in one project for a faster result. Each of those 10 projects may have a different number of turns associated with it. The amount of time required is fixed in the sense that more RP will not change it, but it is not fixed in the sense that some technologies may reduce the time requirement for future technologies, or there may be some event that finishes one of your projects.

Excess (or unallocated) RP is kept in a persistent container until that container holds enough RP to advance a project by one turn. For example, if an Empire produces 105 RP per turn and has 11 projects requiring 10 RP per turn for 10 turns, the 11th project will advance 'one turn' every two turns such that it would be completed in 20 turns, given a constant input of 100 RP.

Excess RP beyond the requirements of currently active projects is wasted.

User interface requirements: A single screen to manage and prioritize projects and, at the discretion of the graphics team, anything from a line of text to a popup to an animated sequence that occurs whenever research is completed on a project. A mechanism shall be provided through which the player may prioritize projects; for example, there is nothing to prevent a player from starting 300 RP worth of projects even if there is only 100 RP available, but the projects must be ordered such that the system knows where to allocate new RP as it becomes available.

Specific tech tree content is forthcoming.