Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
So, in ruby I've put together a little program that pumps out initializers. So, to show that in action, this is a snippet of code that maps any given pair of stars onto a "best fit" dummy system. It's a little messy but basically just compares the letter classification of the relevant stars to match it to a map icon (if anyone's interested, I'd gladly share the ruby code):
Then the relevant bit of the printout function that spits this out in a generator uses the "init_effect = { change_pc = pc_ " + whatever + "_star }" workaround.
Anyways, using the dummy system I've managed to spit out thousand-star sets that seem to be working ok.
Compact binary = https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3416221661
Distant Binary = https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3416221649
Compact Trinary (3 stars, 1 planetary disc) = https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3416221670
Isoceles Trinary (3 stars, 3 planetary discs) = https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3416221675
Wanderer Trinary (Binary stars (2 stars, 1 disc) captured a smaller transiting single (1 star, 1 disc): https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3416221688
Hyper Trinary (One large star has captured a transiting binary system (primary outweights both captured stars): https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=3416221696
I'm fond of the idea of "Binaries Squared" - two binary systems that have become gravitationally bound to one another. So I might add that, though there won't be much screen real estate left for planets if I try it. I'm not really sure that compact trinaries would be stable enough to last - that seems implausible to me. But they're certainly dramatic.
I don't treat pulsars, black holes, white dwarfs, etc. as separate systems to be picked, but rather assign an age to the system and run an analysis to see if it's still on the main sequence or not. So in that sense, you can generate more or fewer of them by pushing the age of the galaxy up or down.
I'm not trying to be novel so much as to share a shortcut I've figured out to accomplishing a task at scale. The thought is to try and share the parts that someone else might want to do too, and spare them the gruntwork of doing it themselves.
As for a better representation of the galaxy, I'm more mitigated because we never have access to a whole galaxy in-game, in all its (realistic) variety. We have access to a galaxy's network of hyperlanes and other FTL shortcuts. The rest depends on what sci-fi or pseudo-realistic assumptions the designer (or the modder) makes about the generation of natural wormholes and hyperlanes on the edge of a star's gravitational pit.
If, say, you decide that the emergence of hyperlanes is facilitated by a greater mass at the center of a system, then hypergiants should be over-represented, and dwarf stars should be under-represented. If you decide that some exotic effects facilitate the formation of hyperlanes, then exotic stars (neutron stars, pulsars, magnestars, black holes) should be over-represented. Etc.
Then, independently from having an artificailly diverse galaxy (for fun, I guess), an "artificial" balance pass has to be made so that star systems with suitable life conditions are somewhat still represented in this model of a "FTL-enabled" realistic galaxy.
This is why, I think, red dwarves and other cold dwarf stars are under-represented in vanilla Stellaris.
You're definitely right that red stars are under-represented. Though, a Milky-Way sized galaxy has a "true population" between 100 billion and 400 billion stars (the current level of precision by which we even know ourselves). So to arbitrarily take 1,000 stars from that number and use them for a map... you could easily just wave a hand and say it had something to do with whatever selection criterion you want to use.
Before I started up Stellaris, I'd developed a model that generates galaxies. It was that interest which led several people to point me in Stellaris' direction. It's a very coarse tool, but I love the concept that I could pump out a generated region and "explore" it through Stellaris. I'm thinking of linking anomaly creation to initializer creation when I do a run - so things like atmospheric composition and life forms present would be presentable within game. You'd survey, then the survey results would prompt an anomaly which, if completed, would provide complete specs for the world.
Already the galaxy generator can answer questions for me about things like star populations and elemental abundances at any given age. So if you enter in the Milky Way's specs (1 trillion solar masses, 13.6 billion years of age) you get a starcount like this:
It also generates abundance rates of various elements depending on how old the galaxy is. Anything below the level of iron is generated through normal stellar fusion. Above that number, I smash neutron stars together. So like... in a young galaxy ... elements like carbon and oxygen would be in fairly short supply:
Meanwhile in an old galaxy ... say twice our own's age, the same elements would be available by well over an entire order of magnitude.
As I've been tweaking it to produce stellaris-formatted output, I've been really enjoying the questions it can already answer for me. One world it generated the other day had an "upside-down ecosystem." It was hot - over 750 degrees, and had 8x the atmospheric pressure of Earth. This caused a lot of gaseous carbohydrates to bond with sodium and rise up into the lower atmosphere, where microbacteria would extract the hydrocarbons and secrete liquid sodium, that rained back onto the surface, dissolving a largely limestone crust of calcium oxide. It was sort of a reverse-rain cycle and just.... amazing to contemplate and not something I'd have come up with on my own.
I'm not quite sure how well it would ever integrate into the game itself. I find myself chopping out ever more and ever larger chunks of the game code. Fallen empires and marauders and prescripted systems are largely all gone now. Though once I get the export function fully working (already I can generate a 1,000 batch run without generating error log entries), I could theoretically batch-export any kind of galaxy I wanted. So if I wanted to select for exotic life (as developed through the model) I could do that. Or sentient life.
It's never really going to work as a "mod" though - first, playability isn't really high on my priority list, and I've locked myself onto a stable back version for development. There's no way I could ever hope to keep up with the release schedule of this game, and honestly very few of the features added since I picked the thing up seem worth playing. But it would be nice if the things I do discover along the way could be of some use to anyone else. And I think maybe modders (or aspiring modders) might be the most likely to appreciate it. And even if not... hehehe. Then at least I can use my own forum posts as a later reference ... like jotting astrophysics notes on the bathroom wall at your neighborhood bar.
EDIT: Made some light edits of the code outputs for legibility
Some mods also focus on playing inside limited star sectors or galactic quadrants. This could perhaps be interesting to adapt your mod, especially if you want a realistic star distribution in a radial direction (instead of sampling a whole, large galaxy). Moreover, if I understand well, most of the named visible stars are ridiculously close to Earth, whereas Stellaris use an important batch of them, alogside fantasy names, to name random stars throughout the galaxy (Real Space mod has a quite large "realistic" Sol sector, though).
Yeah, I'm leaning more towards the opposite direction. At this point I've figured out how to generate a map with no hyperlanes at all and how to use events to draw the hyperlanes. I've also pushed the starting tech tree up to "tier 10" and am working my way through a "primitive tech tree" that leads up to an ordinary level of game start.
What I'm thinking is that rather than go with the hyperlane network model, I'd make it so that jump drives are an early tech but limited to science ships and constructors. A constructor would then be able to build a hyper-relay which would no longer have its current effect, but would instead "open" a hyperlane tunnel to any other system with a relay within some given map range. If I'm right, that should transform the game so there's a long stretch of peaceful exploration available, and then gradually through development of a hyperlane network, empires would begin to emerge. Opening the hyperlane between two systems would allow the travel of warships. (Colonizers are a bit of an open question at this point).
Getting the AI to cooperate with my schemes has been a bit of a struggle. It's a frustrating blend of moddable incentives merged with an opaque set of "modules" that we don't have access to. But, hey... life's a journey not a destination.
I've also developed my own initializer for Sol - it has a double-sized Earth (I want invasions of species homeworlds to be very very difficult, so at least for now I've got them set to size 40 and nearly every pop spawns defensive armies). It's added Pluto as a planet, not because I think it was wronged (I kinda think its demotion was warranted), but just cuz we have so much rich data. I also made some tweaks like thickening the oort cloud, giving Mars some asteroid moons, stuff like that. Mostly I was just using it as an exercise to get the hang of system-drawing - max dimensions, max number of celestial objects you can draw before their orbits start to vanish, stuff like that. Cutting the planet sizes back in half would generally set it to something more like the standard Stellaris configuration: