Redspear wrote: ↑Sat May 18, 2019 8:16 pm
Astrobe wrote: ↑Sat May 18, 2019 10:36 am
If the issue is to vary the system's configuration so that it doesn't always look the same, "all you have to do" is to rotate the planet around the Witchpoint.
As i understand it, when the system is generated, everything is set up in relation to the witchpoint. So in order to 'move' the witchpoint you actually have to move everything else. That doesn't invalidate your idea of course but once you're moving everything else to make it appear as if the WP is orbiting the planet then you're actually creating 'orbits' for everything else.
Yeah, no. You can move just the planet if all you want is the illusion that things are spinning, not accurate orbital mechanics. Imagine the WP is the Moon (i.e., your reference frame is the Moon) and you look towards the Earth at all times:
https://en.wikipedia.org/wiki/File:Moon_phases_en.jpg
Everything that is not placed relative to the Planet/WP will seem to orbit them (in particular, the star) and you'll observe "Earth phases" too. That's what you'll see in game, because when you leave Witchspace the ship is always oriented towards the planet.
I'm not sure it is doable in OXZs though, or if it's doable without having to move everything placed relative to the planet (main station...) as well. The relevant code in the engine is in universe.m (setupPlanet):
Code: Select all
[a_planet setPosition:(HPVector){ 0, 0, planet_zpos }];
The planet is set at a certain Z distance from the WP (which is at {0, 0, 0}). We could do something like:
Code: Select all
[a_planet setPosition:(HPVector){ planet_zpos*sinf(angle), 0, planet_zpos*cosf(angle) }]; // not sure if it's actually correct, but you get the idea
... with angle depending on the in-game clock time (I assume the Y coordinate is "vertical" from the perspective of the witchspace-planet-sun plane, which is also the ecliptic of the planet?). This angle could also depend on a planetinfo.plist key that would default to a value such as the angle is always zero, in order to preserve the existing behavior. This key could be some sort of orbiting speed multiplier.