Terra Invicta Dev Diary #12: The Solar System

For updates and discussion of Terra Invicta, a grand-strategy alien invasion simulator
Post Reply
User avatar
johnnylump
Site Admin
Posts: 1262
Joined: Wed Nov 11, 2015 4:12 am

Terra Invicta Dev Diary #12: The Solar System

Post by johnnylump »

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.)

solarscape.jpg
solarscape.jpg (120.64 KiB) Viewed 24799 times

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.

16 Psyche 2.jpg
16 Psyche 2.jpg (132.33 KiB) Viewed 24799 times

(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.
Rathalos
Posts: 5
Joined: Fri Oct 09, 2020 10:20 am

Re: Terra Invicta Dev Diary #12: The Solar System

Post by Rathalos »

I like the level of detail! Especially the inclusion of Lagrange points. So, if I've got this right: Circle is L1, semi-circle is L2, triangle is L3, square is L4 and pentagon is L5. However, it looks like you're not including all points for each planet. Specifically, I don't see L1 or L2 points for the inner system here. Were those left out since they're too close to the planets themselves, to prevent clutter, or something else? Can't see from this screenshot whether Jupiter does have its L4 and L5 points.

Another question: There are a limited number of slots for surface bases, but is there any limit on habs in an orbit? If not, how is it determined "where" in the orbit habs are situated relative to each other? In an environment where attack is likely, it would make sense to orbit closer together for defence.
asaz989
Posts: 11
Joined: Fri May 25, 2018 10:27 pm

Re: Terra Invicta Dev Diary #12: The Solar System

Post by asaz989 »

So: Pluto, but no Eris, Haumea, or Makemake? Probably not gameplay-relevant all the way out there, but interesting anyway 😅

Also, I'm curious about the abstractions you're making to orbits - seems like there will be no ∆V cost to changing inclinations between different Earth orbits, for example, because there aren't inclinations attached to orbits?
User avatar
johnnylump
Site Admin
Posts: 1262
Joined: Wed Nov 11, 2015 4:12 am

Re: Terra Invicta Dev Diary #12: The Solar System

Post by johnnylump »

- There's a cap on habs per orbit. The cap depends on the orbit.

- On the SS map, some of the Lagrange points are not visible at that scaling because they're under the planet icon. If you go with the full Solar System, we've got lots of L-points, although not every one you can imagine in all of the gas giant-big moon systems (I don't think I did a Saturn-Tethys L-3, for example). Basically making a relevance call versus performance cost of one more object to keep track of.

- Your read on icons is correct, did try to make the shapes correspond to the L-number.

- Haumea and Makemake are in the game because the 50 AU aphelion rule is something I get to bend for famous objects. Also in the game are Quaoar, Chaos, Varuna, Ixion, and a bunch of other real objects with made up thematic names because a catalog number is boring. Eris is much further away and not in the game.

- Predefined orbits have inclination values. We're setting most of them to zero at this point. It's easy to add more orbits, though, just config and text.
asaz989
Posts: 11
Joined: Fri May 25, 2018 10:27 pm

Re: Terra Invicta Dev Diary #12: The Solar System

Post by asaz989 »

johnnylump wrote: Mon Oct 19, 2020 10:11 pm - Predefined orbits have inclination values. We're setting most of them to zero at this point. It's easy to add more orbits, though, just config and text.
Oh awesome! So the game uses real mechanics to determine dV for capturing into and transferring between different orbits, just doesn't let you pick arbitrary orbits?
johnnylump wrote: Mon Oct 19, 2020 10:11 pm - Haumea and Makemake are in the game because the 50 AU aphelion rule is something I get to bend for famous objects. Also in the game are Quaoar, Chaos, Varuna, Ixion, and a bunch of other real objects with made up thematic names because a catalog number is boring. Eris is much further away and not in the game.
Heh. The IAU isn't fast enough for us!
Post Reply