Difference between revisions of "V.2 Requirements"

From FreeOrionWiki
Jump to: navigation, search
(SitRep)
 
(14 intermediate revisions by 5 users not shown)
Line 1: Line 1:
'''Drek is working on converting this document. It will be ready for prime time 'soon'.'''
+
other Languages:<br>
 +
German / Deutsch: [[Vorraussetzungen v0.2]]<br><br>
  
 
composed by Samuel W. Knowlton, aka “Aquitaine,” Drek, and Nightfish<br>
 
composed by Samuel W. Knowlton, aka “Aquitaine,” Drek, and Nightfish<br>
Line 7: Line 8:
  
  
==Section I Format of This Document==
+
==Section I: Format of This Document==
  
 
There are three types of statements in this document:
 
There are three types of statements in this document:
 
* Declarative design statements: Features will be implemented in the manner described to the exact specifications; any specifications that are unclear or require further detail will be re-submitted to the design team for consideration. These statements are evident from their use of definite punctuation, action verbs such as ‘will’ or ‘shall be’ and are otherwise identified by their unique quality of demonstrating prior thought.
 
* Declarative design statements: Features will be implemented in the manner described to the exact specifications; any specifications that are unclear or require further detail will be re-submitted to the design team for consideration. These statements are evident from their use of definite punctuation, action verbs such as ‘will’ or ‘shall be’ and are otherwise identified by their unique quality of demonstrating prior thought.
 
* General and/or lazy design statements: Features will be implemented in approximately the manner described as the manner described lacks the requisite amount of detail, e.g. ‘a formula shall be determined for a scale of wogs that operates somewhat like this,’ in which the programmer is left to determine the actual formula. These statements are evident from the use of a suggestive, ‘wouldn’t it be nice if’ tone or the sheer implausibility of the feature indicating that no actual developers were consulted at any point during its inception. The design team acknowledges that any future rewriting or clarification of a general or lazy design statement within the same version shall not be attempted without due bribery of the development team.
 
* General and/or lazy design statements: Features will be implemented in approximately the manner described as the manner described lacks the requisite amount of detail, e.g. ‘a formula shall be determined for a scale of wogs that operates somewhat like this,’ in which the programmer is left to determine the actual formula. These statements are evident from the use of a suggestive, ‘wouldn’t it be nice if’ tone or the sheer implausibility of the feature indicating that no actual developers were consulted at any point during its inception. The design team acknowledges that any future rewriting or clarification of a general or lazy design statement within the same version shall not be attempted without due bribery of the development team.
* Forward-looking statements: These statements have no bearing on the actual requirements of the version and as such have a tenuous presence at best in a ‘requirements document,’ but are nevertheless included so as to provide some minimal insight into the steaming quagmire of the design team’s vision. These statements are arbitrarily green.   
+
* Forward-looking statements: These statements have no bearing on the actual requirements of the version and as such have a tenuous presence at best in a ‘requirements document,’ but are nevertheless included so as to provide some minimal insight into the steaming quagmire of the design team’s vision. These statements are arbitrarily <font color="green">green</font>.   
* Completed sections: These features are already complete and work as intended. They are red whenever there is certainty that the feature is done.
+
* Completed sections: These features are already complete and work as intended. They are <font color="red">red</font> whenever there is certainty that the feature is done.
  
  
Line 23: Line 24:
  
  
A client/server model will be employed, in which all calculation and resolution is handled by a trusted server, and the client is merely an interface and a conduit.  
+
A client/server model will be employed, in which all calculation and resolution is handled by a trusted server, and the client is merely an interface and a conduit.  
  
 
* There will be both server and client programs.
 
* There will be both server and client programs.
Line 35: Line 36:
  
  
Number of Players / Multiplayer
+
=== Number of Players / Multiplayer ===
  
FreeOrion v0.2 will support an arbitrary number of eight players (to be limited formally as v1.0 approaches and bandwidth requirements are known). Because of the client/server model, full multiplayer support will be written in from the beginning.
+
<font color="red">FreeOrion v0.2 will support an arbitrary number of eight players (to be limited formally as v1.0 approaches and bandwidth requirements are known). Because of the client/server model, full multiplayer support will be written in from the beginning.</font>
  
 
== Section IV: Universe Generation & Game Start Conditions ==
 
== Section IV: Universe Generation & Game Start Conditions ==
  
 
=== Options ===
 
=== Options ===
* Number of Stars: A slider 10 – 500.  
+
* '''Number of Stars''' A slider 10 – 500.  
* Shape of Galaxy: Cluster, Spiral 2-arm, Spiral 4-arm, Ring, Cluster Pockets, Horseshoe, Origami Bird. The shape that the stars must conform to when being placed into the galaxy.
+
* '''Shape of Galaxy''' Cluster, Spiral 2-arm, Spiral 4-arm, Ring, Cluster Pockets, Horseshoe, Origami Bird. The shape that the stars must conform to when being placed into the galaxy.
* Age of Galaxy: Young,  Mature, Ancient.  Younger universes tend to have more hot stars, fewer blackholes.  Ancient universes tend to have more blackholes and cooler stars.   
+
* '''Age of Galaxy''' Young,  Mature, Ancient.  Younger universes tend to have more hot stars, fewer blackholes.  Ancient universes tend to have more blackholes and cooler stars.   
* Starlanes: A UI element will be provided for the following user selections: frequency of long starlanes (default few); frequency of medium starlanes (default some); frequency of short starlanes (default several); the choices will be none, few, some, average, many, and very many. The UI will not permit the user to select ‘none’ for all types of starlanes. A composite value that is an average of the aggregate values will be displayed as a summary descriptor (e.g. ‘mostly average starlanes,’ ‘all sorts of starlanes,’ ‘a mixed amount of short and long starlanes,’ ‘Nightfish starlanes’)
+
* '''Starlanes''' A UI element will be provided for the following user selections: frequency of long starlanes (default few); frequency of medium starlanes (default some); frequency of short starlanes (default several); the choices will be none, few, some, average, many, and very many. The UI will not permit the user to select ‘none’ for all types of starlanes. A composite value that is an average of the aggregate values will be displayed as a summary descriptor (e.g. ‘mostly average starlanes,’ ‘all sorts of starlanes,’ ‘a mixed amount of short and long starlanes,’ ‘Nightfish starlanes’)
* Density of Planets: Low (3 planets per system), Average (5 planets per system), High (7 planets per system).  The density is an average, the number of planet slots always remains 10.
+
* '''Density of Planets''' Low (3 planets per system), Average (5 planets per system), High (7 planets per system).  The density is an average, the number of planet slots always remains 10.
* Frequency of Specials: Common, Rare, Very Rare, Nonexistent.  Effects both planet and system specials.
+
* '''Frequency of Specials''' Common, Rare, Very Rare, Nonexistent.  Effects both planet and system specials.
  
 
The player may also choose to quick start a game without selecting galaxy options.  A quick started galaxy will have the following parameters: user selects number of stars, either a cluster or spiral galaxy shape, mature age, average starlane length and frequency, average planet density, rare specials.
 
The player may also choose to quick start a game without selecting galaxy options.  A quick started galaxy will have the following parameters: user selects number of stars, either a cluster or spiral galaxy shape, mature age, average starlane length and frequency, average planet density, rare specials.
  
=== Star System Generation  ====
+
=== Star System Generation  ===
  
 
==== Star Color ====
 
==== Star Color ====
  
 
Each star has a color:  
 
Each star has a color:  
* Blue: The hottest stars.
+
* '''Blue''' The hottest stars.
* White: Hotter than average, a very pale green, almost white.
+
* '''White''' Hotter than average, a very pale green, almost white.
* Yellow: The most common star in a mature galaxy.  Average.
+
* '''Yellow''' The most common star in a mature galaxy.  Average.
* Orange: Cooler than average, a vibrant orange.   
+
* '''Orange''' Cooler than average, a vibrant orange.   
* Red: Large cool stars.
+
* '''Red''' Large cool stars.
* Neutron: The remains of a star from a supernova explosion. Often the location of rips in time-space.
+
* '''Neutron''' The remains of a star from a supernova explosion. Often the location of rips in time-space.
* Blackhole: The event horizon surrounding a singularity formed from the collapse of a super-massive star.  Often the location of wormholes leading to other areas of the map.
+
* '''Blackhole''' The event horizon surrounding a singularity formed from the collapse of a super-massive star.  Often the location of wormholes leading to other areas of the map.
+
 
A set of bonuses (based on base distribution and the Universe’s age) determine the star color.  For each environment type, the applicable bonuses (base and age) are tallied and then added to a random number 1-100.  The color with the largest final score is assigned to the star.
 
A set of bonuses (based on base distribution and the Universe’s age) determine the star color.  For each environment type, the applicable bonuses (base and age) are tallied and then added to a random number 1-100.  The color with the largest final score is assigned to the star.
  
  Star Types Blue White Yellow Orange Red Neutron Blackhole
+
<table border=1 cellpadding=2 cellspacing=0>
Base 30 40 50 40 30
+
<tr>
Young 10 20
+
<td>Star Types<td>Blue<td>White<td>Yellow<td>Orange<td>Red<td>Neutron<td>Blackhole</tr>
Mature 10 10 10
+
<tr>
Ancient 10 10 20 20
+
<td>Base<td>30<td>40<td>50<td>40<td>30<td>&nbsp;<td>&nbsp;</tr>
 +
<tr>
 +
<td>Young<td>10<td>20<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;</tr>
 +
<tr>
 +
<td>Mature<td>&nbsp;<td>&nbsp;<td>10<td>&nbsp;<td>&nbsp;<td>10<td>10</tr>
 +
<tr>
 +
<td>Ancient<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>10<td>10<td>20<td>20</tr>
 +
</table>
  
Notes: Star colors have no gameplay effect aside from modifying the type of planets and system specials generated in a system.
+
<font color="blue">Note: Star colors have no gameplay effect aside from modifying the type of planets and system specials generated in a system.</font>
  
==== Planet Slots =====
+
==== Planet Slots ====
  
 
Each star system has an array of ten slots in which there might or might not be a planet.  Taken together, a star system can have 0-10 planets of the following types/sizes:
 
Each star system has an array of ten slots in which there might or might not be a planet.  Taken together, a star system can have 0-10 planets of the following types/sizes:
* Planetoid: Pluto sized.  Barely a planet.  Can be colonized.  
+
* '''Planetoid''' Pluto sized.  Barely a planet.  Can be colonized.  
* Small: Mercury sized. Can be colonized.
+
* '''Small''' Mercury sized. Can be colonized.
* Medium: Earth, Venus, Mars. Can be colonized.
+
* '''Medium'''  Earth, Venus, Mars. Can be colonized.
* Large: Earth x 1.5. Can be colonized.
+
* '''Large''' Earth x 1.5. Can be colonized.
* Massive: Earth x 2. Can be colonized.
+
* '''Massive''' Earth x 2. Can be colonized.
* Asteroid Field: A ring of debris around a star.  An Asteroid Mining Base can be built here.
+
* '''Asteroid Field''' A ring of debris around a star.  An Asteroid Mining Base can be built here.
* Gas Giant: Jupiter, Saturn, Neptune being examples.  A Gas Giant Tap can be built here.
+
* '''Gas Giant''' Jupiter, Saturn, Neptune being examples.  A Gas Giant Tap can be built here.
  
 
A set of bonuses (the slot number, the user option “Planet Density” and the star’s color) help determine the existence/type of a planet.  In each slot, for each possibility, the applicable bonuses (slot, user option, and in some cases star color) are tallied and then added to a bell-curved  random number 1-100.  The possibility with the largest final score is assigned to the planet slot.
 
A set of bonuses (the slot number, the user option “Planet Density” and the star’s color) help determine the existence/type of a planet.  In each slot, for each possibility, the applicable bonuses (slot, user option, and in some cases star color) are tallied and then added to a bell-curved  random number 1-100.  The possibility with the largest final score is assigned to the planet slot.
Planet Slot: No World Planetoid Small Medium Large Massive Asteroid Field Gas Giant
 
User Option Low Density 70
 
Average Density 50
 
High Density 30
 
Star Color Blackhole 30 -5 -5 -5 10 -5
 
Neutrino 5 5 20
 
Slot Slot 1 10 15 20 10 -80
 
Slot 2 5 10 15 20 5 -70
 
Slot 3 5 10 30 10 5 -60
 
Slot 4 5 10 30 10 5 10 -30
 
Slot 5 5 10 20 15 10 25
 
Slot 6 5 5 5 20 15 10 30
 
Slot 7 5 5 5 15 10 5 30
 
Slot 8 10 10 5 10 5 5 30
 
Slot 9 5 15 10 5 5 5 5 30
 
Slot 10 10 20 10 5 10
 
  
Notes: This slot system is a quick a dirty way of generating a general distance from planet to star.  Planets in slot 0 are assumed to be about Mercury’s distance from the star.  Planets in slot 2 are Earth’s distance from the star, Slot 4 is a bit farther out than Sol’s asteroid belt.  Slot 5 would be Jupiter’s distance from the Sun.  Slot 9 would be Pluto’s distance.
+
<table border=1 cellpadding=2 cellspacing=0 >
 +
<tr>
 +
<td>&nbsp;&nbsp;<td >Planet Slot:<td > No World<td >Planetoid<td>Small<td>Medium<td>Large<td> Massive <td> Asteroid Field <td> Gas Giant
 +
<tr><td  rowspan=3 > User Option
 +
<td>Low Density<td>70<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;
 +
<tr><td> Average Density<td>50<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;
 +
<tr><td> High Density<td>30<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;
 +
<tr><td  rowspan=2>Star Color
 +
<td 6>Blackhole<td>30<td>&nbsp;<td>&nbsp;<td>-5<td>-5<td>-5<td>10<td>-5<tr>
 +
<td>Neutrino <td>5<td>5<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>20<td>&nbsp;
 +
<tr><td  rowspan=10 >Slot
 +
<td>Slot 1<td>10<td>15<td>20<td>10<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>-80
 +
<tr><td>Slot 2<td>5<td>10<td>15<td>20<td>5<td>&nbsp;<td>&nbsp;<td>-70
 +
<tr><td>Slot 3<td>&nbsp;<td>5<td>10<td>30<td>10<td>5<td>&nbsp;<td>-60
 +
<tr><td>Slot 4<td>&nbsp;<td>5<td>10<td>30<td>10<td>5<td>10<td>-30
 +
<tr><td>Slot 5<td>&nbsp;<td>5<td>10<td>20<td>15<td>10<td>25<td>&nbsp;
 +
<tr><td>Slot 6<td>&nbsp;<td>5<td>5<td>5<td>20<td>15<td>10<td>30
 +
<tr><td>Slot 7<td>&nbsp;<td>5<td>5<td>5<td>15<td>10<td>5<td>30
 +
<tr><td>Slot 8<td>&nbsp;<td>10<td>10<td>5<td>10<td>5<td>5<td>30
 +
<tr><td>Slot 9<td>5<td>15<td>10<td>5<td>5<td>5<td>5<td>30
 +
<tr><td>Slot 10<td>10<td>20<td>10<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>5<td>10
 +
</table>
 +
<font color="blue">Notes: This slot system is a quick a dirty way of generating a general distance from planet to star.  Planets in slot 0 are assumed to be about Mercury’s distance from the star.  Planets in slot 2 are Earth’s distance from the star, Slot 4 is a bit farther out than Sol’s asteroid belt.  Slot 5 would be Jupiter’s distance from the Sun.  Slot 9 would be Pluto’s distance.
  
Distance has no gameplay effect beyond the generation of planet size/type and determining where the planet appears in the UI.  Planets closer to the star are generally smaller.
+
Distance has no gameplay effect beyond the generation of planet size/type and determining where the planet appears in the UI.  Planets closer to the star are generally smaller.</font>
 
   
 
   
 
==== Planet Environments ====
 
==== Planet Environments ====
  
 
If a planet exists in a given slot, then a planetary environment is determined, chosen from the following list:
 
If a planet exists in a given slot, then a planetary environment is determined, chosen from the following list:
* Terran  Earth-like.  Normally holds an abundance of life.
+
* '''Terran''' Earth-like.  Normally holds an abundance of life.
* Ocean  Covered with liquid water.  Life abounds.
+
* '''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.
+
* '''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.  
+
* '''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.
+
* '''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.   
+
* '''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.
+
* '''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.
+
* '''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.
+
* '''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.
* Gaian  Gaia worlds are, despite the name, not exclusively paradise for Terran dwellers.  They are sentient planets designed by long-forgotten ancient creators to reshape themselves to the whims of their inhabitants.    Exceedingly rare, extremely valuable--  some cultures worship Gaian planets as gods.
+
* '''Gaian''' Gaia worlds are, despite the name, not exclusively paradise for Terran dwellers.  They are sentient planets designed by long-forgotten ancient creators to reshape themselves to the whims of their inhabitants.    Exceedingly rare, extremely valuable--  some cultures worship Gaian planets as gods.
  
 
A set of bonuses (based on the planet’s Size, Slot, Star Color) help determine the environment type.  For each environment type, the applicable bonuses are tallied and then added to a bell curved random number 1-100.  The environment type with the largest final score is assigned to the planet.
 
A set of bonuses (based on the planet’s Size, Slot, Star Color) help determine the environment type.  For each environment type, the applicable bonuses are tallied and then added to a bell curved random number 1-100.  The environment type with the largest final score is assigned to the planet.
  
Enviroment Terran Ocean Swamp Toxic Inferno Radiated Barren Tundra Desert Gaian
+
<table  border=1 cellpadding=2 cellspacing=0>
Planet Size Planetoid 10 20 -20
+
<tr><td>&nbsp;<td>Enviroment<td>Terran<td>Ocean<td>Swamp<td>Toxic<td>Inferno<td>Radiated<td>Barren<td>Tundra<td>Desert<td>Gaian
Small 10 10 -10
+
<tr><td  rowspan=5 >Planet Size
Medium 10 10 5 5 5
+
<td>Planetoid<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>10<td>20<td>&nbsp;<td>&nbsp;<td>-20
Large 10 10 -10
+
<tr><td>Small<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>10<td>10<td>&nbsp;<td>&nbsp;<td>-10
Massive 10 10 -20
+
<tr><td>Medium<td>10<td>10<td>5<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>5<td>5<td>&nbsp;
Slot Slot 1 -5 -5 5 20 30 15 -20 15 -50
+
<tr><td>Large<td>&nbsp;<td>&nbsp; <td>&nbsp;<td>10<td>10<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>-10
Slot 2 10 10 20 15 20 10 10 -10 20 -40
+
<tr><td>Massive<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>10<td>10<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>-20
Slot 3 30 25 10 5 15 -40
+
<tr><td  rowspan=10>Slot
Slot 4 25 25 5 10 -40
+
<td>Slot 1<td>-5<td>-5<td>&nbsp;<td>5<td>20<td>30<td>15<td>-20<td>15<td>-50
Slot 5 10 10 5 5 5 -40
+
<tr><td>Slot 2<td>10<td>10<td>20<td>15<td>20<td>10<td>10<td>-10<td>20<td>-40
Slot 6 5 10 5 10 5 10 -40
+
<tr><td>Slot 3<td>30<td>25<td>10<td>&nbsp;<td>5<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>15<td>-40
Slot 7 10 10 -40
+
  <tr><td>Slot 4<td>25<td>25<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>5<td>10<td>-40
Slot 8 -5 -5 -5 -5 15 10 -5 -50
+
<tr><td>Slot 5<td>10<td>10<td>5<td>5<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>5<td>&nbsp;<td>40
Slot 9 -10 -10 -10 -5 -10 -10 20 10 -10 -60
+
<tr><td>Slot 6<td>5<td>10<td>5<td>10<td>&nbsp;<td>&nbsp;<td>5<td>10<td>&nbsp;<td>-40
Slot 10 -20 -20 -20 -10 -20 -20 25 5 -20 -70
+
<tr><td>Slot 7<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>10<td>10<td>&nbsp;<td>-40
Star Color Blue 10 15 20 15 5 -5
+
<tr><td>Slot 8<td>-5<td>-5<td>-5<td>&nbsp;<td>-5<td>&nbsp;<td>15<td>10<td>-5<td>-50
White 5 5 10 5 10 15
+
<tr><td>Slot 9<td>-10<td>-10<td>-10<td>-5<td>-10<td>-10<td>20<td>10<td>-10<td>-60
Yellow 30 25 20 5 20
+
<tr><td>Slot 10<td>-20<td>-20<td>-20<td>-10<td>-20<td>-20<td>25<td>5<td>-20<td>-70  
Orange 5 5 5 10 10
+
<tr><td  rowspan=7>Star Color
Red 10 20 10 -5
+
<td>Blue<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>10<td>15<td>20<td>15<td>&nbsp;<td>5<td>-5
Neutron -30 -30 -10 5 5 30 20 5 -10
+
<tr><td>White<td>&nbsp;<td>&nbsp;<td>5<td>5<td>10<td>5<td>10<td>&nbsp;<td>15<td>&nbsp;
Blackhole -30 -30 -10 -10 -10 15 30 -30 -15
+
<tr><td>Yellow<td>30<td>25<td>20<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>5<td>20<td>&nbsp;
 +
<tr><td>Orange<td>&nbsp;<td>5<td>5<td>5<td>&nbsp;<td>&nbsp;<td>10<td>10<td>&nbsp;<td>&nbsp;
 +
<tr><td>Red<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>10<td>&nbsp;<td>&nbsp;<td>20<td>10<td>&nbsp;<td>-5
 +
<tr><td>Neutron<td>-30<td>-30<td>-10<td>5<td>5<td>30<td>20<td>&nbsp;<td>5<td>-10
 +
<tr><td>Blackhole<td>-30<td>-30<td>-10<td>-10<td>-10<td>15<td>30<td>&nbsp;<td>-30<td>-15
 +
</table>
 +
 
  
 
=== Game Start Conditions ===
 
=== Game Start Conditions ===
Line 154: Line 173:
 
When a map is generated, if it is not possible to fulfill both the minimum starting distance requirement and the large size start planet requirement, then the map will be discarded and a new one generated.
 
When a map is generated, if it is not possible to fulfill both the minimum starting distance requirement and the large size start planet requirement, then the map will be discarded and a new one generated.
  
== Section IV Planets, Population, and Production ==
+
 
 +
== Section V: Planets, Population, and Production ==
  
  
Line 160: Line 180:
 
   
 
   
 
How well a race thrives on a planet is based on the distance between the environmental preference (henceforth “EP”) of the race and the planet’s environment on the Wheel of EP:  
 
How well a race thrives on a planet is based on the distance between the environmental preference (henceforth “EP”) of the race and the planet’s environment on the Wheel of EP:  
+
 
+
 
 +
      Terran -----Ocean
 +
        |          |
 +
        |        Swamp
 +
      Desert      |
 +
        |        Toxic
 +
        |          |
 +
      Tundra      |
 +
        |        Inferno
 +
        |          |
 +
      Barren----Radiated
 +
 
 +
 
 
* If the planet’s environment = the race’s EP then environmental conditions are Optimal.
 
* If the planet’s environment = the race’s EP then environmental conditions are Optimal.
 
* If the planet’s environment is one away from the race’s EP, then environmental conditions are Adequate.
 
* 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 or more away from the race’s EP, then environmental conditions are Terrible.
 
* If the planet’s environment is two or more away from the race’s EP, then environmental conditions are Terrible.
 
* If the planet’s environment = Gaian then the environmental conditions are Superb, regardless of EP.
 
* If the planet’s environment = Gaian then the environmental conditions are Superb, regardless of EP.
 
 
Note that for v.2, all races have the environmental preference of “Terran”. In future versions, the wheel will also govern terraforming.   
 
Note that for v.2, all races have the environmental preference of “Terran”. In future versions, the wheel will also govern terraforming.   
 
   
 
   
Line 173: Line 204:
 
   
 
   
 
The maximum limit of a population on a planet is determined by planet size and environmental conditions, referenced on the following table:       
 
The maximum limit of a population on a planet is determined by planet size and environmental conditions, referenced on the following table:       
+
<table border=1 cellpadding=2 cellspacing=0>
+
<tr><td>&nbsp;<td>Terrible<td>Adequate<td>Optimal<td>Superb
Terrible Adequate Optimal Superb
+
<tr><td>Tiny<td>2<td>4<td>8<td>10
Tiny 2 4 8 10
+
<tr><td>Small<td>4<td>8<td>16<td>20
Small 4 8 16 20
+
<tr><td>Average<td>6<td>12<td>20<td>25
Average 6 12 20 25
+
<tr><td>Large<td>8<td>16<td>25<td>30
Large 8 16 25 30
+
<tr><td>Huge<td>10<td>20<td>30<td>35
Huge 10 20 30 35
+
<tr><td>Growth Rate<td>50%<td>80%<td>100%<td>100%
Growth Rate 50% 80% 100% 100%
+
</table>
+
 
+
This number is called the “Population Cap”.  Each turn, population is adjusted via the following formula:
This number is called the “Population Cap”.
+
   
+
Each turn, population is adjusted via the following formula:
+
+
 
New Population = Current Population * ((Population Cap – Current population) / Population Cap)) * Environmental Growth Rate * Race Specific Growth Rate
 
New Population = Current Population * ((Population Cap – Current population) / Population Cap)) * Environmental Growth Rate * Race Specific Growth Rate
 
   
 
   
Line 196: Line 223:
 
Normally, there is no explicit migration between the populations of planets.
 
Normally, there is no explicit migration between the populations of planets.
 
   
 
   
Certain events assign the planetary feature (aka planet special) “Doomed” to a world.  When a planet is “Doomed” the industrial project “Evacuate Planet” is unlocked.  For every point of industry spent on Evacuation, one population point worth of citizens enters the migration queue.
+
<font color="green">Certain events assign the planetary feature (aka planet special) “Doomed” to a world.  When a planet is “Doomed” the industrial project “Evacuate Planet” is unlocked.  For every point of industry spent on Evacuation, one population point worth of citizens enters the migration queue.</font>
 
   
 
   
 
Each turn, every unit of population is assigned to a suitable planet within the confines of the empire.  If there are no suitable planets (Bad Environment or the pre-existing population is already filled to capacity), then there’s a 25% chance that the population point is lost.  Otherwise, the population point remains in the queue to be assigned next turn.
 
Each turn, every unit of population is assigned to a suitable planet within the confines of the empire.  If there are no suitable planets (Bad Environment or the pre-existing population is already filled to capacity), then there’s a 25% chance that the population point is lost.  Otherwise, the population point remains in the queue to be assigned next turn.
Line 204: Line 231:
 
(There may be additional effects to evacuation if we have local stockpiles of resources.  To be determined later.)
 
(There may be additional effects to evacuation if we have local stockpiles of resources.  To be determined later.)
 
   
 
   
 +
=== Planet activities ===
  
 +
'''Planet Focus:''' On each planet, you can select a Major Focus (aka primary classification). The focuses are Farming, Mining, Industry, Science, and Balanced. You may also select a minor focus. <font color="green">Changing focuses costs an undetermined penalty (very likely a monetary one) – there is no penalty for v0.2. Certain buildings can only be placed on worlds with the correct focus. Whenever a focus is changed, any buildings that required the old focus are destroyed. The list of classifications is open to expansion, for example "Entertainment" or "Government."</font>
  
=== Planet activities ===
+
'''Production:''' Each population unit produces one unit of food, one unit of minerals, one unit of science, and one unit of industry; these numbers are then modified by planetary foci, environment, and resource availability as follows:
 
+
Planet Focus: On each planet, you can select a Major Focus (aka primary classification). The focuses are Farming, Mining, Industry, Science, and Balanced. You may also select a minor focus. Changing focuses costs an undetermined penalty (very likely a monetary one) – there is no penalty for v0.2. Certain buildings can only be placed on worlds with the correct focus. Whenever a focus is changed, any buildings that required the old focus are destroyed. The list of classifications is open to expansion, for example "Entertainment" or "Government."
+
  
Production: Each population unit produces one unit of food, one unit of minerals, one unit of science, and one unit of industry; these numbers are then modified by planetary foci, environment, and resource availability as follows:
+
<table border=1 cellpadding=2 cellspacing=0>
 +
<tr><td>Primary Classes<td>Food<td>Minerals<td>Industry<td>Research
 +
<tr><td>Balanced<td>3<td>3<td>3<td>3
 +
<tr><td>Farming<td>6<td>1<td>1<td>1
 +
<tr><td>Industry<td>1<td>1<td>6<td>
 +
  1<tr><td>Mining<td>1<td>6<td>1<td>1
 +
<tr><td>Science<td>1<td>1<td>1<td>6
 +
<tr><td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;
 +
<tr><td>Secondary Classes<td>Food<td>Minerals<td>Industry<td>Research
 +
<tr><td>Balanced<td>1<td>1<td>1<td>1
 +
<tr><td>Farming<td>2<td>0<td>0<td>0
 +
<tr><td>Industry<td>0<td>0<td>2<td>0
 +
<tr><td>Mining<td>0<td>2<td>0<td>0
 +
<tr><td>Science<td>0<td>0<td>0<td>2
 +
  <tr><td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;<td>&nbsp;
 +
<tr><td>Environmental Modification<td>Food<td>Minerals<td>Industry<td>Research
 +
<tr><td>Toxic<td>-5<td>0<td>0<td>0
 +
<tr><td>Radiated<td>-5<td>0<td>0<td>0
 +
<tr><td>Barren<td>-4<td>0<td>0<td>0
 +
<tr><td>Desert<td>-3<td>0<td>0<td>0
 +
<tr><td>Tundra<td>-2<td>0<td>0<td>0
 +
<tr><td>Ocean<td>-1<td>0<td>0<td>0
 +
<tr><td>Terran<td>0<td>0<td>0<td>0
 +
<tr><td>Gaia<td>3<td>0<td>0<td>0
 +
</table>
  
Primary Classes Food Minerals Industry Research
 
Balanced 3 3 3 3
 
Farming 6 1 1 1
 
Industry 1 1 6 1
 
Mining 1 6 1 1
 
Science 1 1 1 6
 
 
Secondary Classes Food Minerals Industry Research
 
Balanced 1 1 1 1
 
Farming 2 0 0 0
 
Industry 0 0 2 0
 
Mining 0 2 0 0
 
Science 0 0 0 2
 
 
Enviromental Modification Food Minerals Industry Research
 
Toxic -5 0 0 0
 
Radiated -5 0 0 0
 
Barren -4 0 0 0
 
Desert -3 0 0 0
 
Tundra -2 0 0 0
 
Ocean -1 0 0 0
 
Terran 0 0 0 0
 
Gaia 3 0 0 0
 
  
Resources: One unit of production requires one unit of minerals; food and science do not require resources (at this time).  
+
'''Resources:''' One unit of production requires one unit of minerals; food and science do not require resources <font color="green">(at this time)</font>.  
  
Stockpiles and resource allocation: Although the issue of stockpiles has been discussed, it did not make it into the v0.2 specs. For v0.2, all resources not consumed locally are sent to an Empire-wide pool and allocated as needed; anything not consumed immediately is wasted. There are no blockades or any external mechanisms affecting this. Stockpiles will be the first issue discussed for v0.3.  
+
Stockpiles and resource allocation: Although the issue of stockpiles has been discussed, it did not make it into the v0.2 specs. For v0.2, all resources not consumed locally are sent to an Empire-wide pool and allocated as needed; anything not consumed immediately is wasted. There are no blockades or any external mechanisms affecting this. <font color="green">Stockpiles will be the first issue discussed for v0.3.</font>
  
 
==== Military Production ====  
 
==== Military Production ====  
Line 248: Line 276:
 
If a build setting is changed midway through production, all production on that item is lost and does not transfer. If additional production is left over after completion of of a ship or defense base, production points roll over into a new item of the same type (but are lost if the setting is changed to an un-like ship or base). It is possible to build more than one of a given item in a single turn if there are enough production points to complete them.  
 
If a build setting is changed midway through production, all production on that item is lost and does not transfer. If additional production is left over after completion of of a ship or defense base, production points roll over into a new item of the same type (but are lost if the setting is changed to an un-like ship or base). It is possible to build more than one of a given item in a single turn if there are enough production points to complete them.  
  
 +
'''Industry:''' <font color="green">The industrial mechanism for v0.1 (based on percentage of planet industrialized) should be preserved but will not be used for v0.2 The v0.2 model will be further developed for v0.3 once we have finalized precisely what it is that we will be building with industry!)</font>
  
Industry: The industrial mechanism for v0.1 (based on percentage of planet industrialized) should be preserved but will not be used for v0.2 The v0.2 model will be further developed for v0.3 once we have finalized precisely what it is that we will be building with industry!)
+
Every unit of industry produced by the population of a planet is potentially a ‘Production Point’ (PP); each unit of production requires one available unit of minerals. Industry units will first take available minerals from the planet on which the industry unit is produced; they will then take available units from the empire-wide pool. Planets consume resources in descending order of population, followed by number of units produced; for example, a planet producing five small ships or missile bases will produce one missile base, and will not produce a second until all other planets in the Empire have been able to access the empire resource pool once.
  
Every unit of industry produced by the population of a planet is potentially a ‘Production Point’ (PP); each unit of production requires one available unit of minerals. Industry units will first take available minerals from the planet on which the industry unit is produced; they will then take available units from the empire-wide pool. Planets consume resources in descending order of population, followed by number of units produced; for example, a planet producing five small ships or missile bases will produce one missile base, and will not produce a second until all other planets in the Empire have been able to access the empire resource pool once.
+
'''Defense Bases:''' Each defense base provides a static bonus of 3 defense points. Each defense base requires 200 PP to build.
  
Defense Bases: Each defense base provides a static bonus of 3 defense points. Each defense base requires 200 PP to build.
+
'''Ships:''' There are six classes of starship:
 
+
* '''Scout'''  0 attack points, 0 defense points. Moves around galaxy. Costs 75 PP.  
Ships: There are six classes of starship:
+
* '''Colony Ship'''  0 attack points, 0 defense points. Moves around galaxy, creates colonies. 150 PP.
* Scout: 0 attack points, 0 defense points. Moves around galaxy. Costs 75 PP.  
+
* '''Mark I'''  2 attack points, 1 defense point. Costs 100 PP.
* Colony Ship: 0 attack points, 0 defense points. Moves around galaxy, creates colonies. 150 PP.
+
* '''Mark II''' 5 attack points, 2 defense points. Costs 200 PP.
* Mark I: 2 attack points, 1 defense point. Costs 100 PP.
+
* '''Mark III''' 10 attack points, 3 defense points. Costs 375 PP.
* Mark II: 5 attack points, 2 defense points. Costs 200 PP.
+
* '''Mark IV''' 15 attack points, 5 defenses points: Costs 700 PP.
* Mark II: 10 attack points, 3 defense points. Costs 375 PP.
+
* Mark IV: 15 attack points, 5 defenses points: Costs 700 PP.
+
  
 
All ships move at the same rate on the galactic map. Fleets will have no range limitation.
 
All ships move at the same rate on the galactic map. Fleets will have no range limitation.
Line 281: Line 308:
 
Players begin with Scout, Colony ship, and Mark I. Planets producing research points can discover the following (and in the following order):
 
Players begin with Scout, Colony ship, and Mark I. Planets producing research points can discover the following (and in the following order):
  
Defense Base: 1000 RP.
+
* '''Defense Base'''  1000 RP.
Mark II: 1750 RP.
+
* '''Mark II'''  1750 RP.
Mark III: 3500 RP.
+
* '''Mark III'''  3500 RP.
Mark IV: 7000 RP.
+
* '''Mark IV'''  7000 RP.
  
  
=== Interface & Logistics ===
+
== Appendix: Interface & Logistics ==
  
==== Core Engine ====
+
=== Core Engine ===
  
Each empire will take its turn simultaneously. All actions taken by each empire are resolved at the end of the turn.
+
<font color="red">Each empire will take its turn simultaneously. All actions taken by each empire are resolved at the end of the turn.
  
 
During a turn each empire may change planet build options, set split fleets and set fleet destinations, and colonize planets.
 
During a turn each empire may change planet build options, set split fleets and set fleet destinations, and colonize planets.
  
Between turns, the game will do the following: 1. Move all fleets that have a set destination. 2. Combine all fleets at each system into consolidated fleets for each empire. 3. Resolve any combat. 4. Check for empire elimination and game end conditions. 5. Update research totals. 6. Update planet population production totals. 7. Place any newly built ships and missile bases.  
+
Between turns, the game will do the following: 1. Move all fleets that have a set destination. 2. Combine all fleets at each system into consolidated fleets for each empire. 3. Resolve any combat. 4. Check for empire elimination and game end conditions. 5. Update research totals. </font>6. Update planet population production totals. <font color="red">7. Place any newly built ships and missile bases.  
Screens
+
 
 +
=== Interface ===
  
 
The following screens must exist to do the following things:  
 
The following screens must exist to do the following things:  
  
* Main Menu: Options: New Game, Load Game. Load game brings up a list of saved games, and the dates & times on which they were saved.
+
* '''Main Menu'''  Options, New Game, Load Game. Load game brings up a list of saved games, and the dates & times on which they were saved.
* New Game Screen: Select the size and shape of the galaxy. Name your Empire and select a color (looking ahead: flags!)
+
* '''New Game Screen'''  Select the size and shape of the galaxy. Name your Empire and select a color </font><font color="green">(looking ahead: flags!)</font><font color="red">
* Universe Screen: Displays starmap with color-coded star systems. Provides a means to select a star system. Star system view does not require its own screen, but at least requires a sizeable window (discretion of graphics team/UI designers). Provides an interface to move fleets. Fleets have names and remain designated between turns. Enemy fleets in deep space will only be visible to the player if the player controls a planet at the destination system for that fleet.
+
* '''Universe Screen'''  Displays starmap with color-coded star systems. Provides a means to select a star system. Star system view does not require its own screen, but at least requires a sizeable window (discretion of graphics team/UI designers). Provides an interface to move fleets. Fleets have names and remain designated between turns. Enemy fleets in deep space will only be visible to the player if the player controls a planet at the destination system for that fleet.
 +
 
 
If a fleet with a colony ship stops in a star system that has un-colonized planets, an interface must allow the player to choose whether to colonize any planet in that system. When a player selects to colonize a planet, this will be reflected immediately (in turn), and the player can access the new colony and change its build selection from that point.
 
If a fleet with a colony ship stops in a star system that has un-colonized planets, an interface must allow the player to choose whether to colonize any planet in that system. When a player selects to colonize a planet, this will be reflected immediately (in turn), and the player can access the new colony and change its build selection from that point.
  
The universe screen will show a visible cue as to the destination of fleets in space.
+
The universe screen will show a visible cue as to the destination of fleets in space.
  
There shall be at least one screen in which the entire galaxy is visible; this can be through either a separate screen, or the ability to zoom in and out of the galaxy screen. Every effort shall be made to keep the names of discovered star systems visible and readable as the player zooms out, within the boundaries of the interface.
+
There shall be at least one screen in which the entire galaxy is visible; this can be through either a separate screen, or the ability to zoom in and out of the galaxy screen. Every effort shall be made to keep the names of discovered star systems visible and readable as the player zooms out, within the boundaries of the interface.
 +
 
 +
At the beginning of each turn, all ships in any given system will be grouped into a single fleet. When the player clicks on the fleet icon, a popup will display the contents of the fleet, and buttons to either move or split the fleet. If the move option is selected, a line will be shown from the system to any system to any system the player points the mouse at, as well as the movement time needed to arrive there. If the split button is selected, the player is presented an interface to select which ships to move into a second fleet. The fleet popup will then show both fleets, with one being highlighted as selected. The player can click on the other fleet to select it. Whichever fleet is selected, the player will still be presented with the same move and split options. In this manner the player can create an arbitrary number of fleets at a system. This interface shall reflect whether or not a fleet has a destination, and what that destination is.
  
At the beginning of each turn, all ships in any given system will be grouped into a single fleet. When the player clicks on the fleet icon, a popup will display the contents of the fleet, and buttons to either move or split the fleet. If the move option is selected, a line will be shown from the system to any system to any system the player points the mouse at, as well as the movement time needed to arrive there. If the split button is selected, the player is presented an interface to select which ships to move into a second fleet. The fleet popup will then show both fleets, with one being highlighted as selected. The player can click on the other fleet to select it. Whichever fleet is selected, the player will still be presented with the same move and split options. In this manner the player can create an arbitrary number of fleets at a system. This interface shall reflect whether or not a fleet has a destination, and what that destination is.
 
  
 
Once a fleet has entered deep space its destination cannot be changed. New movement orders can only be assigned once it has arrived at its destination.
 
Once a fleet has entered deep space its destination cannot be changed. New movement orders can only be assigned once it has arrived at its destination.
Line 317: Line 347:
 
==== Planet Screen ====
 
==== Planet Screen ====
  
When a planet is colonized, it begins with 1 population point. Displays current pop, max pop current production balance, and output of food, minerals, research, industry, and production. Shows projected population for next turn based on current growth rate (does not need to display growth rate). All of
+
When a planet is colonized, it begins with 1 population point. Displays current pop, max pop current production balance, and output of food, minerals, research, industry, and production. Shows projected population for next turn based on current growth rate (does not need to display growth rate). All of this information should be accessible without any additional clicks after getting to the planet screen.
 +
 
 +
The planet screen will provide an interface through which the player may alter the current build selection. If the build selection is set to ships or bases, it will show the number of turns to completion.
 +
 
 +
==== SitRep ====
 +
 
 +
There shall be a popup splash window for each new turn with a nifty graphic of some sort and a numbered turn label. Displays all colony activity at the beginning of every turn. How many RPs were generated (total), the number of planets that worked on industrial infrastructure, an alert in case a planet was told to work on industrial infrastructure but had already maxed out, a notice if a planet finished building a ship. A seperate screen for when technologies are discovered. v0.2 simply requires a pop-up before the sit-rep, but the details of this screen are left to the discretion of the graphics team.
 +
 
 +
==== Combat pop-up ====
 +
For every combat that occurs (regardless of whether or not it involves the player), a window that explains the casualties and the outcome. The graphics team shall develop a simple, animated display for automated combat; a primarily text popup with some sound effects and a display of respective fleet/base strength which then reflects casualties as combat rounds are evaluated. Does not need to be interactive. </font><font color="green">Looking forward: This will develop along the way so that there is still something interesting to look at and listen to when combat is automatically resolved (for example, the difference between space combat and ground combat in MOO2 should be the difference between controllable space combat and automated space combat in FreeOrion). </font><font color="red">
 +
 
 +
 
 +
==== Save/load/quit menu ====
 +
A window or screen must exist that allows the player to save the game, load the game, or exit.
 +
 
 +
==== Victory window ====
 +
The player must somehow be notified when they are the sole survivor.

Latest revision as of 23:48, 27 October 2006

other Languages:
German / Deutsch: Vorraussetzungen v0.2

composed by Samuel W. Knowlton, aka “Aquitaine,” Drek, and Nightfish
with contributions from the entire FreeOrion team

November 16, 2003


Section I: Format of This Document

There are three types of statements in this document:

  • Declarative design statements: Features will be implemented in the manner described to the exact specifications; any specifications that are unclear or require further detail will be re-submitted to the design team for consideration. These statements are evident from their use of definite punctuation, action verbs such as ‘will’ or ‘shall be’ and are otherwise identified by their unique quality of demonstrating prior thought.
  • General and/or lazy design statements: Features will be implemented in approximately the manner described as the manner described lacks the requisite amount of detail, e.g. ‘a formula shall be determined for a scale of wogs that operates somewhat like this,’ in which the programmer is left to determine the actual formula. These statements are evident from the use of a suggestive, ‘wouldn’t it be nice if’ tone or the sheer implausibility of the feature indicating that no actual developers were consulted at any point during its inception. The design team acknowledges that any future rewriting or clarification of a general or lazy design statement within the same version shall not be attempted without due bribery of the development team.
  • Forward-looking statements: These statements have no bearing on the actual requirements of the version and as such have a tenuous presence at best in a ‘requirements document,’ but are nevertheless included so as to provide some minimal insight into the steaming quagmire of the design team’s vision. These statements are arbitrarily green.
  • Completed sections: These features are already complete and work as intended. They are red whenever there is certainty that the feature is done.


Section II: Version Roadmap

(Note: this section has been deleted. The information was out of date. Use the wiki link to the Roadmap instead.)

Section III: Software Architecture

A client/server model will be employed, in which all calculation and resolution is handled by a trusted server, and the client is merely an interface and a conduit.

  • There will be both server and client programs.
  • The client will provide the player interface into the game.
  • The server will run the game engine.
  • The client will be able to connect to the server locally or over a TCP/IP network.
  • All decisions regarding allowable player actions and universe information the player is allowed to access will be controlled at the server level.
  • The game setup user interface and loading and saving of games will be handled in the server.
  • There will be a user interface screen in the client for setting up the connection to a server. Any locally hosted servers will be auto-detected by the client, and listed in this screen.
  • This will also obviously impact on the number of players and Multiplayer section (hotseat will probably not be supported, although running multiple clients on the same host will allow the same functionality).


Number of Players / Multiplayer

FreeOrion v0.2 will support an arbitrary number of eight players (to be limited formally as v1.0 approaches and bandwidth requirements are known). Because of the client/server model, full multiplayer support will be written in from the beginning.

Section IV: Universe Generation & Game Start Conditions

Options

  • Number of Stars A slider 10 – 500.
  • Shape of Galaxy Cluster, Spiral 2-arm, Spiral 4-arm, Ring, Cluster Pockets, Horseshoe, Origami Bird. The shape that the stars must conform to when being placed into the galaxy.
  • Age of Galaxy Young, Mature, Ancient. Younger universes tend to have more hot stars, fewer blackholes. Ancient universes tend to have more blackholes and cooler stars.
  • Starlanes A UI element will be provided for the following user selections: frequency of long starlanes (default few); frequency of medium starlanes (default some); frequency of short starlanes (default several); the choices will be none, few, some, average, many, and very many. The UI will not permit the user to select ‘none’ for all types of starlanes. A composite value that is an average of the aggregate values will be displayed as a summary descriptor (e.g. ‘mostly average starlanes,’ ‘all sorts of starlanes,’ ‘a mixed amount of short and long starlanes,’ ‘Nightfish starlanes’)
  • Density of Planets Low (3 planets per system), Average (5 planets per system), High (7 planets per system). The density is an average, the number of planet slots always remains 10.
  • Frequency of Specials Common, Rare, Very Rare, Nonexistent. Effects both planet and system specials.

The player may also choose to quick start a game without selecting galaxy options. A quick started galaxy will have the following parameters: user selects number of stars, either a cluster or spiral galaxy shape, mature age, average starlane length and frequency, average planet density, rare specials.

Star System Generation

Star Color

Each star has a color:

  • 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 singularity formed from the collapse of a super-massive star. Often the location of wormholes leading to other areas of the map.

A set of bonuses (based on base distribution and the Universe’s age) determine the star color. For each environment type, the applicable bonuses (base and age) are tallied and then added to a random number 1-100. The color with the largest final score is assigned to the star.

Star TypesBlueWhiteYellowOrangeRedNeutronBlackhole
Base3040504030  
Young1020     
Mature  10  1010
Ancient   10102020

Note: Star colors have no gameplay effect aside from modifying the type of planets and system specials generated in a system.

Planet Slots

Each star system has an array of ten slots in which there might or might not be a planet. Taken together, a star system can have 0-10 planets of the following types/sizes:

  • Planetoid Pluto sized. Barely a planet. Can be colonized.
  • Small Mercury sized. Can be colonized.
  • Medium Earth, Venus, Mars. Can be colonized.
  • Large Earth x 1.5. Can be colonized.
  • Massive Earth x 2. Can be colonized.
  • Asteroid Field A ring of debris around a star. An Asteroid Mining Base can be built here.
  • Gas Giant Jupiter, Saturn, Neptune being examples. A Gas Giant Tap can be built here.

A set of bonuses (the slot number, the user option “Planet Density” and the star’s color) help determine the existence/type of a planet. In each slot, for each possibility, the applicable bonuses (slot, user option, and in some cases star color) are tallied and then added to a bell-curved random number 1-100. The possibility with the largest final score is assigned to the planet slot.

  Planet Slot: No WorldPlanetoidSmallMediumLarge Massive Asteroid Field Gas Giant
User Option Low Density70       
Average Density50       
High Density30       
Star Color Blackhole30  -5-5-510-5
Neutrino 55    20 
Slot Slot 110152010   -80
Slot 251015205  -70
Slot 3 51030105 -60
Slot 4 5103010510-30
Slot 5 51020151025 
Slot 6 55520151030
Slot 7 5551510530
Slot 8 10105105530
Slot 951510555530
Slot 10102010   510

Notes: This slot system is a quick a dirty way of generating a general distance from planet to star. Planets in slot 0 are assumed to be about Mercury’s distance from the star. Planets in slot 2 are Earth’s distance from the star, Slot 4 is a bit farther out than Sol’s asteroid belt. Slot 5 would be Jupiter’s distance from the Sun. Slot 9 would be Pluto’s distance.

Distance has no gameplay effect beyond the generation of planet size/type and determining where the planet appears in the UI. Planets closer to the star are generally smaller.

Planet Environments

If a planet exists in a given slot, then a planetary environment is determined, 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.
  • Gaian Gaia worlds are, despite the name, not exclusively paradise for Terran dwellers. They are sentient planets designed by long-forgotten ancient creators to reshape themselves to the whims of their inhabitants. Exceedingly rare, extremely valuable-- some cultures worship Gaian planets as gods.

A set of bonuses (based on the planet’s Size, Slot, Star Color) help determine the environment type. For each environment type, the applicable bonuses are tallied and then added to a bell curved random number 1-100. The environment type with the largest final score is assigned to the planet.

 EnviromentTerranOceanSwampToxicInfernoRadiatedBarrenTundraDesertGaian
Planet Size Planetoid     1020  -20
Small     1010  -10
Medium10105    55 
Large    1010    -10
Massive   1010    -20
Slot Slot 1-5-5 5203015-2015-50
Slot 210102015201010-1020-40
Slot 3302510 5   15-40
Slot 42525     510-40
Slot 5101055   5 40
Slot 6510510  510 -40
Slot 7      1010 -40
Slot 8-5-5-5 -5 1510-5-50
Slot 9-10-10-10-5-10-102010-10-60
Slot 10-20-20-20-10-20-20255-20-70
Star Color Blue   10152015 5-5
White  5510510 15 
Yellow302520    520 
Orange 555  1010  
Red   10  2010 -5
Neutron-30-30-10553020 5-10
Blackhole-30-30-10-10-101530 -30-15


Game Start Conditions

Each empire will start the game with one planet of at least large size, with 20 population set to ‘balanced’ and 3 missile bases. The planet will be located in the ‘Terran’ slot on the EP wheel (relative to that races’ EP). Each empire will start the game with 2 scouts and one colony ship.

Start locations shall be reasonably far apart. For a very small galaxy, none of the systems in a list of the 5 nearest systems to an empire's starting system should be the starting system for another empire; however, the development team may determine the best manner of spacing systems in small galaxies. This should increase by one system per size larger the galaxy is (for small, no empire should start in the nearest 6 systems to any other empire).

When a map is generated, if it is not possible to fulfill both the minimum starting distance requirement and the large size start planet requirement, then the map will be discarded and a new one generated.


Section V: Planets, Population, and Production

The Wheel of Environmental Preference

How well a race thrives on a planet is based on the distance between the environmental preference (henceforth “EP”) of the race and the planet’s environment on the Wheel of EP:


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


  • If the planet’s environment = the race’s EP then environmental conditions are Optimal.
  • 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 or more away from the race’s EP, then environmental conditions are Terrible.
  • If the planet’s environment = Gaian then the environmental conditions are Superb, regardless of EP.

Note that for v.2, all races have the environmental preference of “Terran”. In future versions, the wheel will also govern terraforming.

Colony Population

When a planet is first colonized, the population is 1.

The maximum limit of a population on a planet is determined by planet size and environmental conditions, referenced on the following table:

 TerribleAdequateOptimalSuperb
Tiny24810
Small481620
Average6122025
Large8162530
Huge10203035
Growth Rate50%80%100%100%

This number is called the “Population Cap”. Each turn, population is adjusted via the following formula: New Population = Current Population * ((Population Cap – Current population) / Population Cap)) * Environmental Growth Rate * Race Specific Growth Rate

Obviously, Population needs to be stored as a Float, but displayed to the user cast as an integer.

Migration

Normally, there is no explicit migration between the populations of planets.

Certain events assign the planetary feature (aka planet special) “Doomed” to a world. When a planet is “Doomed” the industrial project “Evacuate Planet” is unlocked. For every point of industry spent on Evacuation, one population point worth of citizens enters the migration queue.

Each turn, every unit of population is assigned to a suitable planet within the confines of the empire. If there are no suitable planets (Bad Environment or the pre-existing population is already filled to capacity), then there’s a 25% chance that the population point is lost. Otherwise, the population point remains in the queue to be assigned next turn.

Population in the queue continues to consume food. If there’s a shortfall, population in the migration queue is lost.

(There may be additional effects to evacuation if we have local stockpiles of resources. To be determined later.)

Planet activities

Planet Focus: On each planet, you can select a Major Focus (aka primary classification). The focuses are Farming, Mining, Industry, Science, and Balanced. You may also select a minor focus. Changing focuses costs an undetermined penalty (very likely a monetary one) – there is no penalty for v0.2. Certain buildings can only be placed on worlds with the correct focus. Whenever a focus is changed, any buildings that required the old focus are destroyed. The list of classifications is open to expansion, for example "Entertainment" or "Government."

Production: Each population unit produces one unit of food, one unit of minerals, one unit of science, and one unit of industry; these numbers are then modified by planetary foci, environment, and resource availability as follows:

Primary ClassesFoodMineralsIndustryResearch
Balanced3333
Farming6111
Industry116 1
Mining1611
Science1116
     
Secondary ClassesFoodMineralsIndustryResearch
Balanced1111
Farming2000
Industry0020
Mining0200
Science0002
     
Environmental ModificationFoodMineralsIndustryResearch
Toxic-5000
Radiated-5000
Barren-4000
Desert-3000
Tundra-2000
Ocean-1000
Terran0000
Gaia3000


Resources: One unit of production requires one unit of minerals; food and science do not require resources (at this time).

Stockpiles and resource allocation: Although the issue of stockpiles has been discussed, it did not make it into the v0.2 specs. For v0.2, all resources not consumed locally are sent to an Empire-wide pool and allocated as needed; anything not consumed immediately is wasted. There are no blockades or any external mechanisms affecting this. Stockpiles will be the first issue discussed for v0.3.

Military Production

Planets may be set to ‘build’ one of the following: - Defense Bases (see below) - Ship Types (see below)

If a build setting is changed midway through production, all production on that item is lost and does not transfer. If additional production is left over after completion of of a ship or defense base, production points roll over into a new item of the same type (but are lost if the setting is changed to an un-like ship or base). It is possible to build more than one of a given item in a single turn if there are enough production points to complete them.

Industry: The industrial mechanism for v0.1 (based on percentage of planet industrialized) should be preserved but will not be used for v0.2 The v0.2 model will be further developed for v0.3 once we have finalized precisely what it is that we will be building with industry!)

Every unit of industry produced by the population of a planet is potentially a ‘Production Point’ (PP); each unit of production requires one available unit of minerals. Industry units will first take available minerals from the planet on which the industry unit is produced; they will then take available units from the empire-wide pool. Planets consume resources in descending order of population, followed by number of units produced; for example, a planet producing five small ships or missile bases will produce one missile base, and will not produce a second until all other planets in the Empire have been able to access the empire resource pool once.

Defense Bases: Each defense base provides a static bonus of 3 defense points. Each defense base requires 200 PP to build.

Ships: There are six classes of starship:

  • Scout 0 attack points, 0 defense points. Moves around galaxy. Costs 75 PP.
  • Colony Ship 0 attack points, 0 defense points. Moves around galaxy, creates colonies. 150 PP.
  • Mark I 2 attack points, 1 defense point. Costs 100 PP.
  • Mark II 5 attack points, 2 defense points. Costs 200 PP.
  • Mark III 10 attack points, 3 defense points. Costs 375 PP.
  • Mark IV 15 attack points, 5 defenses points: Costs 700 PP.

All ships move at the same rate on the galactic map. Fleets will have no range limitation.

Combat

Starship Combat: Calculated by the AI. No Tactical combat. Algorithms to be determined by uncouth cretin programmers with the following guidelines:

  • Non-combat ships have a low base chance of retreating if they encounter combat ships and have some place to retreat to.
  • If non-combat ships engage in combat and they have an escort, the non-combat ships will be the last things destroyed; consequently, if Player A wins the battle, he may lose some war ships, but he will not lose scout ships or colony ships.
  • Combat ships cannot retreat.
  • Whenever a fleet enters a system that contains enemy planets, it enters combat with –all- planetary missile bases and enemy fleets.
  • When fleets from more than two empires meet, all combat is resolved simultaneously and each fleet will be considered to be targeting the other equally.
  • When a system is conquered, it produces nothing that turn, and any item in production is discarded.

Ground Combat: No ground combat. If an enemy fleet occupies a star system and has destroyed all of the missile bases on a planet, they control the planet.

Research & Technology

Players begin with Scout, Colony ship, and Mark I. Planets producing research points can discover the following (and in the following order):

  • Defense Base 1000 RP.
  • Mark II 1750 RP.
  • Mark III 3500 RP.
  • Mark IV 7000 RP.


Appendix: Interface & Logistics

Core Engine

Each empire will take its turn simultaneously. All actions taken by each empire are resolved at the end of the turn.

During a turn each empire may change planet build options, set split fleets and set fleet destinations, and colonize planets.

Between turns, the game will do the following: 1. Move all fleets that have a set destination. 2. Combine all fleets at each system into consolidated fleets for each empire. 3. Resolve any combat. 4. Check for empire elimination and game end conditions. 5. Update research totals. 6. Update planet population production totals. 7. Place any newly built ships and missile bases.

Interface

The following screens must exist to do the following things:

  • Main Menu Options, New Game, Load Game. Load game brings up a list of saved games, and the dates & times on which they were saved.
  • New Game Screen Select the size and shape of the galaxy. Name your Empire and select a color (looking ahead: flags!)
  • Universe Screen Displays starmap with color-coded star systems. Provides a means to select a star system. Star system view does not require its own screen, but at least requires a sizeable window (discretion of graphics team/UI designers). Provides an interface to move fleets. Fleets have names and remain designated between turns. Enemy fleets in deep space will only be visible to the player if the player controls a planet at the destination system for that fleet.

If a fleet with a colony ship stops in a star system that has un-colonized planets, an interface must allow the player to choose whether to colonize any planet in that system. When a player selects to colonize a planet, this will be reflected immediately (in turn), and the player can access the new colony and change its build selection from that point.

The universe screen will show a visible cue as to the destination of fleets in space.

There shall be at least one screen in which the entire galaxy is visible; this can be through either a separate screen, or the ability to zoom in and out of the galaxy screen. Every effort shall be made to keep the names of discovered star systems visible and readable as the player zooms out, within the boundaries of the interface.

At the beginning of each turn, all ships in any given system will be grouped into a single fleet. When the player clicks on the fleet icon, a popup will display the contents of the fleet, and buttons to either move or split the fleet. If the move option is selected, a line will be shown from the system to any system to any system the player points the mouse at, as well as the movement time needed to arrive there. If the split button is selected, the player is presented an interface to select which ships to move into a second fleet. The fleet popup will then show both fleets, with one being highlighted as selected. The player can click on the other fleet to select it. Whichever fleet is selected, the player will still be presented with the same move and split options. In this manner the player can create an arbitrary number of fleets at a system. This interface shall reflect whether or not a fleet has a destination, and what that destination is.


Once a fleet has entered deep space its destination cannot be changed. New movement orders can only be assigned once it has arrived at its destination. The player will not know any more than the name of a system until some ship from his empire has visited that system. After that, the player will have full access to any information regarding that system – including fleets present there. Enemy fleets in deep space will only be visible to the player if the player controls a planet at the destination system for that fleet.

Planet Screen

When a planet is colonized, it begins with 1 population point. Displays current pop, max pop current production balance, and output of food, minerals, research, industry, and production. Shows projected population for next turn based on current growth rate (does not need to display growth rate). All of this information should be accessible without any additional clicks after getting to the planet screen.

The planet screen will provide an interface through which the player may alter the current build selection. If the build selection is set to ships or bases, it will show the number of turns to completion.

SitRep

There shall be a popup splash window for each new turn with a nifty graphic of some sort and a numbered turn label. Displays all colony activity at the beginning of every turn. How many RPs were generated (total), the number of planets that worked on industrial infrastructure, an alert in case a planet was told to work on industrial infrastructure but had already maxed out, a notice if a planet finished building a ship. A seperate screen for when technologies are discovered. v0.2 simply requires a pop-up before the sit-rep, but the details of this screen are left to the discretion of the graphics team.

Combat pop-up

For every combat that occurs (regardless of whether or not it involves the player), a window that explains the casualties and the outcome. The graphics team shall develop a simple, animated display for automated combat; a primarily text popup with some sound effects and a display of respective fleet/base strength which then reflects casualties as combat rounds are evaluated. Does not need to be interactive. Looking forward: This will develop along the way so that there is still something interesting to look at and listen to when combat is automatically resolved (for example, the difference between space combat and ground combat in MOO2 should be the difference between controllable space combat and automated space combat in FreeOrion).


Save/load/quit menu

A window or screen must exist that allows the player to save the game, load the game, or exit.

Victory window

The player must somehow be notified when they are the sole survivor.