Eccentric OrbitsThe next version finally adds something I have been considering for a long time – eccentric orbits. You can still have circular orbits as an option, but the assumption for future development will be the new orbital mechanics.
Stellar orbits have an eccentricity of up to 0.9 during normal generation, although they will generally be in the lower end of that range. You can edit this up to 0.95 by modifying the star. Even with this change, stellar orbits will not cross. As an example, a star with an 0.9 eccentricity will have an aphelion nineteen times greater than the perihelion whereas 0.5 eccentricity would be around three times greater.
Planetary orbits will generally have less eccentricity than stars and will often be close to circular. The maximum planetary orbit eccentricity without ‘Gas Giant Effects’ (see next post) will be 0.65, with 70% below 0.15 and 90% below 0.25. Unlike stars, the orbits of planets may cross due to their eccentricity (like Pluto and Neptune). Trojan asteroids and LaGrange points will follow the same eccentric orbit as their parent body. That isn’t entirely correct from a maths perspective, but keeping them in the same orbit looks a lot better and has minimal impact vs their true positions.
Each eccentric orbit is inclined independently. In other words, the ‘stretch’ in orbit for different stars or planets in the same system may extend in different directions. Bodies moving in eccentric orbits will move at different speeds, depending on their location, with the fastest speed at perihelion and the slowest speed at aphelion. Overall, they will still match the year for a circular orbit based on their semi-major axis.
Because planets will be changing their distance from the star, their surface temperature will change over time, which also may impact other environmental factors such as hydrosphere type and atmospheric content. As a result, each planet is effectively being terraformed as it moves. Colony cost will potentially become a range, rather than a fixed number. In practice, minimal eccentricity orbits will not have a major impact on colony cost and even when temperature changes it may not affect overall colony cost due to the greater influence of other factors. Even so, when choosing colony sites, the max colony cost should be considered in addition to the current colony cost.
Comets will no longer use their previous movement rules and will instead use the same orbital mechanics as planets, albeit with eccentricities ranging from 0.5 to 0.999. Their tails will point away from the star, rather than opposite the direction of travel. Their physical characteristics will remain as before.
Moon orbits will remain circular. The orbits of significant moons are likely to have minimal eccentricity anyway. For example, the four Galilean moons have eccentricity < 0.01, Titan is 0.03 and Neptune's largest moon Triton has an almost perfect circular orbit. Also, the conditions on a given moon will be far more influenced by the parent body’s eccentricity than its own. In summary, adding eccentricity to moons would add more to processing time than to gameplay.
About ten percent of non-Trojan asteroids will have eccentric orbits. Those that are eccentric will on average have greater eccentricity than planets, although nothing close to comets. The limited number of eccentric asteroids is to avoid any performance issues and also balance between interesting and overwhelming.
The system view window shows current distance, perihelion and aphelion for stars and planets and the colony cost display can be changed between current and max colony cost. When the ‘Max CC / Temp’ option is active, the total of habitable bodies displayed for each star and the body colours on the grid will reflect the max colony cost and the temperature shown for each body is the temperature used for the max colony cost (which could be higher or lower than current temperature). The atmosphere panel shows current, min and max temperatures and the colony cost panel shows both current and maximum temperature factors.
The population window shows both current and maximum colony cost, if the latter is higher than the former. The galactic map has a new option so you can toggle between displaying the number of habitable planets based on current or max colony cost. Finally, you can toggle between normal and max colony cost on the mineral search window when filtering by colony cost. NPRs will base their colonization decisions on max colony cost, rather than current.
For Sol, all the planets, dwarf planets, comets, near-Earth asteroids and around 10-15% of other asteroids (the largest or most well-known) currently in the game have been assigned their correct eccentricity and semi-major axis. Their orbital position and direction of eccentricity is randomised. I could try to calculate the correct values for the former but given that games often start in different time periods, it isn’t worth it unless I also add a calculator to set the correct values for a given year.
Here is a screenshot of the inner Sol system. Mercury and Mars have the most eccentric orbits with values of 0.206 and 0.0934 respectively
This is with dwarf planet orbits shown and asteroids hidden
Oops! Forgot one.
Comet Orbits
Even further out comets
And the furthest...
Here is the System view for Sol with current colony cost and temperatures shown. Note that for Mercury, the major planet with the highest eccentricity, the current temperature is 424C and colony cost is 3.21. In the colony cost and atmosphere panels below, you can see the minimum and maximum surface temperatures are 362C and 509C respectively. The latter will result in a colony cost of 3.92, which is shown as the Max Temperature Factor.
Below is the same view with the ‘Show Max CC / Temp’ option selected. Mercury now has a colony cost of 3.92 and a temperature of 509C. The colony cost of Mars has changed from 2.11 to 2.51 and the temperature is shown as -70C, rather than -61C. For Mars, the minimum temperature is the worst case whereas for Mercury it is the maximum temperature. Earth is selected and shows the minimum and maximum temperatures of 11.8C and 16.6C, due to the small orbital eccentricity of 0.0167. Both of these are well within the habitable range so the colony cost remains at zero.
I’ll be starting a new campaign shortly to test the new mechanics. v1.14 is probably going to become v2.0 given the scope of this change.