Sorry I meant to write more but had to drive to something for a bit. I also just want to state for the record that I’m just sorta dumping my thoughts right now. These are not meant to be counter-arguments or anything; you are 100% correct about the concerns of
Another thing I wanted to say was that orbital mechanics (when you’re using conic approximations) don’t require (as much) iteration, compared to a full n-body physics simulation. You just need a moment in time, measured in seconds, and it gives you the true anomaly (angle/theta) and radius.
Even then, the algorithm (yes, algorithm, because Kepler hates you) to find true anomaly can get really expensive.
So to explain more about this:
I was thinking of having a basic orbit object, and then a “baked” orbit object, where after all the adjustments are made, the baked version divides the period into 36 segments of time (uniting true anomaly, radius, and time, ideally as approximated integers). That way, if I want to find an orbital position at a certain time from a baked orbit, I’m dealing with only integers, up until the single interpolation bit.
Of course, orbital mechanics normally requires way more precision than this. In fact, this subject is quite notorious for testing the extreme limits of data precision, for this reason.
However, the benefit of writing an IF title that will convey things through text is that the player is not able to see the rough outline of the orbit, and it still functions about the same.
Worst case scenario, a fellow enthusiast will check my math, and I’ll be off by less than 10% maybe, but I’m certain they’ll understand lol.
The only reason why I’m going through this much work is:
- I’m an orbital mechanics enthusiast.
- I would like some way for a nav computer to help the player schedule things like intercepts, fly-bys, captures, etc. Even if the actual fine-tuning will be handled by the computer, the computer still needs a way to plot things over time and position.
The main concern I have with
BigNumber lag is that while I have experienced it in a previous project, I am also currently running on a Linux, which was originally designed to be an overnight hobbyist-level “supercomputer”. I had to move to this as my main rig after I lost my laptop for a while, but now I can’t go back lol. (Turns out I don’t do enough stuff that absolutely requires a GPU to run.)
So, there’s always going to be a nagging concern in the back of my mind that the lag will be way more noticeable for someone else, when I’m not seeing it at all. Once I get this to a testing state, I would love to have someone on a really low-end rig try it, and let me know if it’s unplayable. I don’t want to inadvertently create the IF sphere’s version of “but can it run Crysis?”.