Elite: Game talk

17 Feb 2022, 12:40am
CupcoAnyone know the mechanics in how planetary position and rotational directions is calculated? My best guess is that these are generated randomly when someone enters the system or logs into a system. I doubt the orbital and rotational progression of each planet is stored because that amount of data would be, for lack of a better term, astronomical.

I don't know for sure but I know they do not exist until the system is first entered.

I would surmise that values are generated within a theorized distribution of possibilities given the star type, galactic coordinate, etc. They are only calculated one time (and remain fixed values) so after that, the only thing they really need to keep track of is elapsed time since initial generation, since the orbital mechanics are simplified. So the initial numerical values for the positions in the system are stored, then based on simple orbital mechanics can be determined at any time thereafter whenever someone enters the system.

Just my guess but seems to be the simplest way requiring the least computing power.
17 Feb 2022, 1:35am
It's a random seed that generates the boxel distribution and the system particulars are calculated based on the system name. The system internals don't actual exist until someone visits the system but once they do a small value is associated with it that permanently sets the details although I'm not sure exactly how that value is determined. I like to think it's based on the name of the person who first visited it.

Side note to Saka re: Landing and roll axis options. I don't use this myself but there is a separate category of binds specifically to allow you to reconfigure your landing bind flight control setup. You might be able to use this to figure out a way to get it working for you.
17 Feb 2022, 2:00am
I wonder how big their database is already?
We have mapped millions of star systems...that's gotta be a ton o' data to store.
17 Feb 2022, 3:24am
Yuna Sakashiro
It's pseudo-random, i.e. deterministic. The same seed (probably derived from the system's coordinates) always generates the same set of planets and orbits, so the amount of data to be permanently stored in the database is very small.


Actually, the planets do change position. I can log out on the surface of a planet on the light side and then log back in and it will be dark. But if I stay on the same spot while logged in, the sky will never change. And while approaching a space port from the entry point, sometimes it will be blocked by a planet and sometimes not. So the same seed number cannot be used for positions or they would never move.

And "simple orbital mechanics" would take a ton of data. Like I said, they don't move while you are logged into a system, no matter how long you stay there. But if you were to enter the system on Feb 25 at 3:00 pm est, it would have to take into account one previous position for each body and calculate how far it has moved along it's path in the time elapsed. And if it is not tidally locked to it's parent body, a calculation would have to be made for how many revolutions it has made in the time elapsed. Storing the base positions, orientations, and applying the periods would be humongous for just thousands of bodies. Forget billions.
17 Feb 2022, 5:29am
Cupco
Yuna Sakashiro
It's pseudo-random, i.e. deterministic. The same seed (probably derived from the system's coordinates) always generates the same set of planets and orbits, so the amount of data to be permanently stored in the database is very small.

Actually, the planets do change position. I can log out on the surface of a planet on the light side and then log back in and it will be dark. But if I stay on the same spot while logged in, the sky will never change. And while approaching a space port from the entry point, sometimes it will be blocked by a planet and sometimes not. So the same seed number cannot be used for positions or they would never move.

And "simple orbital mechanics" would take a ton of data. Like I said, they don't move while you are logged into a system, no matter how long you stay there. But if you were to enter the system on Feb 25 at 3:00 pm est, it would have to take into account one previous position for each body and calculate how far it has moved along it's path in the time elapsed. And if it is not tidally locked to it's parent body, a calculation would have to be made for how many revolutions it has made in the time elapsed. Storing the base positions, orientations, and applying the periods would be humongous for just thousands of bodies. Forget billions.

The planets/moons do orbit and rotate during gameplay. I've played through many sunrise/sunsets on the surface and in rings and have followed a planet around it's orbit (it was very close to it's parent star and I had to use the minimum supercruise speed). But the orbital characteristics only need to be calculated one time per system after which all those values are fixed except for orbital position and rotation. After that only two equations need to be solved per body as a function of time based on the previously determined orbit.
I guess my point is that storing a handful of numerical values per body does not take up much data storage. You aren't calculating and storing trillions of things all the time for every system. You take a time value and plug it in to a few equations whenever there is a player in a system and that's it. These numerical calculations are not complicated. The complications arise with the rendering (which is probably the most complex thing in the game).
17 Feb 2022, 5:47am
Cupco
Yuna Sakashiro
It's pseudo-random, i.e. deterministic. The same seed (probably derived from the system's coordinates) always generates the same set of planets and orbits, so the amount of data to be permanently stored in the database is very small.



Actually, the planets do change position. I can log out on the surface of a planet on the light side and then log back in and it will be dark. But if I stay on the same spot while logged in, the sky will never change. And while approaching a space port from the entry point, sometimes it will be blocked by a planet and sometimes not. So the same seed number cannot be used for positions or they would never move.

And "simple orbital mechanics" would take a ton of data. Like I said, they don't move while you are logged into a system, no matter how long you stay there. But if you were to enter the system on Feb 25 at 3:00 pm est, it would have to take into account one previous position for each body and calculate how far it has moved along it's path in the time elapsed. And if it is not tidally locked to it's parent body, a calculation would have to be made for how many revolutions it has made in the time elapsed. Storing the base positions, orientations, and applying the periods would be humongous for just thousands of bodies. Forget billions.


This is so, so wrong. Orbits do happen in real time, constantly. The logic you're using here is the same flat-earthers use. "I can't see it move so it isn't" and while I'd love to see this debate amongst two of the finest examples of 'doing your own research', instead, I'll just link this video before you embarrass yourself further.
.

Additionally, Yuna didn't actually say "planets don't change position". She said the same planets generate the same orbits, and she's right.
Your misunderstanding how the system works.

There is no database that records everything and their position and keeps track of it. As already mentioned, it is an algorithm that uses the System's name to generate its general contents and a small specific seed value generated on first entry into the system. That's it. This algorithm is used by your client EVERY TIME YOU ENTER THE SYSTEM FROM THEN ON to determine what is in the system, where it is and how its moving. This algorithm does this so reliably all clients can generate the same body details exactly to the point multiplay is possible.

In the end, 400 billion system names plus 400 billion * Percentage of discovered systems * couple bit seed value = living breathing realtime accurate body generation and orbital mechanics for the entire galaxy. Still a crazy amount of data though.
17 Feb 2022, 6:08am
Once the system is generated it is same for all players that visit it in the current time.

Some nerds are using that to predict interesting events, such of collision of moons.

As it was already pointed, Frontier have algorithms which can reproduce star systems from small amount of data.
17 Feb 2022, 6:09am
Cupco
Yuna Sakashiro
<< Show less
God, I hate the grind in this game...





I'm satisfied with my Explora-conda for now. I'll worry about making other ships after I get my fleet carrier, which should only take 3-4 yrs to make the 5 billion needed. LOL.

Note: I am not actively grinding for credits either. I despise the grind as well.


Now when more or less everything is nerfed, couple of years ago you mine 6 hours and had 1 billon on you account, that time is over..
17 Feb 2022, 6:24am
Thank you Burstar. I stand corrected. I had never seen a sky move in the game. I still have to wonder at those planets that orbit really close to each other but never seem to move. In any case, the data for motion must not be as overwhelming as I thought. Thank you for the clarification.
17 Feb 2022, 7:44am
17 Feb 2022, 7:55am
Millions of systems are not so much to store, really, because they are primary created from a seed. Any database can handle that, and the data are collected when you are in FSD jump, it's not an instant loading, so the database have plenty of time to send the requested data. So technically is quite simple. Think about retrieving a customer ticket in the database of an hypermarket chain. This take 1 second, maybe 2 if you're unlucky, and they have so many tickets. ^^

Praise the database god!
17 Feb 2022, 7:56am
Darkwater Inc megaship was inserted in Summerland. It won't be one sided CG after all.

I wonder if anti-empire movement will win that for Darkwater Inc.
17 Feb 2022, 7:58am
Burstar or somethingIn the end, 400 billion system names plus 400 billion * Percentage of discovered systems * couple bit seed value = living breathing realtime accurate body generation and orbital mechanics for the entire galaxy. Still a crazy amount of data though.
Even storing an a complete database of pre-generated systems is kind of crazy. If you manage to 'pack' the system information in smth like 1kb, the whole database will take roughly 400Tb. And the search will become terribly slow.
17 Feb 2022, 8:20am
Episparh the Blunt~
I wonder if anti-empire movement will win that for Darkwater Inc.

I'm thinking about another try to capture Arissa Lavigny-Duval again...
Honestly, I think that woman's kinda hot.
But I assume, chances for a success are pretty low right now, eh?
17 Feb 2022, 8:56am
Meowers
Even storing an a complete database of pre-generated systems is kind of crazy. If you manage to 'pack' the system information in smth like 1kb, the whole database will take roughly 400Tb. And the search will become terribly slow.


This is true only for relational databases

Post a reply

You must be signed in to post here.
Elite:Dangerous related questions, answers, tips and help. Simply anything that is directly related to the game and its gameplay goes here.
For the discussions about the community, other stuff related to the game like astrophysics and so on please use the General talk thread.

What does belong here:
  • Questions, answers, tips and guides about ship loadouts, game activities like exploration, mining, combat and similar things that directly relate to the gameplay.
  • Game technical issues and problems, if you are looking for a help. For the bug reports please head to the official FD forum.
  • Discussion about "official" events from GalNet and community goals.
What does not belong here:
  • Discussing player actions and activities, general topics about Elite community and player events, topics related to the game but also real world (like astrophysics and similar). Please post these to the "General talk" thread instead.
  • Any off topic discussion, please post this kind of stuff to the "Offtopic" thread.