---
title: Star system generation
canonical_url: https://paxabyssi.com/wiki/Star_system_generation
markdown_url: https://paxabyssi.com/wiki/Star_system_generation.md
type: wiki-page
revision_id: 329
revision_view: stable
last_updated: 2026-09-27
license: CC BY-SA 4.0
license_url: https://creativecommons.org/licenses/by-sa/4.0/
science_status:
  - sim
summary: How Pax Abyssi builds the planets, moons, rings and belts of every star system except our own, from a star's catalogue row, published occurrence rates and planetary physics, the same way every time.
categories:
  - Reference
  - Planetary systems
  - How the sim works
aliases:
  - How the sim builds a star system
  - System generation
  - Procedural system generation
  - Planet generation pipeline
  - Solar system generation
infobox:
  type: sim_process
  docs:
    - S:SOLAR_SYSTEMS/NEW_GENERATION_FLOW.md
    - S:SOLAR_SYSTEMS/README.md
    - K:galaxy/GENERATED_SYSTEMS.md
  name: Star system generation
  inputs:
    - spectral type
    - luminosity
    - mass
    - effective temperature
    - metallicity
    - age
    - companion stars
    - Galactic population
    - known exoplanets
  stages:
    - "1. The star: catalogue row, derived stellar parameters, companion stars, snow lines"
    - "2. Planets or none: one probability, P(planets)"
    - "3. The template: one of 24 planetary system archetypes"
    - "4. The blueprint: orbital slots, temperature zones, planet types, disc chemistry, temperature guards"
    - "5. Physics: a per-type engine computes each planet and may reclassify it (up to 5 attempts)"
    - 6. Moons, rings and belts
    - 7. Orbital elements and positions at the game date, written to a system file
  status: BUILT
  outputs:
    - planets with type
    - subtype
    - orbit
    - mass
    - radius
    - atmosphere and temperatures
    - moons
    - rings
    - asteroid belts
    - habitability scores
  game_date: 2538-01-01
  generator: S/code:modules_colony/planet_physics_runner.py; S/code:utils/archetype_generators/; S/code:utils/planet_physics/dispatcher.py; S/code:utils/moon_physics/dispatcher.py
  determinism: The same catalogue star and seed give an identical system on every run; the committed system files regenerate byte for byte.
  output_counts:
    as_of: 2026-09-25
    moons: 7495
    planets: 8751
    systems_generated: 5160
    systems_with_planets: 2188
  real_exoplanet_hosts:
    source: NASA Exoplanet Archive, June 2025 snapshot, matched to the catalogue
    planets: 928
    systems: 653
  equilibrium_temperature: T_eq = 279 K (1 - A)^(1/4) (L / L_sun)^(1/4) (a / 1 AU)^(-1/2)
related:
  - https://paxabyssi.com/wiki/Sol.md
  - https://paxabyssi.com/wiki/Natural_satellite.md
  - https://paxabyssi.com/wiki/Habitable_zone.md
  - https://paxabyssi.com/wiki/Planet_classification.md
  - https://paxabyssi.com/wiki/Asteroid_belt.md
  - https://paxabyssi.com/wiki/Orbit.md
---

# Star system generation

> Source: https://paxabyssi.com/wiki/Star_system_generation
>
> Licence: [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/). Text by Pax Abyssi Wiki contributors; history at https://paxabyssi.com/wiki/Star_system_generation/history
>
> Revision 329, 27 September 2026

Every star system in Pax Abyssi other than the Solar System is generated. A deterministic pipeline takes a real star's row from the [star catalogue](https://paxabyssi.com/wiki/Star_catalogue.md) and builds its planets, moons, rings and asteroid belts from published planet occurrence rates, templates of how real systems are arranged, and physics engines for each kind of world. Feed it the same star and it builds the same system, every time. This page follows one system through the seven stages and says, at each, what is observation, what is model and what is the sim's own simplification. The pipeline is BUILT: its output is what a pilot flies through.

(Image pending: Flow diagram of seven stages from catalogue star to planets or none, template, blueprint, physics with a reclassification loop, moons rings and belts, and orbits written to a file)

*Figure 1.* Diagram: the seven stages of system generation. Known exoplanet hosts join at the blueprint with their real planets.

## 1. The star

Everything starts from the star. Its catalogue row supplies a spectral type, brightness and distance; the sim derives the rest. Effective temperature comes from spectroscopy where a measurement exists, otherwise from the star's colour through a blackbody relation [1] or from its spectral type through a standard table of dwarf stars [2]; mass, luminosity, metallicity and age follow from measured values where the catalogue has them and from standard relations where it does not. Double and multiple stars get companions whose separations and mass ratios are drawn from the measured statistics of binary stars [3] [4].

Two derived quantities shape everything downstream. The first is the star's temperature zones. A planet with no atmosphere, reflecting nothing and spreading its heat evenly, settles at the equilibrium temperature

$$
T_\mathrm{eq} = 278\ \mathrm{K}\,(1 - A)^{1/4}\left(\frac{L}{L_\odot}\right)^{1/4}\left(\frac{a}{1\ \mathrm{AU}}\right)^{-1/2},
$$

where $A$ is the planet's albedo, $L$ the star's luminosity and $a$ the orbital distance; the sim rounds the constant to 279 K. Setting $T_\mathrm{eq}$ fixed and solving for $a$ shows that any temperature boundary moves outward as $\sqrt{L}$. A star 100 times brighter than the Sun has its zones 10 times farther out. The second is the set of snow lines, the distances beyond which ices condense: the sim puts water's at $2.7\sqrt{L}$ AU, following the classic value of 2.7 AU for the young Sun [5], and places snow lines for carbon dioxide, ammonia, methane, carbon monoxide and nitrogen farther out on the same scaling.

The sim's six zones, in AU, are

| Zone        | Inner edge    | Outer edge    |
| ----------- | ------------- | ------------- |
| Torch       | star          | $0.7\sqrt{L}$ |
| Warm        | $0.7\sqrt{L}$ | $1.0\sqrt{L}$ |
| Temperate   | $1.0\sqrt{L}$ | $1.8\sqrt{L}$ |
| Cool        | $1.8\sqrt{L}$ | $3.0\sqrt{L}$ |
| Frigid      | $3.0\sqrt{L}$ | $5.0\sqrt{L}$ |
| Deep freeze | $5.0\sqrt{L}$ | beyond        |

These are generation labels. The science of where liquid water is possible is on [Habitable zone](https://paxabyssi.com/wiki/Habitable_zone.md).

## 2. Planets or none

Next the sim decides whether the star has planets at all, with a single probability built from the measured occurrence rates: a base value read off the star's spectral subtype (0.89 for a Sun-like G2 dwarf, 0.96 for M dwarfs, falling steeply for hot stars), multiplied by factors for a close companion star, low metallicity, an old population, an evolved star and extreme youth. The derivation and the survey results behind it are on [Planet occurrence](https://paxabyssi.com/wiki/Planet_occurrence.md). A star with catalogued exoplanets always has planets.

## 3. The template

A star with planets draws one of 24 [planetary system archetypes](https://paxabyssi.com/wiki/Planetary_system_archetypes.md), templates such as a compact chain of rocky planets, a Sol-like system split at the snow line, or a hot Jupiter with distant companions. The draw is weighted by spectral class, so red dwarfs mostly get compact systems and hot stars mostly get wide or debris-rich ones, then adjusted for the star's metallicity, age, companions, Galactic population and activity. A companion star removes templates whose orbits it would not allow, using the stability limits of Holman and Wiegert [6].

## 4. The blueprint

The template lays out a list of orbital slots, each an orbital distance, by its own spacing rule: resonant period ratios for chains, a near-constant distance ratio for geometric systems, and so on. Each slot is labelled with its zone and filled by drawing a planet type from that template's table for that zone, so a cool-zone slot in a Sol-like template is likely to hold a giant and a torch-zone slot a barren rock or a lava world.

Two further steps adjust the draw. **Disc chemistry**: the star's composition stands in for the composition of the disc its planets formed from. Where carbon outnumbers oxygen (C/O above 1) carbon planets become five times likelier and silicate worlds less so; an iron-rich disc favours iron planets. **Temperature guards**: every slot's equilibrium temperature is checked against the type drawn for it. An ice world or subsurface-ocean world above 400 K becomes barren rock, or a lava world above 1,800 K; a volcanic world above 1,200 K and a barren one above 2,000 K become lava worlds.

## 5. Physics

Each planet then goes to the physics engine for its type, which computes the full property set: mass and radius, surface gravity, atmosphere and pressure, albedo, day and night temperatures, rotation, magnetic field and the rest. An engine can find that the planet it was handed cannot exist as labelled, and send it back with a new type. A greenhouse world that turns out cool enough for water to rain becomes a temperate world; a rocky world whose surface melts becomes a lava world; an ocean that freezes over becomes a [subsurface ocean world](https://paxabyssi.com/wiki/Subsurface_ocean_world.md). Up to five such passes are allowed. Throughout, the engines keep the orbital distance the template gave, so a resonant chain stays resonant. A final pass rerolls look-alikes so that two planets in one system do not wear the same surface.

## 6. Moons, rings and belts

Moons are added per planet type. Hot giants close to their stars get none, cold gas giants typically get three to eight, and rocky planets zero to three; they are spaced outward from just beyond the planet's Roche limit and kept within a third of its Hill radius (see [Natural satellite](https://paxabyssi.com/wiki/Natural_satellite.md) and [Orbit](https://paxabyssi.com/wiki/Orbit.md)). Giant planets may get rings, placed inside the Roche limit for icy grains, where a moon could not hold together.

Asteroid belts follow the giants. A belt between the star and its innermost giant is placed where that giant's resonances clear and stir the orbits, between its 4:1 and 2:1 mean-motion resonances. Kepler's third law puts those at

$$
\frac{a_{4:1}}{a_\mathrm{giant}} = \left(\tfrac{1}{4}\right)^{2/3} = 0.397, \qquad \frac{a_{2:1}}{a_\mathrm{giant}} = \left(\tfrac{1}{2}\right)^{2/3} = 0.630,
$$

which for Jupiter at 5.20 AU gives about 2.06 to 3.28 AU, the edges of the real main belt. Outer belts like the Kuiper belt, and Trojan swarms at a planet's leading and trailing Lagrange points, are added with set probabilities (see [Asteroid belt](https://paxabyssi.com/wiki/Asteroid_belt.md)).

## 7. Orbits and time

Each body receives six Keplerian orbital elements, and its position is solved for the game's reference date, 1 January 2538. The whole system is written to a file that the game reads; from then on the game moves every body along its orbit on every simulation tick (see [Orbit](https://paxabyssi.com/wiki/Orbit.md)). No N-body integration is done, so orbits do not perturb one another or evolve over time.

> **A worked example: Gliese 702.1**
>
> Gliese 702.1 (HYG 88419) is a real G1 V star a little hotter and brighter than the Sun; the sim's star data give it 5,928 K, 1.04 solar masses and 1.13 solar luminosities. Its planets are the sim's invention: the star drew the geometric-spacing template. For a star of 1.04 solar masses the spacing rule gives a ratio of $1.4 + 0.3\log_{10}(1.14) = 1.42$, varied by up to 10 per cent, and the six planets landed at 0.25, 0.34, 0.48, 0.71, 1.08 and 1.39 AU, with orbital periods of 45, 72, 118, 214, 402 and 587 days. From the inside out they are a hot, clouded arid world, two thin-aired arid worlds, a barren rock, a dry temperate world and a temperate super-Earth. With $\sqrt{L} = 1.06$, the fifth planet at 1.08 AU sits just inside the temperate zone's inner edge and has a zero-albedo equilibrium temperature of 277 K.

## Known exoplanet systems

For the 653 catalogue stars with confirmed exoplanets, 928 planets in all in the sim's cross-match with the NASA Exoplanet Archive [7], the pipeline keeps the real planets at their measured orbits. Where a planet's radius is unmeasured it is estimated from its mass with the empirical mass-radius relation of Chen and Kipping [8], and its type follows from its mass and temperature. The template is chosen to match the known planets, and the sim adds generated planets only in the gaps the surveys could not have seen. A star card in the game keeps the two apart: known planets and generated planets are reported separately.

## Where the sim simplifies

- **Templates, not formation.** Planets are placed by templates distilled from survey statistics. The sim does not simulate a disc, planet growth or migration; migration is represented only by which templates exist and how often they are drawn.
- **Snow lines from today's star.** Real snow lines were set by the temperature of the gas disc, which is heated by the disc's own accretion as well as by starlight, and they moved as the disc evolved [9]. The sim scales them from the star's present luminosity. For evolved stars, whose luminosity may have risen a hundredfold since their planets formed, the zones are those of the star as it is now.
- **Composition from the star.** A disc's local chemistry can differ from its star's, and the star's metallicity and element ratios stand in for it.
- **Fixed orbits.** Orbits are two-body Keplerian ellipses; no secular evolution, no scattering after generation.
- **Weights under revision.** The template weights are editorial choices informed by the literature, and some are known to need recalibration, for example the strength of the link between a star's metallicity and its chance of hosting giants [10].

> **In Pax Abyssi**
>
> The generator is the one the original simulation used, run from the game's tools before play, never while you fly: Python writes a system file per star, the game reads the files. As of 25 September 2026, 5,160 stars have system files, most of them the naked-eye stars of the in-game sky; 2,188 of those systems have planets, 8,751 planets and 7,495 moons in all, and 971 contain at least one planet scored as potentially habitable. A check regenerates every file and confirms it matches byte for byte, so a system you visit is the same on every machine and every run. Sol is the exception: its planets and 28 moons are built from measured orbits, not generated.

## See also

- [Planet occurrence](https://paxabyssi.com/wiki/Planet_occurrence.md)
- [Planetary system archetypes](https://paxabyssi.com/wiki/Planetary_system_archetypes.md)
- [Star catalogue](https://paxabyssi.com/wiki/Star_catalogue.md)
- [Orbit](https://paxabyssi.com/wiki/Orbit.md)
- [Natural satellite](https://paxabyssi.com/wiki/Natural_satellite.md)
- [Asteroid belt](https://paxabyssi.com/wiki/Asteroid_belt.md)
- [Habitable zone](https://paxabyssi.com/wiki/Habitable_zone.md)
- [Planet classification](https://paxabyssi.com/wiki/Planet_classification.md)
- [Science in Pax Abyssi](https://paxabyssi.com/wiki/Science_in_Pax_Abyssi.md)
- [Sol](https://paxabyssi.com/wiki/Sol.md)

## References

1. Ballesteros, F. J. (2012). New insights into black bodies. EPL (Europhysics Letters) 97, 34008. <https://doi.org/10.1209/0295-5075/97/34008>
2. Pecaut, M. J. and Mamajek, E. E. (2013). Intrinsic Colors, Temperatures, and Bolometric Corrections of Pre-main-sequence Stars. The Astrophysical Journal Supplement Series 208, 9. <https://doi.org/10.1088/0067-0049/208/1/9>
3. Offner, S. S. R. et al. (2023). The Origin and Evolution of Multiple Star Systems. Protostars and Planets VII. <https://arxiv.org/abs/2203.10066>
4. Moe, M. and Di Stefano, R. (2017). Mind Your Ps and Qs: The Interrelation between Period (P) and Mass-ratio (Q) Distributions of Binary Stars. The Astrophysical Journal Supplement Series 230, 15. <https://doi.org/10.3847/1538-4365/aa6fb6>
5. Hayashi, C. (1981). Structure of the Solar Nebula, Growth and Decay of Magnetic Fields and Effects of Magnetic and Turbulent Viscosities on the Nebula. Progress of Theoretical Physics Supplement 70, 35-53. <https://doi.org/10.1143/PTPS.70.35>
6. Holman, M. J. and Wiegert, P. A. (1999). Long-Term Stability of Planets in Binary Systems. The Astronomical Journal 117, 621-628. <https://doi.org/10.1086/300695>
7. NASA Exoplanet Archive. NASA Exoplanet Archive. NASA Exoplanet Science Institute, Caltech/IPAC. <https://exoplanetarchive.ipac.caltech.edu/>
8. Chen, J. and Kipping, D. (2017). Probabilistic Forecasting of the Masses and Radii of Other Worlds. The Astrophysical Journal 834, 17. <https://doi.org/10.3847/1538-4357/834/1/17>
9. Oka, A., Nakamoto, T. and Ida, S. (2011). Evolution of Snow Line in Optically Thick Protoplanetary Disks: Effects of Water Ice Opacity and Dust Grain Size. The Astrophysical Journal 738, 141. <https://doi.org/10.1088/0004-637X/738/2/141>
10. Fischer, D. A. and Valenti, J. (2005). The Planet-Metallicity Correlation. The Astrophysical Journal 622, 1102-1117. <https://doi.org/10.1086/428383>

## Infobox (sim process)

| Field | Value |
| --- | --- |
| Docs | S:SOLAR_SYSTEMS/NEW_GENERATION_FLOW.md, S:SOLAR_SYSTEMS/README.md, K:galaxy/GENERATED_SYSTEMS.md |
| Name | Star system generation |
| Inputs | spectral type, luminosity, mass, effective temperature, metallicity, age, companion stars, Galactic population, known exoplanets |
| Stages | 1. The star: catalogue row, derived stellar parameters, companion stars, snow lines, 2. Planets or none: one probability, P(planets), 3. The template: one of 24 planetary system archetypes, 4. The blueprint: orbital slots, temperature zones, planet types, disc chemistry, temperature guards, 5. Physics: a per-type engine computes each planet and may reclassify it (up to 5 attempts), 6. Moons, rings and belts, 7. Orbital elements and positions at the game date, written to a system file |
| Status | BUILT |
| Outputs | planets with type, subtype, orbit, mass, radius, atmosphere and temperatures, moons, rings, asteroid belts, habitability scores |
| Game date | 2538-01-01 |
| Generator | S/code:modules_colony/planet_physics_runner.py; S/code:utils/archetype_generators/; S/code:utils/planet_physics/dispatcher.py; S/code:utils/moon_physics/dispatcher.py |
| Determinism | The same catalogue star and seed give an identical system on every run; the committed system files regenerate byte for byte. |
| Equilibrium temperature | T_eq = 279 K (1 - A)^(1/4) (L / L_sun)^(1/4) (a / 1 AU)^(-1/2) |

## Related pages

- [Sol](https://paxabyssi.com/wiki/Sol.md): The Sun and its planetary system, the one star system in Pax Abyssi built entirely from measurement, with nine planets including Pluto and 28 moons on orbits fitted to JPL ephemerides.
- [Natural satellite](https://paxabyssi.com/wiki/Natural_satellite.md): A moon, a natural body orbiting a planet, dwarf planet or asteroid. The Solar System's planets have more than 430 known moons, from kilometre-sized captured fragments to Ganymede, which is larger than Mercury.
- [Habitable zone](https://paxabyssi.com/wiki/Habitable_zone.md): The band of distances from a star where an Earth-like planet could keep liquid water on its surface, bounded by the runaway greenhouse on the inside and the maximum greenhouse on the outside.
- [Planet classification](https://paxabyssi.com/wiki/Planet_classification.md): How astronomers sort planets by size, mass, temperature and composition, and how Pax Abyssi files every world it generates under one of 37 coded types.
- [Asteroid belt](https://paxabyssi.com/wiki/Asteroid_belt.md): A ring of rocky and icy bodies left over from planet formation, shaped by the resonances of nearby giant planets. The Sun's Main Belt, between Mars and Jupiter, holds about 3 percent of the Moon's mass spread through a volume so large that its asteroids are millions of kilometres apart.
- [Orbit](https://paxabyssi.com/wiki/Orbit.md): The path one body follows around another under gravity. For two bodies alone it is an ellipse, fixed by Kepler's three laws and described by six orbital elements.

Categories: [Reference](https://paxabyssi.com/wiki/Category:Reference.md), [Planetary systems](https://paxabyssi.com/wiki/Category:Planetary_systems.md), [How the sim works](https://paxabyssi.com/wiki/Category:How_the_sim_works.md)
