Supercruise/Warp, figuring out how the code works in ED?

Hi, lately I have been working on adding warp drive to my development project called Union, it uses the source of Pioneer Space Sim, a open source game that was based upon Elite First Encounters. I have got warp as a seperate flight state to normal and hyperdrive (which will be turned into interstellar warp temporarily for what I am using the source for). I am thus far writing the class for Warp Drive, and have been making observations of how Supercruise works in ED.
From what I have known for years:
-Top speed is factor 9.295555 or 2001c
-Movement is restricted to Forward (and maybe Reverse if that is just used to slow down), Pitch, Roll and Yaw.
-Size of ship effects Pitch, Roll and Yaw rates in SC
-Top speed in system is effected by any hill-sphere you happen to be in, the mass of the body creating the hill-spheres and how far away you are from the centre of mass.
From what I can guess:
-The game checks what hill spheres we are in... through the system index?
-Or through a function that checks independent of the system index?

I understand due to NDAs that the Frontier developers and community staff have signed that they cannot answer my guesses, atleast until they do another discovery scanner (hint hint... do another discovery scanner, they've been quite helpful), though any suggestions from fellow community members and elite players would be welcome.

A small look at the code for Warp, based upon the Propulsion class that comes with the source.
devenv_b6FXoUA2a2.png
 
-Top speed in system is effected by any hill-sphere you happen to be in, the mass of the body creating the hill-spheres and how far away you are from the centre of mass.
Also the type of body creating the sphere - stars have a different profile to planets.
From what I can guess:
-The game checks what hill spheres we are in... through the system index?
-Or through a function that checks independent of the system index?
For the number of bodies involved - generally mid-tens - it'd probably be reasonable to either check all of them or if some optimising was required to check them hierarchically (i.e. find nearest star, use that, find nearest planet orbiting that star, use that, find nearest moon orbiting that planet, use that, etc.)
 
Given that mass and distance of the system bodies are known, I’d suspect that FD are calculating ‘gravitational force’ in the usual way G=M/r2 for the applicable bodies based on your location, and then using the max value as a factor to determine the max speed possible against the max possible speed (2001c).

So if you were close to body A1B you compare the G for star A, planet A1 and moon A1B, take the max value and divide 2001 by it.

2001 / max (G(A), G(A1), G(A1B))

Something like that, maybe with some other adjusting factors would approximate SC behaviour.

Given how much everything in ED gets analyzed, it wouldn’t surprise me if there was a reverse-engineered explanation buried in the forum somewhere.
 
Last edited:
There are only two people that can go in reverse in super cruise:
1. Commander Thrust from Bradford
2. Chuck Norris.

That is all. Please carry on.
No joke, i did go backwards (thanks to a bug) once. It was bizarre... i put up a screenshot but it was a direct upload here, rather than a imgur or similar.
 
Back
Top Bottom