Terra Invicta Dev Diary #12: The Solar System
Posted: Sat Oct 17, 2020 5:37 pm
Part of the core storyline in Terra Invicta is industrializing outer space. We start with the assumption that it’s simply too expensive to move enough material from Earth’s surface to space to be able to mount a sustained defense against the aliens, because Earth’s gravity is quite high relative to other useful locations in the Solar System. Instead, support from Earth should serve to bootstrap a self-supporting space economy in which you mine asteroids, moons and other planets.
When you start a campaign, you’ll choose how complex you want the Solar System to be. The current setup has four choices, ranging from the basic Solar System, with around 60 bodies, to the “full” system, with around 330. (The largest one may be challenging, performance-wise, for older computers, so the options are there in part to serve a broader range of system specs.)
All setups have all the major planets, large and well-known moons, the largest asteroids, and several Kuiper Belt dwarfs. The extended setups have many more asteroids, more dwarf planets, and smaller moons around the gas giants.
All bodies are positioned with their real-world Keplerian orbital elements, meaning the 2021 Solar System should look like the Solar System in the real world. Our cutoff to include bodies was an aphelion of 50 AU (Astronomical Units, where 1 AU is the distance between Earth and the Sun). We tried to include every asteroid in the Belt larger than 200 km in diameter and lots of smaller, interesting ones. Our lower cutoff for moons and near-Earth asteroids has been around 10 km, although I’m continually tempted to add smaller ones for more stepping stones that are in reach in the early game. Among the smallest NEAs are currently 1866 Sisyphus (9x7x6.5 km), 1627 Ivar (9 km), and 4954 Eric (~11 km). (For NEA fans, that currently leaves out 3753 Cruithne (~5 km) as too small.) We are modeling the Solar System in 3D, so objects do have inclinations.
The Solar System also has Lagrange Points as sites you can travel to, and build at, in the Solar System. These are interesting points created by the confluence of gravity between two bodies, where things tend to stay in fairly stable positions. They make nice anchorages for stations and fleets.
For those not immediately familiar with the Solar System's scale, it’s important to note that many of these places are extremely *far* away. To reach some of the most distant places of the Solar System in a reasonable amount of time, you’ll need to develop advanced propulsion technologies. Until then, they’ll be out of reach. Getting to Mars, then the Asteroid Belt, and beyond will be a significant accomplishment.
All bodies and Lagrange Points have one or more circular orbits around them where you can park fleets and build space stations. This is a simplification to keep the game digestible; the alternative is to ask players to draw ellipses for unique orbits, which is a little further than we wanted to go. The Lagrange Point halo orbits are also a bit of a cheat, because we stopped short of implementing a full n-body simulation for those, which would be demanding a bit much of your CPU alongside everything else it needs to do.
Low orbits above space bodies will have a special “interface” tag. You can access the surface from there.
With the exception of the hell world of Venus, and the gas giants of Jupiter, Saturn, Uranus, and Neptune, all space bodies have at least one hab site, which is a location you can build a base with a mine and other modules. Larger bodies will have four, nine or 16 – the last for Mars, Ganymede, Callisto and Titan. Mercury has eight: It’s big enough for 16, but we’re only letting you build on the poles, reasoning that it’s too durn hot anywhere else.
(One idea we considered and discarded would be to allow you to build aerostat-bases above Venus and perhaps the gas giants. But that would be a significant art ask without a lot of new options for gameplay, as you can build stations in orbits above those bodies. Maybe in a DLC someday.)
Anyhow, each hab site is assigned a mining profile based on what we know about the body. Big bodies will have one or more profiles unique to them; asteroids are based on their spectral type. The primary three are S (Stony), C (Carbonaceous), and M (Metallic). There are other, less common types we model, as well.
These profiles each have a range of possible mining output in the five space resources. The actual values for each site are randomized within that range at a campaign’s start. So metallic asteroids will have lots of metals, but not always the same amount between campaigns. Carbonaceous will tend to have lots of volatiles. Stony asteroids will have a few metals, sometimes a little water, and occasionally be a good source of fissiles.
(Quick review of resources: Boost is your ability to move things from Earth’s surface to space. One boost represents putting 10 tons of material into Low Earth Orbit. Water, Volatiles, Metals, Noble Metals, and Fissiles are the key space resources you can mine from locations in the Solar System to build habitats and ships. Details are in Dev Diary #3.)
To settle a space body, the first thing you must do is prospect it. This will tell you exactly how much of each resource each of its hab sites can produce. You can prospect a space body in three ways: 1) send a probe from Earth or a nearby shipyard; 2) put a ship with a space science lab in a low orbit and scan; or 3) steal prospecting data from another faction.
There are several global “Mission to …” techs, like “Mission to Mars,” that unlock your ability to prospect, and travel to, part of the Solar System. Once a hab site is prospected, you can found a base there.
Some orbits and hab sites also have a “radiated” tag because the conditions there are especially harsh for life. This includes Medium Earth Orbit (in the Van Allen Belts), the orbits of Mercury, and anything near Jupiter. Building habs there is much more expensive because of the extra shielding needed.
Next up: Habitats.
When you start a campaign, you’ll choose how complex you want the Solar System to be. The current setup has four choices, ranging from the basic Solar System, with around 60 bodies, to the “full” system, with around 330. (The largest one may be challenging, performance-wise, for older computers, so the options are there in part to serve a broader range of system specs.)
All setups have all the major planets, large and well-known moons, the largest asteroids, and several Kuiper Belt dwarfs. The extended setups have many more asteroids, more dwarf planets, and smaller moons around the gas giants.
All bodies are positioned with their real-world Keplerian orbital elements, meaning the 2021 Solar System should look like the Solar System in the real world. Our cutoff to include bodies was an aphelion of 50 AU (Astronomical Units, where 1 AU is the distance between Earth and the Sun). We tried to include every asteroid in the Belt larger than 200 km in diameter and lots of smaller, interesting ones. Our lower cutoff for moons and near-Earth asteroids has been around 10 km, although I’m continually tempted to add smaller ones for more stepping stones that are in reach in the early game. Among the smallest NEAs are currently 1866 Sisyphus (9x7x6.5 km), 1627 Ivar (9 km), and 4954 Eric (~11 km). (For NEA fans, that currently leaves out 3753 Cruithne (~5 km) as too small.) We are modeling the Solar System in 3D, so objects do have inclinations.
The Solar System also has Lagrange Points as sites you can travel to, and build at, in the Solar System. These are interesting points created by the confluence of gravity between two bodies, where things tend to stay in fairly stable positions. They make nice anchorages for stations and fleets.
For those not immediately familiar with the Solar System's scale, it’s important to note that many of these places are extremely *far* away. To reach some of the most distant places of the Solar System in a reasonable amount of time, you’ll need to develop advanced propulsion technologies. Until then, they’ll be out of reach. Getting to Mars, then the Asteroid Belt, and beyond will be a significant accomplishment.
All bodies and Lagrange Points have one or more circular orbits around them where you can park fleets and build space stations. This is a simplification to keep the game digestible; the alternative is to ask players to draw ellipses for unique orbits, which is a little further than we wanted to go. The Lagrange Point halo orbits are also a bit of a cheat, because we stopped short of implementing a full n-body simulation for those, which would be demanding a bit much of your CPU alongside everything else it needs to do.
Low orbits above space bodies will have a special “interface” tag. You can access the surface from there.
With the exception of the hell world of Venus, and the gas giants of Jupiter, Saturn, Uranus, and Neptune, all space bodies have at least one hab site, which is a location you can build a base with a mine and other modules. Larger bodies will have four, nine or 16 – the last for Mars, Ganymede, Callisto and Titan. Mercury has eight: It’s big enough for 16, but we’re only letting you build on the poles, reasoning that it’s too durn hot anywhere else.
(One idea we considered and discarded would be to allow you to build aerostat-bases above Venus and perhaps the gas giants. But that would be a significant art ask without a lot of new options for gameplay, as you can build stations in orbits above those bodies. Maybe in a DLC someday.)
Anyhow, each hab site is assigned a mining profile based on what we know about the body. Big bodies will have one or more profiles unique to them; asteroids are based on their spectral type. The primary three are S (Stony), C (Carbonaceous), and M (Metallic). There are other, less common types we model, as well.
These profiles each have a range of possible mining output in the five space resources. The actual values for each site are randomized within that range at a campaign’s start. So metallic asteroids will have lots of metals, but not always the same amount between campaigns. Carbonaceous will tend to have lots of volatiles. Stony asteroids will have a few metals, sometimes a little water, and occasionally be a good source of fissiles.
(Quick review of resources: Boost is your ability to move things from Earth’s surface to space. One boost represents putting 10 tons of material into Low Earth Orbit. Water, Volatiles, Metals, Noble Metals, and Fissiles are the key space resources you can mine from locations in the Solar System to build habitats and ships. Details are in Dev Diary #3.)
To settle a space body, the first thing you must do is prospect it. This will tell you exactly how much of each resource each of its hab sites can produce. You can prospect a space body in three ways: 1) send a probe from Earth or a nearby shipyard; 2) put a ship with a space science lab in a low orbit and scan; or 3) steal prospecting data from another faction.
There are several global “Mission to …” techs, like “Mission to Mars,” that unlock your ability to prospect, and travel to, part of the Solar System. Once a hab site is prospected, you can found a base there.
Some orbits and hab sites also have a “radiated” tag because the conditions there are especially harsh for life. This includes Medium Earth Orbit (in the Van Allen Belts), the orbits of Mercury, and anything near Jupiter. Building habs there is much more expensive because of the extra shielding needed.
Next up: Habitats.