Jump to content

Possible Solution to the Multiplayer Issue


Recommended Posts

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.

Link to comment
Share on other sites

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. 

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 =/

Link to comment
Share on other sites

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.:)

Link to comment
Share on other sites

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
Link to comment
Share on other sites

  • 5 months later...

Just as a idea what if we did go DMP style and worked with smaller servers of 2-4 people because when i want to use a DMP server its normally with just a friend i don't care about all the other people on the server doing what ever and i find the sync system works much better when you limit the amount of people using it its much more manageable and this would also put less stress on servers then having large 20 player games. 

Link to comment
Share on other sites

Here's another way Multiplayer could work

The multiplayer server is a realm that only exists in normal time, time warp is not allowed.*

When a player wants to do a transfer, they are removed from the multiplayer universe and placed into a locally hosted instance that functions exactly like single player. In this universe, time warp functions as it does currently in single player.

When a player is done their maneuvering, they can re-enter the multiplayer universe, but only if they are in a stable orbit around a single celestial body. The game would then take the information about their orbit and translate it to the multiplayer universe as best as it could. To other players, your craft would suddenly pop into existence out of nowhere. For you, your location relative to the planetary body you are orbiting would remain the same, but everything you are not interacting with would suddenly jump to a different location.

When you decide to re-enter the multiplayer world, a ghost image of the multiplayer location of moons is shown, and if your orbit intersects their SOI you are prevented from re-entering. (Not so sure about this part)  

Example: From low Kerbin Orbit, you decide to go to the mun. You enter single player, vanishing from everyone else's view. You fly to the moon as per usual, using time accelerate to make the trips last only a few minutes. To you the moon has moved a considerable distance but to everyone else, it is in roughly the same place. Once you are in a stable orbit around the moon (Let's say its a polar orbit), the game allows you back into the multiplayer instance. Everyone else suddenly sees you appear in a polar orbit around the mun (which has not moved substantially to them). And to you, the mun has jumped backwards in time by several days, but the characteristics of your orbit has remained the same. The ground beneath you has moved back in time as well.

Advantages: This system would insure that the same amount of resources would be used as per normal, and the same amount of planning and skill would be needed to make transfers between SOIs.

Disadvantages: I guess you could game the system by warping one planet to an optimal transfer window in single player, and when you return to multiplayer have traveled further than you should have?

Rendezvousing with other players seems to be confusing with this system. Perhaps someone else has a solution to this problem?

- - - - -

*There are other systems already stated in this forum that can change this, but it's irrelevant to this instance.

Link to comment
Share on other sites

On 25/10/2017 at 11:29 AM, Helmetman said:

The Multiplayer issue?

By 'issue' you mean the threads about multiplayer being posted?

Solution: Stop making these threads.

 

You know... if those threads are a issue for you, you should stop to keep those threads alive by posting in it.

Link to comment
Share on other sites

Although I'd love to be able to play KSP with other people, I just don't think it's the type of game for it. Multiplayer would just over complicate things and require all sorts of awkward time-bending mechanics. If you wanna play with others maybe you could just livestream your game and have your friends contribute their ideas and plans for the mission, and also help you out with maneuver nodes and such, or just pass a save around like some people already do. I don't think it's possible to create a true multiplayer version of KSP without throwing the 'simulation' part out the window.

Link to comment
Share on other sites

  • 3 months later...
4 hours ago, TheKSPBeginner said:

Important necro

Say player #1 time warps.

Their presence in the past can be saved.

Once player #2 does a rendezvous, they can "sync" up to each other.

Then you would end up with two different versions of player #1's craft.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...