Myth busting on Stellar Forge and the generation of everything from stars to rocks.

Status
Thread Closed: Not open for further replies.
It became apparent at Lavecon that a lot of players are still under the misconception that there's some kind of database of discovered systems and worlds on a Frontier server somewhere and that when another player goes to visit these places the game client downloads this information ...

I am pretty sure "that there's some kind of database of discovered systems and worlds on a Frontier server somewhere".
Otherwise, how can the Stellar Forge (on my client) determine who discovered or mapped these systems and worlds without contacting Frontier?

My understanding is that the Stellar Forge generates both discovered and undiscovered systems.
 
I am pretty sure "that there's some kind of database of discovered systems and worlds on a Frontier server somewhere".
Otherwise, how can the Stellar Forge (on my client) determine who discovered or mapped these systems and worlds without contacting Frontier?

My understanding is that the Stellar Forge generates both discovered and undiscovered systems.
It was a bit of poor wording on the OP's part. They meant like a digital layout of the whole place saved as a 4D model or something to that effect.
 
If I got into a pub conversation about Stellar Forge, I’d ask about The Brown Dwarf Layer.

That layer of unscoopable stars a few hundred light years down.

Does it exist in our real galaxy?
 
If I got into a pub conversation about Stellar Forge, I’d ask about The Brown Dwarf Layer.

That layer of unscoopable stars a few hundred light years down.

Does it exist in our real galaxy?
I'm not sure about the brown dwarfs specifically, but there are a couple slightly offset layers of average star types resulting from previous mini galaxy mergers or the like, from what I've heard.
 
I have some questions here. I write games in various Basic languages, usually PowerBasic. I do a lot of randomization with items and terrain generation.

So in PowerBasic, you can seed the random number generator with the command:

RANDOMIZE [seed]

Generally I use "RANDOMIZE TIMER," where timer returns the number of seconds since midnight based on the local system time. Not a truly "random" number (there actually is no such thing, as OP alluded to) but it produces unknowable scrambled results each time, which is enough for my purposes.

Are you telling me that if I use, say, 51 to seed the RNG on multiple computers, that they will all generate the same sequence of numbers thereafter? I have never heard this before and it seems really unlikely given differences in hardware, etc.

Am I missing something here? It would make sense to me if the RNG stuff was handled server-side and the RESULTS passed on to the client computers, but the idea of the client machines coming to the same conclusions separately is... bizarre to contemplate.

Also, if this stuff is really happening client-side, why isn't there an offline single player mode? Who discovered what first doesn't matter much to a true solo player.
 
Last edited:
I am pretty sure "that there's some kind of database of discovered systems and worlds on a Frontier server somewhere".
Otherwise, how can the Stellar Forge (on my client) determine who discovered or mapped these systems and worlds without contacting Frontier?

My understanding is that the Stellar Forge generates both discovered and undiscovered systems.
Yeah, I was kinda describing the generation of the physical galaxy here. There are obviously lookups of things like first discovered tags, BGS state information, etc which comes from all the player affected/influenced stuff that's layered on top of this. I did mention that later on and how it explains why there is still a spike in network traffic when you jump into a system.
 
I prefer (in bash):

Code:
NUM=0; RANDOM=7864; while [ $NUM -lt 10 ]; do echo $RANDOM; NUM=$(($NUM+1)); done

Sadly, I did that without even looking anything up on the internet.

My old manager would be proud of me - that's what I think. In reality, I can hear him now complaining about shell compatibility with other types of shell and POSIX compliance.

Some people say I should get out more. Personally I should get out less. How can people play Elite if they get out more?!

Queue the pun on Linux "less is more, more or less" ;)

Talking of which, sorry, not which, I meant less, try:

Code:
NUM=0; RANDOM=7864; while [ $NUM -lt 10 ]; do echo $RANDOM; NUM=$(($NUM+1)); done | less -N

Anyway, back on topic - great post Alec. However, I still thought the explorer's name was mapped against the 'found' system via a database someplace...
 
I have some questions here. I write games in various Basic languages, usually PowerBasic. I do a lot of randomization with items and terrain generation.

So in PowerBasic, you can seed the random number generator with the command:

RANDOMIZE [seed]

Generally I use "RANDOMIZE TIMER," where timer returns the number of seconds since midnight based on the local system time. Not a truly "random" number (there actually is no such thing, as OP alluded to) but it produces unknowable scrambled results each time, which is enough for my purposes.

Are you telling me that if I use, say, 51 to seed the RNG on multiple computers, that they will all generate the same sequence of numbers thereafter? I have never heard this before and it seems really unlikely given differences in hardware, etc.

Am I missing something here? It would make sense to me if the RNG stuff was handled server-side and the RESULTS passed on to the client computers, but the idea of the client machines coming to the same conclusions separately is... bizarre to contemplate.

Also, if this stuff is really happening client-side, why isn't there an offline single player mode? Who discovered what first doesn't matter much to a true solo player.

It would depend entirely on how that randomize function is implemented in powerbasic, but of course algorithms are by their nature deterministic, so as long as both the algorithm and all the inputs stay the same, then two machines should output the same results.
 
I have some questions here. I write games in various Basic languages, usually PowerBasic. I do a lot of randomization with items and terrain generation.

So in PowerBasic, you can seed the random number generator with the command:

RANDOMIZE [seed]

Generally I use "RANDOMIZE TIMER," where timer returns the number of seconds since midnight based on the local system time. Not a truly "random" number (there actually is no such thing, as OP alluded to) but it produces unknowable scrambled results each time, which is enough for my purposes.

Are you telling me that if I use, say, 51 to seed the RNG on multiple computers, that they will all generate the same sequence of numbers thereafter? I have never heard this before and it seems really unlikely given differences in hardware, etc.

Am I missing something here? It would make sense to me if the RNG stuff was handled server-side and the RESULTS passed on to the client computers, but the idea of the client machines coming to the same conclusions separately is... bizarre to contemplate.

Also, if this stuff is really happening client-side, why isn't there an offline single player mode? Who discovered what first doesn't matter much to a true solo player.
As far as I know RNG command is based on seed generation, therefore if you provide the same seed, you'll get the same results.
Google Fibonacci numbers.

And game isn't offline single player because of two things: shared galaxy idea, and money from cosmetics
 
I have some questions here. I write games in various Basic languages, usually PowerBasic. I do a lot of randomization with items and terrain generation.

So in PowerBasic, you can seed the random number generator with the command:

RANDOMIZE [seed]

Generally I use "RANDOMIZE TIMER," where timer returns the number of seconds since midnight based on the local system time. Not a truly "random" number (there actually is no such thing, as OP alluded to) but it produces unknowable scrambled results each time, which is enough for my purposes.

Are you telling me that if I use, say, 51 to seed the RNG on multiple computers, that they will all generate the same sequence of numbers thereafter?
Yes, that's exactly what I'm saying. As I type this I'm now sat at home on my PC whereas previously I was at work on one of our linux servers. Let me just crank up bash here (incidentally, did folks know that Windows 10 now comes with linux/bash as a Windows feature you can turn on?). Anyway, here we go ...

RANDOM=7864
echo $RANDOM
16904
echo $RANDOM
8002
echo $RANDOM
16686
echo $RANDOM
14406

Tada! If anyone has access to linux then go and try it for yourself.

I have never heard this before and it seems really unlikely given differences in hardware, etc.
Pseudo random number generation isn't dependent on hardware, it's simply a formula, an equation if you like, which when run produces a sequence numbers.

Am I missing something here? It would make sense to me if the RNG stuff was handled server-side and the RESULTS passed on to the client computers, but the idea of the client machines coming to the same conclusions separately is... bizarre to contemplate.

Also, if this stuff is really happening client-side, why isn't there an offline single player mode? Who discovered what first doesn't matter much to a true solo player.
I guess Frontier would have to answer that in detail but there's a huge difference between a barren empty galaxy consisting of nothing but stars, planets and moons (wonderful tho' that is) and the living breathing galaxy we live in when we play this game.
 
Last edited:
It would depend entirely on how that randomize function is implemented in powerbasic, but of course algorithms are by their nature deterministic, so as long as both the algorithm and all the inputs stay the same, then two machines should output the same results.
That makes a lot of sense, thanks! I'm a self-taught programmer, so I missed a lot of the maths and theory stuff. :)
 
Anyway, back on topic - great post Alec. However, I still thought the explorer's name was mapped against the 'found' system via a database someplace...
Yes - as I've mentioned a few times (probably should have been clearer in the OP) I was talking purely about the generation of the physical galaxy. There are still lookups for the first discovered tags, BGS state info, etc.
 
RANDOM=7864 (I'll come on to this in a minute)
echo $RANDOM
16904
echo $RANDOM
8002
echo $RANDOM
16686
echo $RANDOM
14406

Tada! If anyone has access to linux then go and try it for yourself.

Alec is right. Running

Code:
NUM=0; RANDOM=7864; while [ $NUM -lt 10 ]; do echo $RANDOM; NUM=$(($NUM+1)); done

Gives:

Code:
16904
8002
16686
14406
12749
13945
31921
1898
26374
31190

So, same numbers. Ubuntu Desktop 18.04.
 
Yes - as I've mentioned a few times (probably should have been clearer in the OP) I was talking purely about the generation of the physical galaxy. There are still lookups for the first discovered tags, BGS state info, etc.

Ah, OK no worries, I did misread it!
 
I thought this was common knowledge about how this game works and always just assumed just the specific tag information and the like was stored on a server somewhere.

Oh, well. Thanks for the recap none the less.

Cheers.
The thing about common knowledge is that everybody who knows it assumes that everybody else also knows it and people who don't know it think they are the only ones who don't and wont ask about it out of not wanting to show their ignorance, over time this leads to common knowledge being less and less well known.
 
Status
Thread Closed: Not open for further replies.
Back
Top Bottom