Page 1 of 2

Oooops ... how far can I go?

Posted: Thu Feb 28, 2019 1:33 am
by RockDoctor
Slight technical error of forgetting to pause the game, going to make and eat supper, brew some coffee, catch up on the insanities of Twitter on the phone, blah blah blah ... and for several hours of real time I've been torus-driving out of the system. I can't even recognise the star - I'm just having to trust the compass.

Which raises several questions -
  • * how far out can you go from the star before something overflows
    * since we use units of km in system (don't we? I'll have to check that) and ly on the galaxy map ... will you fly into another system before the overflow. (Ummm 1 ly is 300,000 km/s for 30 Ms , so around 9000 Tm to the ly? Wiki tells me "9.46 x 10^12 km" which ... agrees well enough.)
    * how long would that take in game time / real time?
    * apart from travel time - a problem we face in the real world - there is also an issue of the system being 3d, but the galaxy-map being essentially flat, so I don't see any option for doing STL travel in Oolite. But ... it's making me think interesting questions as I *hope* that a star brightens in my direction of travel. How much do I trust the compass.
Without having a developer build - is there a way I can interrogate the game state to find out, for example, my DistanceFromSun value?

Oh, a pixel flickers as I roll. Is that home? OK - system full of pirates, not Lovely Lave. But I've done the "wandering in a dark forest on a stormy night with a broken torch" thing in the real world, and any glimmer gets seized on.

Re: Oooops ... how far can I go?

Posted: Thu Feb 28, 2019 2:02 am
by Redspear
Don't know for sure but I'd be very surprised if the following wasn't true...

Each system is a distinct game environment. You can't fly directly from one to another without using a wormhole.

This is one of the illusions of non-player centricity. Not just the point of view, but the action (all of it) is in whatever system the player happens to be in. Thus a 2D map of a 3D 'galaxy' is all that is required.

Whilst it's true that a computer could carry out all the flights and combats of other ships in the other 2,000 odd systems, it would be horribly inefficient for what is supposed to be a low-spec game. So instead it just generates them for whichever system the player happens to be in. The illusion that this isn't so only requires that the game remembers the destination of any ships leaving the system.

If I'm wrong on any of the above then I look forward to being enlightened.

Re: Oooops ... how far can I go?

Posted: Thu Feb 28, 2019 3:32 am
by phkb
RockDoctor wrote:
will you fly into another system before the overflow.
I don't think so. You can go on torus forever and never get to another system. I don't know if I've heard any (handwavium) logic to describe this, but I believe it's correct. The distance traveled has been extended somewhat (a considerable somewhat) with the introduction of floating point precision co-ordinates a few versions ago, but otherwise, eventually, you'll run out of numbers without seeing any other systems.

The only trigger to move the player into a new system is a witchspace jump.

Re: Oooops ... how far can I go?

Posted: Thu Feb 28, 2019 8:16 am
by another_commander
RockDoctor wrote: Thu Feb 28, 2019 1:33 am
* how far out can you go from the star before something overflows
According to the IEEE 754-1985 standard, the max double precision value is ±1.80e308. I believe this will provide you with many many real time years of torus cruising before anything overflows.

Re: Oooops ... how far can I go?

Posted: Sat Mar 02, 2019 11:10 am
by Cmdr James
If I remember right (and I may well not do) then some weird things happen when you are very far from the station due to rounding errors and pretty much all the ships in the system crash into each other. This isnt an overflow as such of course.

Re: Oooops ... how far can I go?

Posted: Sat Mar 02, 2019 1:10 pm
by another_commander
Cmdr James wrote: Sat Mar 02, 2019 11:10 am
If I remember right (and I may well not do) then some weird things happen when you are very far from the station due to rounding errors and pretty much all the ships in the system crash into each other. This isnt an overflow as such of course.
This had been the case before the introduction of double precision for vectors and coordinates, back in 2013. See. https://github.com/OoliteProject/oolite/issues/22. It is no longer an issue.

Re: Oooops ... how far can I go?

Posted: Fri Apr 05, 2019 9:41 am
by UK_Eliter
Had you had the Deep State Pirates expansion pack installed, you would by now be toast!

Re: Oooops ... how far can I go?

Posted: Wed Aug 21, 2019 10:11 am
by Phasted
RockDoctor wrote: Thu Feb 28, 2019 1:33 am
Without having a developer build - is there a way I can interrogate the game state to find out, for example, my DistanceFromSun value?
I don't know if your questions were answered by anyone else, but:
Distance between any two entities:
entityA.position.distanceTo(EntityB)

Or (more specific):

player.ship.position.distanceTo(system.sun)
RockDoctor wrote: Thu Feb 28, 2019 1:33 am
Will you fly into another system?
No. Never. There is only one Player object and only one System object. The properties of the System object change only when the Player jumps from one "system" to another (or if the Sun goes nova..). That is the only way to "travel" in the Ooniverse.

And you can trust your compass.

Re: Oooops ... how far can I go?

Posted: Wed Aug 21, 2019 3:28 pm
by UK_Eliter
The only way to travel: it's a shame. I imagine the game could be changed (with some work) to allow allow a manual switch from one system to another. If so, then when one leaves one's ship running its jump drive in deep space and comes back, what, a few days later (or less than that if one is using the time speedup cheat) - then one would be in another system.

Re: Oooops ... how far can I go?

Posted: Mon Apr 06, 2020 12:05 pm
by zevans
UK_Eliter wrote: Wed Aug 21, 2019 3:28 pm
The only way to travel: it's a shame. I imagine the game could be changed (with some work) to allow allow a manual switch from one system to another. If so, then when one leaves one's ship running its jump drive in deep space and comes back, what, a few days later (or less than that if one is using the time speedup cheat) - then one would be in another system.
You could have some sort of changeover point between systems which triggered the witchspace jump silently, but there are issues...
  • Where in space would this be? My instinct is it should be the point of equipotential (ie gravity) between the two systems under consideration (which brings up a whole bunch of fun about the third and fourth and fifth systems and how all that gets pre-calculated so you can "draw" the geofence required)
  • How to manage the transition in the code - since building the new System object is quite resource intensive and you don't have the luxury of disguising this with the witchspace jump, I guess you'd have to build the to-be System object ahead of time and then come up with a way of doing a fast switcheroo.
  • other user experience considerations - do you have a telltale for this or do you rely on the pilot noticing that the space compass changed, and then checking the status screen? What happens if you go 100 yard into the Zaonce gravity well but then turn around and fly back into the Lave gravity well? Again, currently you can't do that without the witchspace time clock ticking, which handwaves why everything is different when you go back to Lave. This doesn't make so much sense if you just fly back and find a completely different set of ships and market prices in the Ssytem.

Re: Oooops ... how far can I go?

Posted: Mon Apr 06, 2020 12:47 pm
by UK_Eliter
Thanks for the explanation. I see that the technical problems are considerable!

Re: Oooops ... how far can I go?

Posted: Mon Apr 06, 2020 5:13 pm
by Malacandra
As to "handwavium logic" mentioned above, Oolite ships are a lot slower than real spacecraft, though they start to catch up at Torus speed, and even our quickest probes take thousands of years to reach another solar system. One light year is ten trillion kilometres. Or, if the Earth was a dried pea near one penalty area at Wembley Stadium with the Sun a two-foot sphere on the goal line at the other end, Alpha Centauri would be a marginally bigger sphere in Australia.

At Earth escape velocity, about 40,000 km/hour, you're looking at 250,000,000 hours, that is, about 10 million days, or comfortably over 25,000 years, to cover one light year. There's no good reason why Torus drive should be able to get you to another star system, especially since Oolite physics gives ships a maximum speed rather than a maximum acceleration.

Re: Oooops ... how far can I go?

Posted: Mon Apr 06, 2020 5:38 pm
by UK_Eliter
Ah. So the physics problems are considerable too (problems owing to the physics of reality, not to mention that of Oolite). And there was me thinking: well, if I left the torus drive on for a week or so of game time, then what should happen is . . Turns out, what should happen is, nothing!

Your knowledge is impressive, Malacandra!

Re: Oooops ... how far can I go?

Posted: Mon Apr 06, 2020 5:45 pm
by Malacandra
Thank you :)

Alternatives to Witch-drive are explored in my fourth Marilee novel One Jump Ahead, if you fancy a little light coronavirus reading. Also you get to learn the Russian word for "camel".

Re: Oooops ... how far can I go?

Posted: Mon Apr 06, 2020 9:37 pm
by ffutures
One practical reason why not to allow interstellar travel without a hyperspace jump is that it would break the 7 light-year limit, and in a way that is repeatable without having to worry about taking advantage of misjumps etc.