Jump to content

Multiplayer...I know..but bear with me...


hozzdutch

Recommended Posts

Hi all,

Me and brother play this separately and love the game so far. I know multiplayer is not planned for the initial release but we was talking about how great it would be if it could be.

Initially I thought that it couldn't be done - the time warping feature would make it impossible for other people to play.

But I've come up with an idea that might make it possible for time warping to work that may make multiplayer possible and I just want to get my idea to the devs cos I can't post this on the suggestions forum -

Multiplayer would work with a server side version that is constantly running and client that connects in. This works it a normal time rate

If only one person is connected, time warp works like normal and server time is speed up.

If more than one is connected, when a player hits time warp, their local client works the same as it would at the moment. On the server though a log file starts to get created detailing the movements of the players ship throughout the time warp but other players ONLY see the ship in the location it was at at actual server time. Other connected players would see the normal orbit of the other ship as a solid line, but at the point the warping player starts to warp, the line becomes a dotted line representing their warped journey as it will happen.

When the warping player finishes playing and goes back to the mission list, they see the normal server time so their ship would look like it's not moved but the mission log shows the their missions is warped and not yet current to server time. If they enter that missions again, the log file on the server is loaded, and they go forwards in time to that point again.

If all players connected are warping, then server time warps with them until one player goes back to normal time.

This is how I believe time warping could work in multiplayer. Does anyone see problems with the way this would work?

Link to comment
Share on other sites

One of the problems you're overlooking is that when you warp the movement of the planets and moons is also sped up. Allowing players to timewarp would create different realities across the server. There are also much more issues with multiplayer such as what happens with modded versions of KSP? And if two players want to launch at the same time?

Link to comment
Share on other sites

People can also exploit warping to their advantage. Let's say a certain troll is plotting an attack on your space station. he warps up to it, destroys it, and warps away. You try to get revenge. you approach his station when suddenly, it warps off.

Link to comment
Share on other sites

One of the problems you're overlooking is that when you warp the movement of the planets and moons is also sped up. Allowing players to timewarp would create different realities across the server.

.

Warping would have to be global - equal time speed for all.

Link to comment
Share on other sites

.

Warping would have to be global - equal time speed for all.

But what if your Jool encounter is 36 days away? Multiplayer can't really work for KSP simply because of warping alone.

Link to comment
Share on other sites

.

Warping would have to be global - equal time speed for all.

Impossible: imagine someone flying in the atmosphere and another person on his way to Jool or Eeloo, or what if that first person is launching or using a rover? :)

Link to comment
Share on other sites

One of the problems you're overlooking is that when you warp the movement of the planets and moons is also sped up. Allowing players to timewarp would create different realities across the server. There are also much more issues with multiplayer such as what happens with modded versions of KSP? And if two players want to launch at the same time?

His suggestion I believe is to keep track of the different realities. The real problem occurs when one players time forwarded reality collapses because of some event someone else caused in its past.

For example: I have a ship waiting in LKO for a transfer to JOOL, I timewarp to the transfer window, I jet off, then someone else approaches my ship in LKO while I am away warping, docks with and deorbits it. Now my reality has collapsed. The log file on the server can not be loaded anymore because the events it contains are not valid. Maybe you can find some fancy way around that, but every one of those fixes will limit the ways multiple ships can interact with each other. End of story: there is no interaction at all, and you could as well each play singleplayer.

Link to comment
Share on other sites

This got me thinking...what about "warp-allowable time windows"? Like, first of all, any sort of multiplayer implementation would have to be such that everyone participating on it would be aware that time-warp will only be allowed on certain "windows" of opportunity. It's like how time warp gets "locked" to certain settings depending on your altitude from a body--time warp will be automatically disabled for all, if a member of the multiplayer group is engaged in some kind of maneuver that would disallow it, such as perhaps, ascending from Kerbin in a SSTO spaceplane, or someone in entry interface, etc. However, if most of the players are in some kind of "coasting" or "landed, sitting idle" situation, then the "window" for warping will be open, and thus people who need to warp, can warp. Meanwhile, a "data inspector" will constantly monitor the "states", and locations/orientations of all the spacecraft in that "multplayer space" or instance, so that it can be sure that if an encounter between two player occurs (i.e. successful rendezvous) then all data across all the participants would be in synch--if for some reason they are not, then an "all out, across the board" update will be given, and there might be some slight "jumping" of points (i.e. someone lagging behind in the synch might see his vessel do a little "jump" to update it's proper position) just to ensure that everyone is properly where they should be.

Link to comment
Share on other sites

This got me thinking...what about "warp-allowable time windows"? Like, first of all, any sort of multiplayer implementation would have to be such that everyone participating on it would be aware that time-warp will only be allowed on certain "windows" of opportunity. It's like how time warp gets "locked" to certain settings depending on your altitude from a body--time warp will be automatically disabled for all, if a member of the multiplayer group is engaged in some kind of maneuver that would disallow it, such as perhaps, ascending from Kerbin in a SSTO spaceplane, or someone in entry interface, etc. However, if most of the players are in some kind of "coasting" or "landed, sitting idle" situation, then the "window" for warping will be open, and thus people who need to warp, can warp. Meanwhile, a "data inspector" will constantly monitor the "states", and locations/orientations of all the spacecraft in that "multplayer space" or instance, so that it can be sure that if an encounter between two player occurs (i.e. successful rendezvous) then all data across all the participants would be in synch--if for some reason they are not, then an "all out, across the board" update will be given, and there might be some slight "jumping" of points (i.e. someone lagging behind in the synch might see his vessel do a little "jump" to update it's proper position) just to ensure that everyone is properly where they should be.

This has also been suggested. The same problems as the arguments above plague this sort of thing from working(ie: transferring to Jool while someone else is transferring to Low Munar Orbit.

Link to comment
Share on other sites

This has also been suggested. The same problems as the arguments above plague this sort of thing from working(ie: transferring to Jool while someone else is transferring to Low Munar Orbit.

No no, most of your scenarios involve DIVERSE MISSIONS! What I propose is a limited kind of multiplayer (even limited number only, say max of 8 players), wherein ALL participants agree that they are headed to ONE body or in the VICINITY of one common body (i.e. 8 players all going to Duna/Ike). So with this, anyone going "out of range" of an accepted radius from one another is considered to be "KIA"...everyone must be in close proximity so that all the complex physics doesn't have to go awry because someone else is doing something completely different from someone else. This way, the "warp window" methodology CAN work--additionally, if the maneuvers require an insane amount of physics, then it is also a GIVEN that the players do that activity ONE at A TIME--i.e. all of them arrived in Duna successfully, and are in orbit, but when they all deorbit at once, the physics of atmospheric friction and so on will hamper the across-the-board sharing of data...so to make this work, it will be a prior agreement that each vessel or "mission sub-entity" will de-orbit from LDO one by one...once landed, that data point (landing spot) is already static, so there will be no data-sharing issues (you will just share the coordinates of the landing spot across the board).

Link to comment
Share on other sites

I agree that with the existing time warp mechanic, multiplayer is incompatible in the traditional sense and would need some heavy compromises or changes in order to function properly - but that's no reason to give it up completely. Multiplayer would be a very compelling direction to take this game and shouldn't be ignored.

What people forget is that this Multiplayer doesn't have to take place in the traditional real-time sense, but can be a more passive sense of interaction. I cite the Kerbal Livefeed mod which is surprisingly fun to have running in the background while you're playing. To take this further, why not add a dynamic economy that player's can buy and sell goods on, like Kethane? and i'd love to see the spaceport integrated ingame in some form, so you could 'buy' these ships or parts off of the in-game market in the same way that you currently download and add them to your mod folder. What about collaborative ship building too? There are already groups of shipbuilders on the forums that have to make do swapping .craft files or using the sub-assembly mod. So it makes sense that they could invest in their own corporation hangar to start creating parts and construction massive builds, that just aren't practical for people to complete in the existing VAB. These are all interesting directions to make the game more social (and inherently 'Multiplayer').

They are basically just augmentations and implementations of the existing forum and community. Between the community challenges, flag making, ship building and .craft file swapping, KSP is already multiplayer to an extent.

Edited by Sli
Link to comment
Share on other sites

The only way I think multiplayer would work is if you allowed people to control individual Kerbals when doing a landing mission. Time warping would be disabled completely for this until they're all back on board.

Refer to my last two posts--that's exactly what I'm talking about.

What people forget is that this Multiplayer doesn't have to take place in the traditional real-time sense, but can be a more passive sense of interaction. I cite the Kerbal Livefeed mod which is surprisingly fun to have running in the background while you're playing.

I think this is how some "multiplayer" games on Facebook works, right? Like Farmville, etc--people are doing the same thing, but not necessarily at the same time. And if the situation forces everyone to "be there at that spot, in real time" then simply lock "time warp" so that things can be done in their own time, without having to deal with the aftermath of everyone ending up not where they should be because each system's physics caused them to end up someplace else.

Edited by rodion_herrera
Link to comment
Share on other sites

Ok I see what people say about people interfering with the already run missions logs.

So a way around that would be that when a 'future mission' has taken place, the ship becomes 'locked' by the server so that only the player who created the log can dock or interact with it until the server time has reached the log time. then it becomes fully available.

To save trolls killing your stuff, a way around this would be to perhaps lock or phase the station to other players so that if anyone tries to interact or dock with it other than the player who created it, they would just fly straight through it as though it wasn't there.

In fact expanding on locking theory, players could assign permissions to their stations/ships so that only people they trust can dock or interact with it. Anyone else who tries, can see it, but will fly through it as though it wasn't there.

But I don't see trolls as a problem in a private server environment. At then end of the day, you would only invite people you trust to it anyway.

Link to comment
Share on other sites

The only way i can see a multiplayer system that works, is if one person acting as mission control is in charge of time warp and the rest are player controlled kerbals that get sent on missions. Time warp would then only work when everyone is either in a stationary and/or non accelerating vessel. So when you want to warp to a maneuver node or planet intercept, everyone hops in their vessel and the mission controller then locks out individual vessel control and starts the time warps.

Link to comment
Share on other sites

The only way to have multiplayer with timewarp is to have it turn based. Basically you and your brother come up with a rule set that says what you can and can't do in one turn. Every time one person completes a turn they go back to the space center and hand over the controls to the next person in line. It's not real time multiplayer but its as close as we can get in KSP without throwing away a lot of the playability.

Link to comment
Share on other sites

His suggestion I believe is to keep track of the different realities. The real problem occurs when one players time forwarded reality collapses because of some event someone else caused in its past.

For example: I have a ship waiting in LKO for a transfer to JOOL, I timewarp to the transfer window, I jet off, then someone else approaches my ship in LKO while I am away warping, docks with and deorbits it. Now my reality has collapsed. The log file on the server can not be loaded anymore because the events it contains are not valid. Maybe you can find some fancy way around that, but every one of those fixes will limit the ways multiple ships can interact with each other. End of story: there is no interaction at all, and you could as well each play singleplayer.

Well, I can find a way to solve this! :) I think that we can apply the Quantum Mechanical Multiverse theory: The Many Worlds theory that every possible outcome happens. Basically, your ship can exist in 2 states at the same time. To do this the people involved with the change of status in the ship must be separated, at least temporarily. The person in control of your ship (you) would remain on your trajectory to Jool. And for the person de-orbiting you ship the server would:

1. Create an uncontrolled duplicate of your ship

2. Transfer the person who de-orbited you and the duplicate ship to another 'world'

3. Once both ships have landed or crashed or stopped interacting with each other, the duplicate would be deleted and the person who interfered would be transferred back to the original world.

4. All play returns to usual.

Link to comment
Share on other sites

I think a "lobby" analogy will work.

Imagine a multiplayer lobby, kinda like those places you hang out in before a game starts. The lobby will have a map display that looks a lot like the Tracking Station, showing who is on that particular game/server, and doing what. So you start at the KSC or you can begin someplace else, such as an empty vessel docked with another vessel being controlled by a real person, orbiting Jool. So, once that happens, the only true "real-time" thing going on, from the vantage point of the two players, is their current situation--all other situations are merely "abstract" events going on someplace else in the Kerbol system. So these two players who are in "real time", they are the ones who are, in effect, "bound" to do things together. Like, the "warp lock" I mentioned before in my earlier posts, will be applicable here. But what about cases wherein they are docked? Simple--someone will be elected to become the "commander" and that person can control warp at his/her whim, considering that the two spacecraft are functioning as one at that particular moment. The other player's controls are "frozen" whenever someone is active as a "commander"...once they finish re-entry into say, Laythe, ship has landed, if someone wants to driver a rover, then the real-time multiplayer, individual Kerbal can be controlled mode is once again active, and the two players can go about doing their stuff...

Link to comment
Share on other sites

I don't think that there would be too much trouble with deorbiting stuff as I doubt people would really be playing "open" multiplayer. If one of the guys I would be playing with deorbited a station I would drive over and smack him a few times. Even with that you could simply add the ability to "lock" a mission in a stable orbit. A locked part would be on the same rail system that the planets and possibly limit or exclude any interaction for it. As for time warping could you not do it by doing the slowest speed in what SOI you are in?I mean does it really matter if someone is doing x100 mapping Ike if your trying to land on Mun? The only issues for I see is solar system level time warp and that is something that could easily be handled by the slowest speed selected. With the exception of ION engines most of my looking at the suns SOI is at max time warp. Make the Solar system have it own special Time warp so that you can speed it up to reach a proper transfer window with out messing with the time warp of the SOI that you are currently in.

Link to comment
Share on other sites

I think a voting system is best, you propose a warp and amount of time for warp and the server checks if everyone is eligible for warp (not moving, in any stable orbit or prelaunch) then starts a vote if everyone agrees there it goes! But I always imagine multiplayer as semi competitive coop with my friend.

Link to comment
Share on other sites

I think what the OP has listed would work fairly well actually. The idea of phased events in multiplayer games isn't unusual and could work quite well here. The addition of the dotted line style indicator for other players would also serve to guide other players with what missions are in progress and how they might be able to contribute to a server wide cooperative goal if the game were to go that direction.

I still would think that the servers would have to be limited to few players (< 8) because there would have to be a way for the server to catch up and aside from all players agreeing to accelerate server time I'm not sure how that would have to be configured. Without a catch up mechanism the server would accumulate large numbers of accelerated missions that the server time wouldn't be able to keep up with. There needs to be a way to keep missions mostly on the same page.

I think before multiplayer would make much sense though we need more objectives to strive for. Mostly now we have personal challenges. If we had more reasons to build space stations, moon bases, or interplanetary ships there would be more incentive for cooperative multiplayer. Without this there is little reason for multiplayer other than to fill the solar system with more stuff.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...