How detailed is the Milky Way simulation?

Assuming the stars are in fixed positions & very imprecise n-body calculations for everything else, the amount of orbits that are calculated at any given moment must still be off the charts. Has FD ever opened up about how they simulate this server-side, hardware/software wise?
 
Assuming the stars are in fixed positions & very imprecise n-body calculations for everything else, the amount of orbits that are calculated at any given moment must still be off the charts. Has FD ever opened up about how they simulate this server-side, hardware/software wise?
They cheat, obviously. ;)

- none of the systems "exist" as such, they're all calculated afresh using pseudo-random generation when you actually need to know about them. This can mostly be done client-side with only a few extra bits of slow-moving but not completely static information (stations, first discovery data, etc.) needing to be fetched from the servers
- system root point is fixed (to either the primary star or the barycentre of the primary star with something else)
- everything else orbits that root point in nested 2-body orbits, which are therefore perfectly stable [1] and easy to calculate. (And on the timescale of Elite Dangerous the game, no-one's going to notice the difference)
- this simplifies everything right down to a small number of calculations which can be performed extremely quickly and consistently client-side to near-instantly give the current state of any system.

There's a video somewhere where they explain how the Stellar Forge (the client-side module which does this) works in much more detail, but I can't find the link right now. Someone will probably be along with it soon.

(Technically they do also do this simulation server-side, because things like the mission server also need to know where planets are to get in-system distances correct, but that's a very minor technicality: it mostly just happens on your PC or console)

[1] Some of the more complex arrangements use invisible barycentre objects - the barycentre orbits the star, and the planets then orbit the barycentre.
 
Thanks! Yeah, even a simple (on a short time scale) n-body calculation can be considered cheating. 2-body solves it all, but the way I've heard people/media describe ED as a full galaxy simulation I thought something more interesting might be happening here. Still, all the workarounds on their own are their own 'interesting'.
 
As someone who has done ProcGen as a hobby for 40 years, and nBody for only about 20, the Stellar Forge stream was very interesting.
Some of the methods had me guffawing at their nievity, "that cludge will never work" - But it does, with a simplistic elegance that once I saw what it did, had me shuffling my feet muttering to myself. Its basically done by dividing mass distribution over VERY course skins. Individual systems are done the same, with each mass group having a fixed barycenter. Its REALLY quick, and does a fantastic job, just dont look at the O-Type Cubes near the core ;)
 
One thing to remember is that Stellar Forge is surprisingly accurate. Two things come to mind that (as far as I know) shows Stellar Forge is very good at 'educated guesses';

1; When FDev first fired up the full scale Galactic model it was way too bright. How could they know this? Simple. If you know a star type and its' magnitude you will know what light wavelengths it will be emitting, and at what strength (for example, a 40W Tungsten filament lightbulb will not be as bright and would be a different colour to a 100W Halogen lightbulb). FDev trusted their code was working properly, so they decided to try something else; they increased the levels of interstellar dust. When it was around ten times the levels the astronomers said was there the Galaxy model matched what the astronomers were seeing for real. Apparently astronomers are very taken with this, as it helps explain some of the Galactic weight that they could not account for.

2; A few years ago NASA announced the discovery of a (comparatively speaking) nearby star system with seven planets orbiting the star (that they named Trappist 1). It was a Red Dwarf system, 40 light years away. Stellar Forge had calculated a Brown Dwarf star system, 39 light years away, with seven planetary objects. That, in Galactic terms, is in the same room and chatting to you!

 
Last edited:
In the ED universe, the answer to the ancient philosophical question "if a tree falls in the forest and there's no-one there to hear it, does it make a sound?", is, "No. If no-one is there to hear it, then neither the tree, nor the forest, nor the entire planet and star system, actually exist.".

As noted in the video, the Stellar forge works like this:

First, the stars are "condensed" out of the cloud of available galactic matter. Then, the game calculates probability-clouds of potential planets formed around those stars. It then does a quick flash-forward of the star system's entire prehistory, including procedurally-generated catastrophic interstellar events that might disrupt those nice neat planetary orbits.

It then creates the entire star system, with planets, moons etc, at "time = 0", probably January 1st 3300. It then fast-forwards the planets in their orbits to the correct current time, calculates what the skybox should look like, and creates a game instance to place your ship into it.

It does all this during the hyperspace "loading screen".

Perhaps the most important, significant thing to note about procedurally generating a universe this way: once you leave the system and the instance is closed (and assuming no other players are there in-system), nothing about the star system gets "saved onto a database somewhere", except perhaps some exploration and BGS data. The entire star system - trees, people, planets, everything - simply gets deleted, forgotten about by the game until someone else visits it (or requests to load the system map), when it will all be re-created all over again by the Stellar Forge.
 
nothing about the star system gets "saved onto a database somewhere"
Which makes things like route-plotting even more impressive: you can set up a route, with restrictions on star classes, over a 20k distance ... and it has to instantly calculate and check a substantial sample of stars along that route, possibly with extra constraints for neutron-boosting ... and it doesn't take a week to plot.
 
Which makes things like route-plotting even more impressive: you can set up a route, with restrictions on star classes, over a 20k distance ... and it has to instantly calculate and check a substantial sample of stars along that route, possibly with extra constraints for neutron-boosting ... and it doesn't take a week to plot.
Unless there's permits in the way ;)
 
Back
Top Bottom