Notifications
Clear all

To all SSC Station occupants

Thank you for the donations over the past year (2024), it is much appreciated. I am still trying to figure out how to migrate the forums to another community software (probably phpbb) but in the meantime I have updated the forum software to the latest version. SSC has been around a while so their is some very long time members here still using the site, thanks for making SSC home and sorry I haven't been as vocal as I should be in the forums I will try to improve my posting frequency.

Thank you again to all of the members that do take the time to donate a little, it helps keep this station functioning on the outer reaches of space.

-D1-

Updated Galaxy Simulation - 'Hephestos' preview

(@arghouse)
Active Member

Note: copy of my thread on the dev forum, I don't think everybody here visits there.

So as some folks might be aware (especially those on discord), I have been working on a major overhaul of Pioneer's galaxy simulation in the aims of bringing it closer to Elite Dangerous and Space Engine. What started as a small project to divide Brown Dwarf class into Y, T & L has branched into something much more extensive. Features include:

New stars:
-New luminosity classes, they are VI (subdwarfs), IV (subgiants) & II (Bright giants).
-R spectra, a letter given by me to theorized Pop III survivors (ie 'R-emnant'), they range from Subdwarfs to Giants and are considerably lower in mass compared to their more massive siblings that died young. They are often mistken for M or K stars due to metallic doping in their photospheres, making them look similar in some regards.
-N spectra, high mass compact stars, including primarily Neutron stars, rare Neutron-White Dwarf hybrids, rare Quantum (Quark) stars and rarest of them all, Exotic stars (ie Preon star).
-Carbon giants: CH, CHd, CJ, CR, CN
-S-Process giants: MS, CS, S
-Redefined Wolf Rayets: rare high mass W, WC, WN, WNC, WO
-Expanded white dwarfs: DA, DB, DC, DO, DQ, DZ, DAB, DAO, DAZ, DBZ, DBQ, DOV, DAV, DBV, DQV, DZV
-Expanded black holes: low mass & high mass primordial black holes, low mass and high mass stellar black holes, 3 classes of Intermediate mass black holes, and of course the Supermassive.
-The brown dwarfs: Y, T & L (with both V & VI variants)
-Rogue Giants & Planets (in the works), there are predicted to be up to a quadrillion rogue planets in our galaxy, the simulation generates only the smallest portion of them, if we were to generate every star and rogue planet in the galaxy... we would need a max star count per sector up to 20750+ (that just covering the rogue gas giants). I think generating only rogue planets that have been 'catalogued' will do, and boosting the max star number up to 30 will do to compensate.
-More realistic colors with known vanilla stars (Sol is now mostly whitish).

The new stars of course come with a chance driven distribution, based on what statistics I could gather from Simbad, the HYG catalogue and ED-Astro.
How is the new sector generator setup up.
-Star selection now runs in a for loop that runs through m_numStars, all stars in a system are now subject to the same sector generation rules. Note, at this point the for loop is entirely in the prototype stage, I'm working on pseudocode to condense the 2000 lines of code down to 100 with the same amount of generation work the current code builds upon.

-works with multiple nested int32 dice, nested conditional statements and extensive goto-labelling.
-Distance restrictions for various stars, limiting more massive/luminous stars within proximity of Sol in favour of less massive/luminous ones. This has allowed for the custom-only box to be turned off.

Also included:
-More languages for name generation, including Aboriginee, Maori, Quechan, Xhosa, Kurmanji, Persian, Korean, Chinese, Spanish, French and
'Westernees' (a hybrid of various western european phonetics). An improved chance system as well for name selection that favours number of
speakers.
-Some more languages in Hybrid, including Aurek-Besh & Sebacean
-mass, radius and temperature integers in StarType have been upgraded to long long integers, the struct now includes denominators for more
precise calculation of mass and radius (is what has made Neutron stars and lower mass brown dwarfs possible).
-Better enum names for the star types, for example instead of typing in 'TYPE_STAR_G_HYPER_GIANT/STAR_G_HYPER_GIANT', all you have to
type in is the spectra and luminosity type 'TYPE_STAR_G_0/STAR_G_0'.
-A new high definition galaxy heightmap, credit goes to Kevin Jardine, the creator of Galaxy Map for this one, I have just cleaned it up for use as
a heightmap.
in the works:
-Age, star populations
-Spectra return values (not fully functioning yet)
-Improved population simulation, ie distribution of people, will be more handy once there are more city and station types (along with the assets).
-System for identifying terraformable worlds, first version was a bit too code heavy.
What I am also aiming for:
-implementation of star chances in various parts of the galaxy, ie the thin disc, thick disc, halo, core and bulge.
-implementation of proto-stars when I get round to Nebulae
-galactic locality and stellar age can effect metallicity, ie expect better mining toward the galactic interior.
-introduction of various variable stars, including UV stars once there is working code for atmospheric extinction and simple
magnetospheres/stellar winds.
-Implement sudarsky system for Gas and Ice giants.
Current aim:
-Get the current build working with both the new for loop and multi star systems of up to 8 stars (Octinaries, very very very rare).
-Upload to my Pioneer fork for community testing and integration into the July release.

-Update on the new for loop in SectorGenerator, it is being debugged, I have a work around to weed out sneaky hypergiants and wolf rayets from nearby sol until I am ready to merge the new star-system stack buffer (it uses pointer, I am becoming familiar with their use) and my mark 3 sector generator.
Screenshots of the mostly working build:

[img] [/img]
^- A T Subdwarf star
[img] [/img]
^- An M Subgiant star
[img] [/img]
^- Example of binary rogue giant system
[img] [/img]
^- Y Subdwarf star (actually a prototype of a Rogue giant, but looked too much like a Y type)
[img] [/img]
^- Yet another Rogue giant that looked too much like a Y Dwarf
[img] [/img]
^-An actual Y Dwarf
[img] [/img]
^- A T Dwarf
[img] [/img]
^- Example of a Neutron system, it's so small you can't even see it in system, some fx will probs be needed to help with that.
[img] [/img]
^- Example of the new sector generation rules and the turned-off custom only box.

[img] [/img]

^-work in progress galaxy heightmap, credit to Kevin Jardine.

This topic was modified 4 weeks ago by ARGHouse
Quote
Topic starter Posted : February 25, 2025 02:22
impaktor
(@impaktor)
Pioneer Moderator

Also cross-posting what I wrote on dev forum:

Below comments assuming you're aiming to get the changes into master, if this is a stand alone mod, then do as you wish.

I assume rouge planets are those without solar system. Feels like they would be very difficult to find for the player - but allowing them in code would sure make for some interesting missions, to secret bases in the depth of space, or some planet rich with resources that as been lost

Aboriginee, Maori, Quechan, Xhosa, Kurmanji, ... Some more languages in Hybrid

As for name generation, although I'm the initiator of the culture-stuff - my aim was for each place to "feel" a special way, e.g. Chinese names for one base/city or planet, German names for another, etc. When adding some obscure culture, that no one will recognize as being one and the same (i.e. recognizing that name X_1 and X_2 both belong to that rare culture), the utility is lower. Would have to be a very rare culture then.

Chinese, Spanish, French

We already have these, and I intentionally limited the names list to top 100-ish male and female names, such that you learn to recognize the names. What does your change add, just more names?

What I am also aiming for

Do you have a branch? If you want to have this included in the game I would strongly advice you to split up your changes in different pull requests (draft if not done), such that we can give feedback on the code, and do so as soon as possible, while you have it fresh in mind, and motivation is high, before starting on the next thing to implement. I suspect you're touching a lot of code that sturnclaw recently re-wrote, meaning there might be a good reason for the current implementation in master.

You're mission now should be to make your changes as easy to review as possible, i.e. not a single pull request with 100 files modified, that are all over the place and not related (e.g. culture additions is one PR)

ReplyQuote
Posted : February 27, 2025 12:33