Tex

Possible Solution to the Multiplayer Issue

Recommended Posts

John FX    1748

I can remember why I originally became interested in multiplayer.

It was to run 2 copies of KSP on my machine, on 2 monitors, so I could have the VAB open and the flight scene at the same time. Then when mechjeb is launching a craft I can be designing another.

All I have even wanted was to be able to press `launch` and the craft appear on the pad of the other machine which would then take over control.

If KSP could use multiple windows that would almost be as good although it would not take advantage of the extra cores I have.

Share this post


Link to post
Share on other sites
Red Iron Crown    12087
4 hours ago, John FX said:

I can remember why I originally became interested in multiplayer.

It was to run 2 copies of KSP on my machine, on 2 monitors, so I could have the VAB open and the flight scene at the same time. Then when mechjeb is launching a craft I can be designing another.

All I have even wanted was to be able to press `launch` and the craft appear on the pad of the other machine which would then take over control.

If KSP could use multiple windows that would almost be as good although it would not take advantage of the extra cores I have.

You can get pretty close to this with a symlink between the two craft directories within the saves of the installs. Save craft in one, load in the other, launch. 

Share this post


Link to post
Share on other sites
StrandedonEarth    1991
4 hours ago, razark said:

This is exactly why I think any multiplayer KSP will need to be small (3-5 players maximum), and the people will most likely be doing related tasks (everyone working on a station or building a Munbase).  Having one player doing something that requires a lot of timewarp and another doing something that requires no warping makes me wonder why they're doing it in multiplayer together.

I agree that 'warp when everyone is ready' is probably the best way to go. Someone waiting for warp has a few options: spectating on other players, co-op playing, or doing something else like kicking around in the VAB or launching something else  

I haven't made it back to Eeloo in awhile because I try to send something off for every transfer window. Duna missions are then launched and completed while still on my way to Eeloo. 

Multiplayer would tend to need to agree to either stay in Kerbin SOI or agree to all head for the same destination. Otherwise what's the point?

Share this post


Link to post
Share on other sites
Veeltch    1997
1 hour ago, StrandedonEarth said:

Multiplayer would tend to need to agree to either stay in Kerbin SOI or agree to all head for the same destination. Otherwise what's the point?

Exactly this is something I don't think many people requesting MP realise. A realistic(ish) space game will leave you wanting if all you care about is interaction between you and others. Unless there are FTL/jump gates, a clearly set goal like "let's build Copernicus and fly it somewhere!" or purely atmospheric flight and dogfights, there will be just points in map view changing their trajectories from time to time.

Share this post


Link to post
Share on other sites
John FX    1748
Posted (edited)
On 03/05/2017 at 11:29 PM, Red Iron Crown said:

You can get pretty close to this with a symlink between the two craft directories within the saves of the installs. Save craft in one, load in the other, launch. 

A symlink. Of course. Sometimes a simple solution is right there and you just don't see it. Thank you.

EDIT : Technically, for anyone else wanting to do it you need to make a junction, which is a symlink for a folder.

 

Edited by John FX

Share this post


Link to post
Share on other sites
nothingSpecial    200

Not commenting about the necessarity of this function (as other pointed out, doing anything in different SOIs makes dubious the whole concept of different players playing simultaneously), I just want to share one possible solution for keeping spirit orbital mechanics while breaking their rules for the sake of nontime-wrap multiplayer. It will still be not realistic, but somehow preserves transfer windows.

Here it is. Suppose we have two players, Alice indulges in tomfoolery on the Mun with trying to make hanging base on the Mun arc and launches dozens of crafts with components of it, with lots of docking operations in low munar orbit, and really don't want to wrapping anytime of it, and Bob is going to Laythe. So Bob puts the vehicle of his dream in LKO and creates and moves nodes. Now Bob has a very complex path, with gravity assists, aerobraking at Jool et cetera et cetera. And then Bob pushes two buttons:

1. "Set Target as the trajectory Reference" (exactly what it says on the tin).

2. "Multiplayer-Warp to the next Node according to the Reference"

Here goes the tricky part. If you go by that trajectory with Insane Magical Speeds, more often than not any intermediate maneuver will be in the middle of nowhere, and sometimes inside of other body. So here we need to incorporate partially the DMP approach: untill the vessel in question is not in the SOI of the Target (or Bob hits "Abort Multiplayer-Warp maneuver"), it goes in own sub-universe, with bodies in future places.

When maneuver is finished or aborted, vessel's position is adjusted in Real World relative to the Target's position. It's still the magic way, but you can handwave that as "it really was launched long ago". If any life support mod is iinstalled in this multiplayer session, they can deduce the appropriate amount of consumables.

This solution is both tricky and can open gates to lot of time paradoxes (like the ship gets supplies form orbital  resupply station and then goes to distant destination that places the misson long into the past - way before resupply station was even launched), but, really, who cares? We preserved large-scale multiplayer AND orbital mechanics.

It still the problem if Bob aborts the maneuver at such place that after adjustment the vessel will ram into other Alice's one, but it requires the sheer luck (or lack of luck, to be more precise).

Hope at least someone understand me.

Share this post


Link to post
Share on other sites
53miner53    220
Posted (edited)

I had an idea at one point that was posted in another thread. Here it is:

Spoiler

We could have the server simulate the orbital craft not controlled by a player, and the players simulate the craft they are controlling, and the server relays the controlled craft to the other players. Time warping would only affect the player that is warping, and any craft that the time shifted player interacts with would first ask the player who launched the craft if the craft should be able to be interacted with at that point. Then, if the person agrees, that craft is locked and will not be interacted with until that point, other than executing planned manuver nodes. If the interaction is refused, than the crafts will ignore collision entirely. Interaction is defined by the game as a collision or a docking with the craft. Any maneuver nodes would be assumed to have been executed as well for craft positioning. If a maneuver node is missed or passed with 25% or more of delta v remaining and no player controlling it, then the craft that missed the node would be repositioned and the other craft would be assumed to have gone to that spot and not interacted with the other craft. 

Edit: a lot similar to what @nothingSpecial posted above me.

Edited by 53miner53

Share this post


Link to post
Share on other sites
TheEpicSquared    1880

Wow, solving this multiplayer issue seems like it's harder than unifying relativity and quantum mechanics :P 

Share this post


Link to post
Share on other sites
razark    2814
28 minutes ago, TheEpicSquared said:

Wow, solving this multiplayer issue seems like it's harder than unifying relativity and quantum mechanics :P 

Nah.  It's really easy to solve it.  In fact, it's so easy that everyone has their own idea about how to do it.

Share this post


Link to post
Share on other sites
TheKorbinger    145

I love the idea of multiplayer, the fact that people can come together to build things just fascinates me.

Co-op can be a thing along with multiplayer, but what if when a player where to time-warp, it would control the entire game's time, and everyone in it.

Such a thing would require communication (like Discord/ TS3/Skype) to notify that player.

 

Or, you can have something like when you where to timewarp, a notification box would come up, that would make you select whether or not you want to timewarp with that person.

Someone needs to try this!

 

 

I would, but i have no idea how to make mods =/

Share this post


Link to post
Share on other sites
Shadow Wolf56    169

Calling all mod dev!!! *sirens *XD

(not:()

Share this post


Link to post
Share on other sites
Shadow Wolf56    169
On 04/05/2017 at 3:08 AM, John FX said:

It is the only way I have read that seems like it would work, someone wants to warp, they request, when every player accepts, warp happens until one player needs to do something. Of course if one player is doing multiple mun missions and another is going to Eeloo the latter player will be very bored and may not ever control their craft again.

Well, my brother just flies planes around anyway.:)

Share this post


Link to post
Share on other sites
John FX    1748
15 hours ago, Shadow Wolf56 said:

Well, my brother just flies planes around anyway.:)

If you just fly planes around you will never encounter the multiplayer issue.

Share this post


Link to post
Share on other sites
Lo Var Lachland    1028
Posted (edited)
On 5/13/2017 at 0:23 PM, Shadow Wolf56 said:

except when we have dogfights...

Jawhol. 

Edited by Lo Var Lachland

Share this post


Link to post
Share on other sites
AlamoVampire    556
8 hours ago, Lo Var Lachland said:

Jawhol. 

? I do not understand

Share this post


Link to post
Share on other sites
Lo Var Lachland    1028
8 hours ago, AlamoVampire said:

? I do not understand

It's German for yes. I was just writing in German.

Share this post


Link to post
Share on other sites
Posted (edited)

interesting idea, its not the basis of ksp though, as ksp is more along the lines of a space sim, not a scifi sim (in my eyes, there`s a difference ;d), but it`s still an interesting idea never the less. But! Alas! there`s a solution!, so, each player in the multiplayer ksp server thing (tm) have their OWN map screens, if they want to see each others ships, they sync their map views (kinda like DMP), but, in time warp, you move, but the planets don`t move, so on each player`s screen (if their synced), you go zipping by, but if your within a certain limit (2km?), you cant time warp. So, once you reach your encounter to the planet, you teleport to the plant`s soi, at your periapsis, like usual, so all normal maneuvers would work (hohmann transfers), just you won`t see the planet heading towards you until you arrive in it`s soi

just a thought!

Edited by FokkerAce

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now