Confused about procedural universe

I understand the basics, the program has a defined set of rules and randomly creates systems. My question is this..

Are all systems already created or are they created live as they are first discovered and added to the map?
 
All the systems exist as procedural code and are created during the hyperspace jump sequence, unlike Freelancer which had several pages of code describing the system
 
All the systems exist as procedural code and are created during the hyperspace jump sequence, unlike Freelancer which had several pages of code describing the system

Read what Mossfoot linked. I thought it was as you describe too. But it isn't. :)
 
Reading that article, a question occurred to me. Are all stellar bodies now considered essentially stable for the duration of the game, or are they on their own individual timers?

I know the statistical likelihood of a supernova occurring at a system currently occupied by a player is vanishingly small, but it'd be cool if it were at least a possibility - or if we could locate a recently-formed black hole by seeing the light from a supernova several hundred light years away, and then tracking the event back to the originating star.
 
That article is fascinating and certainly deals with the word "randomly" in the OP's first sentence but it doesn't really answer the second. The makeup of individual systems is clearly stored somewhere (so it can be called up in the System View fairly promptly - surely it's not running the Stellar Forge algorithm every time you do that?) but the question is, is this data already stored for all 400 billion systems (almost certainly not) or is it generated (and then stored) on demand, as and when somebody first discovers it? If the latter the question arises, will this database scale in the years to come when there are millions of discovered systems rather than however many there are currently?
 
Last edited:
Reading that article, a question occurred to me. Are all stellar bodies now considered essentially stable for the duration of the game, or are they on their own individual timers?

I know the statistical likelihood of a supernova occurring at a system currently occupied by a player is vanishingly small, but it'd be cool if it were at least a possibility - or if we could locate a recently-formed black hole by seeing the light from a supernova several hundred light years away, and then tracking the event back to the originating star.

I thought the same thing, except there's no accounting for relativity in the game unfortunately. Note that the nebulae we come across look exactly the same regardless of how close we get, which shouldn't happen.
 
That article is fascinating and certainly deals with the word "randomly" in the OP's first sentence but it doesn't really answer the second. The makeup of individual systems is clearly stored somewhere (so it can be called up in the System View fairly promptly - surely it's not running the Stellar Forge algorithm every time you do that?) but the question is, is this data already stored for all 400 billion systems (almost certainly not) or is it generated (and then stored) on demand, as and when somebody first discovers it? If the latter the question arises, will this database scale in the years to come when there are millions of discovered systems rather than however many there are currently?
It is, in fact, just generating it on the fly whenever you look at the system view. While that newsletter presents quite a poetic view of what's happening, there's no need for masses of difficult simulation when a straightforward formula can tell you the final distribution. Details of how the mass gets divided up into bodies and so forth, are driven by a pseudo-random number generator.
 
Last edited:
That article is fascinating and certainly deals with the word "randomly" in the OP's first sentence but it doesn't really answer the second. The makeup of individual systems is clearly stored somewhere (so it can be called up in the System View fairly promptly - surely it's not running the Stellar Forge algorithm every time you do that?) but the question is, is this data already stored for all 400 billion systems (almost certainly not) or is it generated (and then stored) on demand, as and when somebody first discovers it? If the latter the question arises, will this database scale in the years to come when there are millions of discovered systems rather than however many there are currently?

The data for the system is generated every time you look it up in the system map. Just like Pi always gives you the same numbers you will always get the same data from the system in question. FD has the ability to override this data though which makes it possible to add in existing known systems with specific attributes. This is also what happens when we see an explorers name attached to a planet. First the system is generated and then the name is placed on top.

Keep in mind that I'm talking about "static data" like orbits, mass of planets, planet types, composition and so on. Things like trade, influence and other human activities in populated space is still handled by a database and the background simulation affecting these values with players activities added on top.

Oh and in regards to the OP.

Procedural generation is NOT random...it's pretty much the opposite. It can appear as random just like the decimals of Pi, but it's actually not since it will always generated the exact same numbers. Procedural generation is as random as: 4x2=8 In other words...not random at all. ;)

EDIT: Aaaaaand semi-ninjad! :D
 
Last edited:
It is, in fact, just generating it on the fly whenever you look at the system view. While that newsletter presents quite a poetic view of what's happening, there's no need for masses of difficult simulation when a straightforward formula can tell you the final distribution. Details of how the mass gets divided up into bodies and so forth, are driven by a pseudo-random number generator.

But, of course, because they seed each system with the same number to seed the (pseudo) random number generator, they always get the same result for that system. The point is, they do not store the generated system, just recalculate it when needed.
 
If every system map in the game took 1kb to store, you would end up with 400tb of data.

if you only cache the systems you've visited then you'll have a few megabytes at most, and then only if you're a super explorer... otherwise the cached data would be less than a megabyte for most people...
 
if you only cache the systems you've visited then you'll have a few megabytes at most, and then only if you're a super explorer... otherwise the cached data would be less than a megabyte for most people...

But you don't need it really. Why cache it if you can produce the map on the fly in seconds? Also, why cache it, when it is possible to have overrides that change your cache like faction control, discovered tags etc (which means that you would have to load again each time you got in to check for changes)?
 
Last edited:
I find this stuff fascinating!

So would it be a fair assumption that each time a system is generated it will be the same, as in the galaxy would be static and unchanging?

Or would the rate of change be too slow anyways to see any real difference over time?

Cheers
 
There should be no change at all unless a feature has been overwritten manually by the devs or as the result of a player action.

Think of the mechanical side of PG as being like an infinitely long set of pre-rolled dice values stored in a spreadsheet. Each value can be directly accessed by looking up its position without having to go through every other value, and the value itself is not stored, but is the result of a formula in the spreadsheet cell.

The value is a product of its position, an algorithm, and a seed value. It can be as complex as necessary, but the value for Planet X, stored in cell 134862:77569 will always be the same.

That's a very simplistic way of looking at it, but fundamentally correct. Theoretically FD could generate planet surfaces down to the detail of individual blades of grass, and no matter who went to the planet at what time, if they went to the same place they would see precisely the same blade of grass.

What makes this all work in practice is that it is basically just math - and if there's one thing that computers excel at it's doing math REALLY fast :) The only limitations on PG are the sophistication of the algorithms, and the amount of game assets that have been created for them to reference.
 
Last edited:
Thanks Hellhawk666.

I was thinking that might be the case, but if a feature/config was overridden as you say, then I would assume it would re-roll the system (&/ surrounding systems?) based off the new values? Could one change have a ripple effect through the galaxy I wonder, or again be static or something that might happen slowly.
 
From my understanding (and this is only as an FD outsider who has played with PG in other contexts) the "value" for a system is effectively a table of many values. Some of those would be static and unmodifiable (number of planets, star type and details, for example) whereas others could be overridden with manual values (maybe "discovered by", for example) and once overridden become unmodifiable, or modifiable only in certain circumstances. We don't know what other things we might be able to do in the long run as regards leaving our virtual footprints on these systems.

So some things would be unchanging, but some details would change due to our impact, but no - the actual system would not be "re-rolled" in its entirety. One spill over effect that might be taking place is faction influence - that would be a modifiable value that could affect neighbouring systems, but I have no idea whether these values are handled by Stellar Forge, or by other modules that process stored variables for inhabited systems.
 
Back
Top Bottom