Jump to content

Why does multi-player have to be hard?


-Gamah

Recommended Posts

I don't get why multiplayer has to be so difficult, why does there have to be an issue with the time warp? Why can't the connection be P2P, and simply send location/orentation data of the other player(s) debris/craft at all times, regardless of warp? (If you've ever played trackmania, you've experienced this in action.)

For instance, Player x is in LKO, burning for the mun, I'm already orbiting the mun. Player x completes his burn, and accelerates his ship to coast to the mun. Meantime I continue adjusting my munar orbit, waiting for him to arrive. All physics/time acceleration happens locally on player X's computer. I just see his ship come at near-light speed towards me while he's using warp.

This allows both of us to time warp at our leisure, but as well as if we want to fly close together/interact, we can both opt not to use time accel and do some cooperative flight.

The only cons that I can think of for this type of MP system is that inter-player collisions might be difficult to account for, though I think if both players are in realtime simulation, the physics could just ignore player collisions at anything other than 1x mode. The other con would be that communicating several ships/bits of debris would be kind of cumbersome for bandwidth... but surely a distance/trajectory based approach (don't render/transmit ships or parts that you won't be seeing anytime soon) could clear a lot of that up.

In the event that players would want to compete in a "race" the time accel issue isn't unfair. Both players have independent access to warping, and it will still increase their relative mission time at the same rate. If player X lands 4 minutes earlier in physical world time, that doesn't mean that I can't land 2 minutes sooner than him in game time with a better mission plan. Our game time's would be calculated independently, but some sort of trigger for touchdown on a celestial body would then have the client report current mission time for scoring, warp compensated.

Link to comment
Share on other sites

Why is this in challenges, if anything it should be in Off-Topic :)

And does Track mania have time warp, no.

What do you do while your friend is warping to Jool? Not a lot, it'd be quite boring, you'd have to all agree to warp at the same time, at the same rate, and stop warping at the same time whenever someone wanted to do something, one of you could easily miss your chance to do a maneuver and end up flung out into deep space.

That's one reason multiplayer is hard :)

Link to comment
Share on other sites

That could be a idea, my idea was this:

(btw, i play trackmania too, wanna play? :P (ive actually never experienced what you mean) )

When a player joins the game, everyone is at 1x warp.

now, when you want to accelerate to say, 100x, it loads you on to a different "section" of the server, witch while you are in that speed, you only see players going 100x, because you are in that "section", kinda like joining a mini server within a server.

Also, this topic may get locked quickly. the topic has been descussed to death.

Link to comment
Share on other sites

For instance, Player x is in LKO, burning for the mun, I'm already orbiting the mun. Player x completes his burn, and accelerates his ship to coast to the mun. Meantime I continue adjusting my munar orbit, waiting for him to arrive. All physics/time acceleration happens locally on player X's computer. I just see his ship come at near-light speed towards me while he's using warp.

This allows both of us to time warp at our leisure, but as well as if we want to fly close together/interact, we can both opt not to use time accel and do some cooperative flight.

But in single player, when you accelerate time, all planets and moon start moving faster as well. So what do you do if two people are moving towards the mun simultaneously, one with x1000 timewarp and the other with x10000? How fast does the mun move? No matter how you look at it, one of them will miss the mun entirely...

Link to comment
Share on other sites

But in single player, when you accelerate time, all planets and moon start moving faster as well. So what do you do if two people are moving towards the mun simultaneously, one with x1000 timewarp and the other with x10000? How fast does the mun move? No matter how you look at it, one of them will miss the mun entirely...

Ah, finally someone with some sense who understands what's going on.

However, this is the beauty of the idea. Assuming all positions are cast via relative SOI (current orbiting body), it won't matter if my mun is at 270 degrees while the other guy's mun is at 90. When he crossed into the mun SOI, his ships will be at "xyz" meters from the surface facing vector "lmnop" In a worst case scenario, users will experience other players teleporting from time to time (and side by side injection orbits are probably impossible), but if we are both 10km from the surface of ike, at the north pole, in our own simulations, it doesn't matter if he's on the opposite side of the sun from me on his end, the relative coordinates would allow us to play in close proximity.

Link to comment
Share on other sites

To solve this warp problem you simply press a button on screen that would be a 'ready' 'not ready' status so when both players are set as ready it then warps you both at the same warp speed or roughly inbetween if you both cant decide.

Link to comment
Share on other sites

To solve this warp problem you simply press a button on screen that would be a 'ready' 'not ready' status so when both players are set as ready it then warps you both at the same warp speed or roughly inbetween if you both cant decide.

The way DEFCON does it would be fine (allows each player to set and runs at the slower pace), but can you imagine that in a setup with any number of players? Not going to work. If you're talking about servers with 2/3/4 people then -maybe-, but eh.

Link to comment
Share on other sites

However, this is the beauty of the idea. Assuming all positions are cast via relative SOI (current orbiting body), it won't matter if my mun is at 270 degrees while the other guy's mun is at 90. When he crossed into the mun SOI, his ships will be at "xyz" meters from the surface facing vector "lmnop" In a worst case scenario, users will experience other players teleporting from time to time (and side by side injection orbits are probably impossible), but if we are both 10km from the surface of ike, at the north pole, in our own simulations, it doesn't matter if he's on the opposite side of the sun from me on his end, the relative coordinates would allow us to play in close proximity.

So then what happens when both players are in the same SOI and one timewarps and the other doesn't? They see the other ship just zip off at light speed? What if I am trying to dock with a station and player xyz comes along with his 2x physical warp and tries to dock there too? Seriously, this is why Squad said they would think about multiplayer later after the game is fully developed and released. Stop trying to bring the dead horse back to life, it's not going to happen until Squad is ready to think about it.

Link to comment
Share on other sites

So then what happens when both players are in the same SOI and one timewarps and the other doesn't? They see the other ship just zip off at light speed? What if I am trying to dock with a station and player xyz comes along with his 2x physical warp and tries to dock there too? Seriously, this is why Squad said they would think about multiplayer later after the game is fully developed and released. Stop trying to bring the dead horse back to life, it's not going to happen until Squad is ready to think about it.

If both players are in the same SOI, collisions are active but ONLY if both players are in 1x non-warp. If someone I'm playing with warps, then I see him move at his warping speed, he does not have any affect on me. I suppose the only error left to correct would be planet roation during warp... Not sure how that would be handled.

Link to comment
Share on other sites

The only way to handle that that's at all feasible is with serious kludging, and it'd be messy. Very, very messy. You also neglected to take into account the problem of planetary orbit, non-player-controlled orbital objects, etc. Who's debris is who's? Does the debris move at that person's warp speed too or only the warp speed of the hosting player? Which system has final authority over the position of what? When one goes down that path, one sets oneself up for a completely incoherent system. (It's much the same reason why computer systems that need to work together are kept in sync with each other. Sync errors are a serious problem when they crop-up, and usually to protect data consistency, data gets dropped intentionally when it's out-of-sync.)

There are very good, fundamental reasons why time compression in multiplayer games is not common. It's just way too hard to implement, it requires far too much planning, foresight, and cooperation for mutual benefit on the part of the players (i.e. never trust humans to play nice with each other), and it opens-up a host of possibilities for exploitation (cheating).

The only successful modification of time-scale in a real-time environment I know of is in EVE Online's time-dilation, and with that, the new time-scale is imposed by the server on all players connected to that node, so that relative to each other, players in the same area are all operating as normal. (The passage of time is only modified relative to real time, not relative to other objects in the game to each other.)

A more meta multiplayer environment might be more feasible (like say, the upcoming SimCity), but again, I'm not holding my breath for it.

Link to comment
Share on other sites

The real solution to warping has actually been made. From what I have experienced when Physical Time-Warping only your ship moves, not the planets or moons, they just move at normal time. You would need to add a higher warp and not be able to steer like normal time warp. Also when ships come within 5KM of each other they aren't allowed to warp over 1x

Max people on server: 4

EDIT: Still leaves problem at encounter, if it just moved at normal time it would be harder.

Solution: If the other player(s) is(are) also on an encounter for the same body you just normal time warp. If only 1 is on an encounter no one can time warp. No-one on encounter means physical time warp.

Edited by swiftgates24
Link to comment
Share on other sites

That doesn't solve the inherent problem of demanding that players get along with each other. Also, by what measure are you asserting that physical time-warp doesn't move other things in the game? As I understand it, only a 2.5km sphere around your craft (ish) has the physics engine working on it, and until then, the rest of the sim is on rails (and goodness, I sure hope it is).

The rest of the sim is moving VERY slowly in physical time-warp, so slowly I would not be surprised that it would be imperceptible.

Link to comment
Share on other sites

Why has no one brought up the idea that it doesn't have to be a "We all warp at the same time or no warp" sort of thing? Multiplayer on KSP could probably best be achieved by just syncing ships, and positions. Time can be flexible. I'd imagine not a lot of people will mind when Bob can warp to Jool at 100kx while Bill is lifting off from KSP at 1x. The best way to deal with it is not to make it so complicated. A simple syncing-type multiplayer would probably do just fine.

Link to comment
Share on other sites

Why is this in challenges, if anything it should be in Off-Topic :)

And does Track mania have time warp, no.

What do you do while your friend is warping to Jool? Not a lot, it'd be quite boring, you'd have to all agree to warp at the same time, at the same rate, and stop warping at the same time whenever someone wanted to do something, one of you could easily miss your chance to do a maneuver and end up flung out into deep space.

That's one reason multiplayer is hard :)

If you've played FSX in multiplayer, than you know how players pause independently of eachother in midair, why not have the same for warp?

multiplayer still has about 2 million other hurdles tho. your point is invalid OP!

Link to comment
Share on other sites

If you've played FSX in multiplayer, than you know how players pause independently of eachother in midair, why not have the same for warp?

multiplayer still has about 2 million other hurdles tho. your point is invalid OP!

I was trying to think of an example to use, and Flight Simulator is the perfect one.

Link to comment
Share on other sites

I was trying to think of an example to use, and Flight Simulator is the perfect one.

This is a much better example than what I could think of by using trackmania.

FSX locations are also P2P shared location data (vector and GPS) the software is not simulating physics for everyone else in the environment (the other planes in fsx/cars in trackmania/ships in KSP) merely drawing them on your screen where they are, not caring if their orbit makes sense. This allows anyone to warp whenever they want without affecting peoples local physics (another player warps, you can see him warping, but it doesn't do anything to your world.)

Think of it like other players are holographic dots on a radar, and not actually IN your physical representation of the KSP world.

Food for thought on the multiplayer aspect of the game. Perhaps reading that threat can bring you new ideas/ways to solve this problem!

http://kerbalspaceprogram.com/forum/showthread.php/22610-KSP-Public-Saved-Games-%28kind-of-like-a-sever%29

This is exactly what I mean, only update it on a realtime basis, from within the game engine so that ships/orbits can modify/update when they become stable instead of having to reload the save/persistence file.

Link to comment
Share on other sites

I don't think that multiplayer for this game will ever be anything more than a file sharing program.

I think that they COULD implement some sort of position/ship syncing. If the SA-MP team could do it with San Andreas, a game that arguably had ONLY single-player in mind, then I believe Squad could do it.

Link to comment
Share on other sites

Yes but cars are far simpler than physics on spaceships under warp. Not only do you have to figure out what each player is loading, you have to figure out which warp rate celestial bodies and other unloaded spaceships orbit at. This is nothing at all like GTA San Andreas.

Link to comment
Share on other sites

Yes but cars are far simpler than physics on spaceships under warp. Not only do you have to figure out what each player is loading, you have to figure out which warp rate celestial bodies and other unloaded spaceships orbit at. This is nothing at all like GTA San Andreas.

You completely missed the bus sir.

Trackmania does NOT calculate physics for non-local cars. It merely draws a (picture if you will) car relative to the location it should be at, and vector it should be pointing at, based on data received... It doesn't care at all how fast the car is going, how much grip there is (physics things) it's merely a hologram that gives you a visual representation of where it is.

This is exactly like GTA:SA

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