Riebart / diana

A proof-of-concept open-source clone of Artemis with realistic physics and decoupled multiplayer capacity.
1 stars 0 forks source link

Add Gravity Scan for detecting celestial objects with needing to scan the system. #31

Open Riebart opened 1 year ago

Riebart commented 1 year ago

blocked_by: [56, 62]

Landing in a new system without map data would require scanning the whole system just to find the planets, which is both time consuming and difficult given sensor energy budgets and scan beam speed.

To even this out, being able to have an onboard "gravity scanner" like a LIGO, that returns current positions (and first/second order derivatives?) of bodies having gravitational effects on the player object above some threshold. The threshold would be provided as part of the scan message.

This would be a passive scan and would not emit any beams.

LIGO can detect differences in mirror separation on the order of 1e-21m, or 1 part in 1e27 (1 in 1e21 for the original LIGO).

Riebart commented 1 year ago

So, functionally this may not need an extra mechanic.

Let's say you jump into a new system, the star is always visible, and it's location is know from visdata. This makes it scannable.

Let's say you can scan the star to get its mass and determine your relative position, velocity and acceleration to some significant precision.

You can discount any relative acceleration due to gravity from the star. If the residual is nonzero, you have at least one other body to find. This net should actually roughly point you in the direction of the next most significant gravity source (at your position), probably a nearby or large planet.

Scanning at intervals gives new values for relative position, velocity and acceleration each time.

To identify the position of another body responsible for relative acceleration, you need 7 pieces of data, get mass, position (x, y, z), and velocity (x, y, z). Add 3 more scans for acceleration, useful for better estimation accuracy.

In effect, every 10 scans should reveal a potential position of a new major gravitational body approximately. Scanning that location will either reveal exact specifics, or miss (which you only know if the return beam never arrives). If it misses you need to scan the star a few more times and estimate now N+1 bodies.