Another System Generator: As Above So Below

New update dropped this afternoon. This is v0.9.3. It had more in it then I originally intended.

An edited summary of changes this version:

1. **Mongoose Editable System Fields:** Many Mongoose system fields now inline-editable. Edited fields are highlighted and persist in the workspace JSON. This includes the ability to add names to each world and moon.
NOTE: Some fields, like atmosphere, are still not editable and you still cannot add or delete worlds or moons. I would like to eventually allow a user completely build out a new system by hand with full control, so I still have it on the list.
2. **Corrected Stellar Generation Tables:** Star physical properties (mass, diameter, surface temperature) are now derived from accurate per-luminosity-class tables with subtype anchors, rather than a single averaged value per spectral type. Giant, dwarf, and subdwarf stars now have physically distinct and correct statistics. NOTE: White Dwarf and Brown Dwarf stars have one simple average used for their key stellar information. Thank you to @Dodo98
3. **Fixed Missing Companion Rolls for Primary Star:** Previously, only secondary stars (Close, Near, Far) received a companion roll. The primary star now also rolls for a companion, matching the full rules requirement that every star in the system gets a companion check. Thank you to @Dodo98
4. **Improved HZCO calculations**
5. **Accordion Display Polish:** Cleaned display and added atmospheric pressure to UI.
6. **Octagon Filter Symbol:** Added an octagon as a new shape option in the Advanced Filter styling panel.
7. **Gas Giant Ring Visibility:** The ring symbol on gas giants is now 2–3× thicker, making it clearly visible when zoomed out to subsector or sector scale.


View attachment 7950

Our next set of releases (v0.10.x) will center on revamping our routes/filters/customization and metadata. I'll make another post tomorrow with my thoughts on my goals for that series and would enjoy hearing anyone's thoughts on what improvements they would like to see.

In the meantime please do continue letting me know how you use this program (I love the pics) and the issues you find.
Nice update! But I already have another bug report. ;) The DM for Gas Giant Quantity is incorrect. It should be +1 instead of +2. And I'm a little confused by how the rolls for Terrestrial Planets are displayed. For one thing, it’s not clear from the line “Terrestrial Quantity: Rolled 2D6 for 8” whether -2 has already been subtracted or not. And then I’m a bit confused by the line “Add D3: Rolled 1D for 4.” If, as described in the rules, a D3-1 had been rolled here, the result couldn’t possibly be 4.

And I have one more question. To what extent does the generator take the system spread into account when placing the orbits? I’ve put together an Excel file that allows me, among other things, to calculate orbit placement according to the rules, and I consistently get different results than the generator. So I suspect there might be a bug here, or that you haven't implemented this rule.
 

Attachments

  • Screenshot 2026-04-19 230833.png
    Screenshot 2026-04-19 230833.png
    5.2 KB · Views: 3
  • Screenshot 2026-04-19 231203.png
    Screenshot 2026-04-19 231203.png
    3.4 KB · Views: 5
Nice update! But I already have another bug report. ;)
I built these logs specifically for the people who cared enough. I am thrilled someone is looking at them and challenging things. At work we had entire QA teams whose jobs it was to find everything little thing. Here I have to rely on the kindness of strangers. My expectation is there are still dozens of bugs, but as we knock them off one by one they get smaller and less impactful.

So let's knock these off in patch v0.9.3.1.

The DM for Gas Giant Quantity is incorrect. It should be +1 instead of +2.
Agreed. Single Class V (main sequence) stars should be +1.

I see the problem (the table I loaded into rules was not being used). This has been updated in v0.9.3.1.

And I'm a little confused by how the rolls for Terrestrial Planets are displayed. For one thing, it’s not clear from the line “Terrestrial Quantity: Rolled 2D6 for 8” whether -2 has already been subtracted or not. And then I’m a bit confused by the line “Add D3: Rolled 1D for 4.” If, as described in the rules, a D3-1 had been rolled here, the result couldn’t possibly be 4.

That logging is confusing and unacceptable. I have updated it in v0.9.3.1.

This is what it was trying to say:
The "Terrestrial Quantity: 8" is the raw 2D6 roll; a -2 is applied silently in code afterward (giving a base of 6) and isn't shown. The "Add D3: 4" is the raw 1D6 before D3 conversion — ceil(4/2) - 1 = 1 is the actual value added. The final count is 7.

This is how it should work now in v0.9.3.1:

Terrestrial Quantity: Rolled 2D6 for 8 - 2 = 6
DM (Fixed): -2
Base count: 6 (>= 3, adding D3-1 bonus worlds)
Bonus Worlds (D3-1): Rolled 1D3 for 2 - 1 = 1
Terrestrial Planets: 7

And I have one more question. To what extent does the generator take the system spread into account when placing the orbits? I’ve put together an Excel file that allows me, among other things, to calculate orbit placement according to the rules, and I consistently get different results than the generator. So I suspect there might be a bug here, or that you haven't implemented this rule.
An excel spreadsheet on system spread! We are cut from the same cloth. You are right, I do see a problem looking at it now and I want to resolve it. I am going to DM you so we can really get into the weeds.
 
Back
Top