Interstellar and Interplanetary travel - FTL

Design docs discussion of the implementation of certain features
nozmajner
Posts: 1079
Joined: Mon Jul 01, 2013 3:25 pm
Location: Budapest HU

Interstellar and Interplanetary travel - FTL

Post by nozmajner »

So we can write down where we are at discussing the means and mechanics of traveling between systems and planets. (Will edit with stuff that comes from the discussion, to serve as a design document)
  • What's the aim? I'd say the main aim is to enhance the perception of size of the galaxy and the star systems.
  • How should it work? Should there be several different ways of doing it?
  • How it's performance should be handled? How it should scale with ship size/mass? How fuel consumption should scale with those?
  • What limitations it should have?
  • How it would alter the fiction side, history? Can it be seamlessly integrated to what we have now?
nozmajner
Posts: 1079
Joined: Mon Jul 01, 2013 3:25 pm
Location: Budapest HU

Re: Interstellar and Interplanetary travel - FTL

Post by nozmajner »

Jotting down the IRC discussion:
(4:07:56 PM) impaktor: Also, is there some way to jump during incomplete hyperjump count down?
(4:08:02 PM) nozmajner: that's why I moved the lower warnings even lowerr, so they don't obscure the center much
(4:08:13 PM) nozmajner: they could go somewhere more to the side I guess
(4:08:27 PM) nozmajner: no, as far as I know
(4:08:30 PM) impaktor: Effect? Risk of damage to engines? risk of entering the wrong system? Risk of jumping into the star?
(4:09:01 PM) impaktor: Well, I meant, do "we" have a plan for how UI should handle that case.
(4:09:13 PM) nozmajner: I don't think we ever thought trough the mechanics of the hyperdrive that much
(4:10:42 PM) impaktor: No. Problem is there are way too many ways it could be made to work.
(4:10:51 PM) nozmajner: yeah
(4:11:50 PM) impaktor: Given how little combat oriented pioneer is, maybe "emergency jump" is a moot point.
(4:27:54 PM) ecraven: imho hyperjumps should be changed. I don't like the current mechanic, way too easy to jump too far ;
(4:28:02 PM) ecraven: makes the universe smaller!
(4:28:05 PM) nozmajner: I agree
(4:28:24 PM) nozmajner: and the navigation and map screen is a mess because of that too
(4:29:28 PM) ecraven: that is another large ui problem in our future ;)
(8:00:45 PM) impaktor: Well, the max jump distance is way way too big, I've considered this a bug for quite some time.
(8:01:00 PM) impaktor: I don't remember it being like that before #1719.
(8:01:32 PM) impaktor: ~10 ly max distance is reasonable.
(8:02:00 PM) impaktor: Maybe some fully loaded ships are < 3 ly, and you really have to find systems that are close enough to patch your route together.
(8:02:32 PM) nozmajner: larger fully loaded ships top at that value right now
(8:03:31 PM) nozmajner: or about that
(8:03:34 PM) nozmajner: sometimes lower
(8:05:32 PM) impaktor: Then the variance between empty and loaded is much too big.
(8:05:57 PM) impaktor: Should it even depend on cargo mass?
(8:06:11 PM) nozmajner: good question
(8:06:23 PM) nozmajner: maybe it should, but not the distance, only the needed fuel
(8:06:28 PM) nozmajner: and/ort travel time
(8:06:49 PM) impaktor: i.e. do we want the mechanics of "oh, my ship is too heavy for the jump, I need to sell stuff".
(8:07:29 PM) nozmajner: E : D goes around this limiting the maximum fuel the drive can burn. So a larger mass ship still decreases range, but the unloaded range isn't significantly larger
(8:07:36 PM) impaktor: ...also frustrating/seeing seeing how your max distance shrinks with cargo, so you never really know how far you could jump.
(8:08:12 PM) nozmajner: that kind of mechanic will be there, if we switch to m³ from tonnes for equipment and cargo
(8:08:49 PM) impaktor: Jump time, and fuel needed could be variable, as function of mass.
(8:08:52 PM) nozmajner: what if the mass is irrelevant? but the volume or diameter of the ship what governs it?
(8:09:22 PM) nozmajner: what if range is dependent on how good your nav computer is? So a better computer could aim further
(8:09:23 PM) impaktor: Yeah, that sounds simpler. As in KISS = Keep it Simple Stupid. Which I like.
(8:09:35 PM) nozmajner: since it can calculate with large floating point values or whatever :D
(8:10:01 PM) impaktor: Is it a UNIVAC-sized computer?
(8:10:35 PM) impaktor: I think max jump distance depends on engine is better than computer. And how large engine you can fit depends on ship model.
(8:10:40 PM) nozmajner: no, but a better one could cost lot more
(8:10:54 PM) nozmajner: yeah, that makes sense
(8:12:11 PM) impaktor: the end result I'd like to see is that jump distance is fixed (kind of) for each ship model. Possibly then because it depends on ship volume, or engine fitted. So some ships could fit a "too big" engine if you throw out everything else.
(8:12:42 PM) impaktor: So you typically only have one jump drive class per ship model that is practical, all lesser have too short range, and all bigger won't really fit.
(8:12:58 PM) impaktor: Feels like I'm describing Frontier... (or how I remember it)
(8:14:12 PM) nozmajner: can't remember how it was in frontier
(8:14:21 PM) nozmajner: but it makes sense to optimize this way
(8:14:42 PM) nozmajner: but the ships are quite diverse, not sure how it would look
(8:31:25 PM) ecraven: what about having a system of "jump gates" between the major systems, and needing to hyperjump yourself to other systems
(8:31:28 PM) impaktor: Well, sort of.
(8:31:40 PM) ecraven: like in the lost fleet books
(8:31:47 PM) nozmajner: ecraven: I was thinking about that too
(8:31:59 PM) nozmajner: might feel too limiting though
(8:32:21 PM) ecraven: it needs more thinking, but it would allow us to give a better feeling of remote and buzzing systems
(8:32:37 PM) ecraven: right now, every system is the same technically, you can jump wherever you want
(8:33:21 PM) ecraven: if we funnel traffic through fewer systems, there might be more reasons to visit the less well connected ones for exploration
(9:06:54 PM) clausimu: I'm in favor of channeling traffic through "hub" systems via jump gates (or similar technology) <= sorry, just read the latest posts... :)
(9:07:16 PM) nozmajner: how it would work?
(9:07:28 PM) nozmajner: would it need an infrasturcture for example?
(9:07:38 PM) nozmajner: would need active power?
(9:07:46 PM) nozmajner: or any other maintenance?
(9:08:01 PM) nozmajner: could if fell into disrepair? if so, how quickly?
(9:08:10 PM) clausimu: I wish the in-system jump would not have been dropped either. Concentrating traffic on busy points makes the size of the universe or systems stand out even more...
(9:08:22 PM) clausimu: ...and also create more interaction with other ships
(9:08:27 PM) nozmajner: I'd avoid making it some kind of natural, or ancient artificial network
(9:08:38 PM) nozmajner: clausimu: I agree
(9:08:59 PM) clausimu: nozmajner: do you remember why it was dropped?
(9:09:02 PM) impaktor: I think in system jumps need to be in place before.
(9:09:15 PM) impaktor: ...inter system jumps.
(9:09:21 PM) nozmajner: clausimu: I won't say it was dropped, more like no one picked it up yet
(9:09:25 PM) impaktor: clausimu: it wasn't dropped.
(9:09:38 PM) clausimu: I thought fluffyfreak was working on it?
(9:09:59 PM) nozmajner: he implemented the L45-points, and might had a prototype, not sure about the later
(9:10:55 PM) impaktor: in-system jumps might be back on the agenda once ecraven starts playing around with that display for imgui.
(9:11:01 PM) impaktor: (just guessing here)
(9:11:20 PM) clausimu: does ecraven know that? :)
(9:11:32 PM) impaktor: Nope. :D
(9:11:50 PM) nozmajner: yet :D
(9:12:16 PM) clausimu: How do we duplicate him... :)
(9:13:09 PM) impaktor: He does have kids?
(9:13:27 PM) clausimu: impaktor: You plan that far ahead for pioneer?
(9:16:45 PM) ecraven: I'm still not sure about in-system jumps
(9:17:18 PM) ecraven: if we can come up with even a halfway decent explanation for how they work, I'm not against them
(9:17:33 PM) nozmajner: define halfway decent :)
(9:17:44 PM) ecraven: nozmajner: well... personally, I'd say we want the inter-system-jump-web extensible, the player should be able to connect new systems (at very high cost)
(9:17:51 PM) ecraven: nozmajner: not totally physically impossible
(9:18:16 PM) ecraven: something about bending space would be ok, a "rift in spacetime" sounds a bit too handwavy to me, for example
(9:18:22 PM) clausimu: didn't we have good reasoning in the forum posts at the time of the discussion... hmm...
(9:18:32 PM) ecraven: I'll need to read up on different ideas for ftl travel
(9:18:37 PM) ecraven: there must be good ideas out there ;)
(9:18:50 PM) impaktor: clausimu: Yes I plan far ahead. "A society grows great when old men plant trees whose shade they know they shall never sit in"
(9:18:59 PM) ecraven: ideally, I'd love it if the player could build new stuff.. satellites, stations, even jump gates
(9:19:08 PM) ecraven: impaktor: nice quote
(9:19:41 PM) clausimu: ecraven: nice goals - but some things (like dynamic markets) should come before that... :)
(9:20:24 PM) ecraven: clausimu: I disagree, people should implement whatever they want ;)
(9:20:31 PM) nozmajner: the Trough Struggle to Stars novel/universe has relativistic ships transporting one end of a tiny wormhole to other systems, while the part left behind is in a cyclotron, to avoid time differences due to close-to-c travel of the carrier ship. Because the holes would be destroyed, if they aren't in the same time. Or if you try to transport one trough another wormhole. So it takes several years to get the wormhole to the system.
(9:20:31 PM) nozmajner: And when it arrives, you have to widen it, and keep pushing stuff trough it both directions to keep it open
(9:20:35 PM) ecraven: not that I don't want dynamic markets ;)
(9:20:37 PM) ecraven: I very much do
(9:20:41 PM) nozmajner: so they are put close to asteroid belts usually
(9:21:30 PM) ecraven: nozmajner: I like that general mechanic
(9:21:37 PM) ecraven: though that would mean we disallow hyperjumping without gates
(9:21:52 PM) nozmajner: yeah
(9:21:52 PM) ecraven: we would need some serious time acceleration to make inter-system travel not a total PITA
(9:21:59 PM) ecraven: not that I'm unwilling to think about that ;)
(9:22:35 PM) ecraven: clausimu: ideally, I want actual factories and production tracked, so if you have a steel plant somewhere, you can bring iron and carbon there and get cheap steel
(9:22:40 PM) ecraven: a bit like X has
(9:22:41 PM) clausimu: ecraven: That's what happens anyways - we do what we want. But sometimes I feel like there are some critical hurdles that would put pioneer on a whole other level if they were taken. Not that I can do anything about them...
(9:22:49 PM) ecraven: but of course better
(9:23:12 PM) ecraven: clausimu: you can do the most important thing about them: write them down, ideally on the wiki, with a short description on how they should work
(9:23:23 PM) ecraven: I can implement everything, given enough time, but things need to be thought through and
(9:23:27 PM) ecraven: "designed" properly
(9:23:46 PM) nozmajner: what if we have sometihing similar, wormholes as an infrastructure like jump network, and you won't even need much special equipment of fuel to use it is it's present. And a hyperdrive (like an alcubiere like stuff) that allow infrastructureless jumps, but it's smaller, uses fuel, and could have other drawbacks.
(9:23:54 PM) ecraven: same for the UI, it's simple to implement things, but designing them properly is very hard for me
(9:24:08 PM) ecraven: nozmajner: that would be reasonable, I'd say
(9:24:33 PM) ecraven: hm.. what if our "hyperjumps" were actually just very-close-to-c "jumps"
(9:24:48 PM) ecraven: so they would take a *loong* time in the real world (though not for you)
(9:25:06 PM) nozmajner: wormholes could be present for in-sys jumps too, and typical hyperdrives might not be useable for in-sys travel
(9:25:09 PM) ecraven: so travelling for 5 lightyears takes a just a few seconds in-game, but years elapse
(9:25:25 PM) ecraven: nozmajner: yea, inter-system-jumps should only be possible far outside any gravity well
(9:25:35 PM) ecraven: still not sure about in-system jumps :P
(9:25:38 PM) nozmajner: ecraven: that would isolate the systems a lot I think
(9:26:01 PM) clausimu: ecraven: but time has not impact in the game - if a few seconds pass in realtime I don't care much if 5 years go by in game
(9:26:10 PM) ecraven: clausimu: that depends on what else happens
(9:26:14 PM) ecraven: systems should change
(9:26:22 PM) nozmajner: I think in-sys wormholes might work. Especially if populated systems would have more of them
(9:26:24 PM) ecraven: factories close, new ones open, factions should change too
(9:26:46 PM) ecraven: nozmajner: without thinking about it a lot, it just feels like it would make systems very "small", unless used judiciously
(9:26:55 PM) clausimu: but everyone is under the same time frame, so anything non-local won't develop that fast
(9:27:04 PM) nozmajner: ecraven: with current performances, for sure
(9:27:05 PM) ecraven: clausimu: why not?
(9:27:22 PM) ecraven: so a few local wormholes in the major systems, that's ok, but tens of holes in each system would feel strange
(9:27:24 PM) ecraven: to me ;)
(9:27:31 PM) nozmajner: but if we bring down deltaVs to some 200-500km/s range, then travel could be sufficiently slow
(9:27:49 PM) ecraven: we'll probably just need to try it ;)
(9:28:00 PM) clausimu: you could have factories close, loved ones dying etc - but factions can't change that much if any ship takes years for in-system jumps
(9:28:08 PM) nozmajner: also there could be limits to wormhole placement. Like you can put them into certain positions/orbits/L points/something
(9:28:15 PM) ecraven: clausimu: not any ship, just non-wormhole-network jumps
(9:28:22 PM) ecraven: nozmajner: yea, that would be very good
(9:28:25 PM) nozmajner: or you can't get them too close to each other or they would collapse/get tangled
(9:28:36 PM) clausimu: ecraven: Ah - big difference, missed that...
(9:28:37 PM) ecraven: maybe something about they need to align right (or at least not wrong) for the jumps to work at all
(9:28:54 PM) ecraven: clausimu: so if you want to go to a system that has is not on the network, that takes long.
(9:29:05 PM) ecraven: I'm stealing this from the Lost Fleet books ;)
(9:29:19 PM) ecraven: they have a wormhole jump system like that (something ancient tech something)
(9:29:22 PM) nozmajner: never heard of them
(9:29:29 PM) ecraven: good books, kind of hard scifi
(9:29:45 PM) ecraven: though their aliens are strange.. teddy bears, spiders, some others
(9:30:00 PM) nozmajner: from fiction side, I'd avoid having ancient thech network
(9:30:13 PM) ecraven: I'd recommend at least reading the first one, good books (though they glorify the army/navy a bit much ;)
(9:30:19 PM) ecraven: nozmajner: yea, me too
(9:30:28 PM) ecraven: we don't even have any aliens, do we?
(9:30:30 PM) nozmajner: heh, I'd even say we should never have aliens, and explore a setting where we are actually alone
(9:31:02 PM) ecraven: I'd at least think about it a lot before adding aliens willy-nilly into the game
(9:31:02 PM) nozmajner: no other intelligent life in the Milky Way, not technological at least
(9:31:16 PM) ecraven: so, as always, we need a lot of design documents :-/
(9:31:28 PM) nozmajner: yeah :D
(9:31:35 PM) ecraven: also, removing hyperjumps will surely upset a lot of people :P
(9:32:03 PM) nozmajner: ecraven: I don't mind some upsets if we are able to provide a good gameplay
nozmajner
Posts: 1079
Joined: Mon Jul 01, 2013 3:25 pm
Location: Budapest HU

Re: Interstellar and Interplanetary travel - FTL

Post by nozmajner »

Some notes:
Trip to Moon from LA, on autopilot:
  • 1h27m in game
  • ~2-3 minutes IRL (100x time accel - 3rd level. Won't really good to go above it with manual flight at this distance.)
  • DeltaV used: 322 km/s
  • Accel: 7.4 G
  • Dist: 362 045 km (approx)
clausimu
Posts: 111
Joined: Tue Jan 06, 2015 8:31 pm

Re: Interstellar and Interplanetary travel - FTL

Post by clausimu »

What's the aim? I'd say the main aim is to enhance the perception of size of the galaxy and the star systems.
To get that across there needs to be a relative comparison. If "regular" traffic would be going through wormholes, which is quick, then traveling without such means could take very long (as ecraven suggested in IRC). Just making travel tediously long in general will just annoy players.
FluffyFreak
Posts: 1343
Joined: Tue Jul 02, 2013 1:49 pm
Location: Beeston, Nottinghamshire, GB
Contact:

Re: Interstellar and Interplanetary travel - FTL

Post by FluffyFreak »

One way of dealing with the jump range is to have slots for equipment with size/mass grades.
So you can only fit certain sizes of hyperdrive to certain ships.

At the moment we treat ships like a thin shell that you can just throw mass into which is crazy. There needs to be a powerplant, thrusters/engines, the hyperdrive, the cockpit, cabins/cargo/fuel etc and they should all have fixed locations within a ship along with the accompanying limits.
FluffyFreak
Posts: 1343
Joined: Tue Jul 02, 2013 1:49 pm
Location: Beeston, Nottinghamshire, GB
Contact:

Re: Interstellar and Interplanetary travel - FTL

Post by FluffyFreak »

Prototypes, I have an FTL prototype that just flings your ship up to speed of light in-system, and I worked on the in-system jump a bit as well but that one has some technical hurdles that stopped me getting very far.

Then real-life happened and I didn't think anyone else was interested in either of them anyway :)
nozmajner
Posts: 1079
Joined: Mon Jul 01, 2013 3:25 pm
Location: Budapest HU

Re: Interstellar and Interplanetary travel - FTL

Post by nozmajner »

FluffyFreak
Posts: 1343
Joined: Tue Jul 02, 2013 1:49 pm
Location: Beeston, Nottinghamshire, GB
Contact:

Re: Interstellar and Interplanetary travel - FTL

Post by FluffyFreak »

"Doink" :)
FluffyFreak
Posts: 1343
Joined: Tue Jul 02, 2013 1:49 pm
Location: Beeston, Nottinghamshire, GB
Contact:

Re: Interstellar and Interplanetary travel - FTL

Post by FluffyFreak »

There's been a previous thread on FTL travel that might be worth discussing too.
FluffyFreak
Posts: 1343
Joined: Tue Jul 02, 2013 1:49 pm
Location: Beeston, Nottinghamshire, GB
Contact:

Re: Interstellar and Interplanetary travel - FTL

Post by FluffyFreak »

I wish more of this discussion was happening here than on IRC.
I have no easy facility to go back and read the snippets/threads of thought on IRC so they're generally just lost to me.

FTL:
Making a ship go at the Speed of Light in Pioneer is easy, you just set the speed in code to whatever values you want, like C for example.
We could disable thrusters when in this mode too, so you'd pick a direction, build up speed, switch to FAL/FTL drive and shoot off in a fixed direction very easily until you decided to drop back to normal engines. Add in some special effects and the jobs pretty much done.
I've tried this and it's very easy to smash into planets...
The AI would have no clue how to use it currently, but that could be changed.
Do remember that the Speed of Light is "fast", but it's still only 8 minutes 17 seconds to the Earth from Sol kind of fast - so big, multi-star, systems would still takes weeks or even months to traverse if travelling at C.

In-System Jumps:
Modifying the engine to do in-system, location-to-planet-orbit should be fairly easy - I failed to get this done because I was pratting around with L4/L5 stuff and UI problems were constantly tripping me up and annoyed me.
There might need to be a way of jumping time forward instead of just accelerating it, and instead of destroying "Space" and creating a new one we'd probably want to "just" move the ship within the same system.
In part then this could be done by removing the players ship from the current "Space", then advancing time by the required amount, setting the players position to their arrival point, and adding the ship back to the current "Space".
Doing the time "jump" part might be the trickiest bit but it depends on how good our (ship) orbit/flight stuff is. Planet motion etc should all be fine.

Hyperspace:
We should really have tried to K.I.S.S this one.
Every time we aim a bit high and pile on requirements for it, e.g:
  • it must be calculated in Lua,
  • must use Lagrange points,
  • must use a parabolic arc out of the gravity well,
  • only works on a Tuesday,
  • etc
What this needs is some way of:
  • limiting where you can jump from (not in atmosphere, outside of gravity well > strength),
  • calculating how far you can go based on the above or some other limitation,
  • controlling where you arrive in a system, perhaps based on the above or independently like currently.
As usual, the AI needs to be made aware of all this, Tradeships.lua and other scripts will need to respect the rules and fly to places where they are safe to jump from etc, so the simpler the above rules and changes are the easier they are to implement in script/AI.

Ship Equipment:
Long before Elite Dangerous I thought we should switch to a system inspired by Carrier Command which had fixed equipment that could be damaged individually.
Elite Dangerous has gone for a size+quality approach with subsequent tweaking by visiting Engineers (Engineers by the way are a fucking terrible implementation) which has it's merits and is quite easy to understand.

If we were to take my Carrier Command suggestion then we'd keep the slots, have them use some kind of size system so you could fit a range of equipment into them and allow for upgrades and tuning. Like being able to fit a range of stock engines, each engine can only go in one specific "engine" place, but then have your engine tuned and modified for different specialities.

This one needs additional information adding to each ship.
Something like a table describing what slots are available, their names, and what "size" of unit they can accommodate - correspondingly each piece of ships equipment would need to define what slot it goes in, and it's "size". These could then be matched up when buying equipment, what won't fit you should be able to see but not fit to the ship.
Post Reply