I am curious how the locations of the planets and other orbiting objects are calculated under the hood.

I suspect (but could be wrong) that you are calculating X/Y locations for every object every time you hit the 5 day cycle. I suspect this is the case just by the amount of churn which hits every 5 days and how it drastically increases as the game goes on.

If this is the case, I would humbly suggest you consider looking into changing the calculation process to using a modified orbital elements method of storing the location.

https://en. m. wikipedia. org/wiki/Orbital_elements

Because the game is two dimensional and you dont simulate orbital eccentricity, you could use semi major axis, starting true (or mean) anomaly, the amount of delta mean anomaly per 5 day period, and the date to store all X/Y information. The only variable which changes per pulse is the date. Then, you would only need to convert to X&Y if the player is looking at a specific system or if a player or NPR has a ship with orders to go to the orbital body.

I suspect this would significantly increase turn processing time.

Thanks