Jump to content

Recommended Posts

2 minutes ago, razark said:

Oh, well maybe he can answer my questions:

[...]

In DMP, vessels in the past cannot alter vessels changed in the future. There's a simple check to take care of this.
Docking ports may actually unintentionally work, now that I think about it - this could easily be fixed though.

Link to comment
Share on other sites

3 minutes ago, dsonbill said:

In DMP, vessels in the past cannot alter vessels changed in the future.

So in this situation, A would occupy the docking port, and B would see it as empty, but would not be able to dock to the station at all?

Hrm.  That's interesting.

 

Would this also apply to collisions?  If the player in the past runs their ship through the solar panels of the station while somebody is docked in the future, does the ship pass through the panels without damaging them?

Link to comment
Share on other sites

12 hours ago, razark said:

So in this situation, A would occupy the docking port, and B would see it as empty, but would not be able to dock to the station at all?

Hrm.  That's interesting.

 

Would this also apply to collisions?  If the player in the past runs their ship through the solar panels of the station while somebody is docked in the future, does the ship pass through the panels without damaging them?

Actually,  both vessels do get damaged (on your client), but about 30 seconds later when the next ProtoVesselUpdate comes in, everything will be fixed. On the other player's end, because they're in a different subspace, they will have no idea that any of this happened, except for maybe seeing your vessel shoot past them.

On occasion, collisions do work the way they're *supposed* to in a multiplayer game, because both clients agreed on what was happening.

In an official multiplayer, the weirdness of collisions should be solved mainly by being server-authoritative. If official multiplayer isn't server-authoritative, well, expect it to be like DMP, but a lot smoother.


On another note, we actually could make DMP rather smooth - we just tried our best to save people's bandwidth.



At the current time, we all find it quite difficult to muster up the motivation to work on DMP.

 

 

Edit: So, after digging around a bit and asking @godarklight, I've found that docking ports do indeed still work, and have some funny consequences. This wouldn't be too terribly hard to fix though - just need something to disable the docking ports that have been modified in the future.
You could do this either by actually disabling things, which I'm not sure is possible because I didn't check out Asm-C#, or by replacing the docking ports with a dummy part that does nothing but look nice, and at the moment continuity is upheld the docking ports get reactivated.

All in all, this is pretty simple. It might sound completely insane, but such is the world of programming and especially modifying games.

Edited by dsonbill
Add clarifications
Link to comment
Share on other sites

Also keep in mind that dmp is still a mod and can benefit from access to the sourcecode of the game.

Also if im correct ksp uses single precission for xyz coordinates. This can cause shifts in the position of objects between clients.

The Server is a small message relay (even works on rasberry Pi) that just relays updates on vesseles among the clients.

The client just places the objects in the singleplayer game. That in turn causes some issues with external influences like atmosphere.

But in general it works rather good if you forgive it its ocational choppyness and glitches.

I invite everyone to just try it: http://d-mp.org

Link to comment
Share on other sites

20 hours ago, dsonbill said:

This wouldn't be too terribly hard to fix though - just need something to disable the docking ports that have been modified in the future.

So this would mean that only he port that is occupied in the future would be unavailable, but other ports on the station would still work?

 

20 hours ago, dsonbill said:

All in all, this is pretty simple. It might sound completely insane, but such is the world of programming and especially modifying games.

I think I'm following what you're talking about, and it actually does make more sense than what I feared could be the case.  I'm just really glad somebody finally answered my questions.

Link to comment
Share on other sites

  • 3 weeks later...

It's now been more than 2 years that I'm watching for KSP's multiplayers news each month, yet nothing comes out.

How is it going? Can the devs talk about it? Are they even working on it? WHEN will it be out?

 

I'm totally in love with the game, played it a long time, but I just wan't to build nice things and stuff with my friends on a stable platform. DMP quite does the job, but with close distance movement it's all laggy and not synchronized.

The wait is really too much, idc if I need to pay more for getting the devs to do this, I would totally do. But please, talk about it! What's the news??

Link to comment
Share on other sites

I have been playing for a long time using DMP. DMP is a great MOD.

However , in the future I want to play lightly in the official Multiprayer with my friends.

When will this wish come true ?

Is there no technology to achieve this in the world ?

Link to comment
Share on other sites

10 hours ago, EBOSHI said:

I have been playing for a long time using DMP. DMP is a great MOD.

However , in the future I want to play lightly in the official Multiprayer with my friends.

When will this wish come true ?

Is there no technology to achieve this in the world ?

I think everybody who want MP (Im in this case) are realy waiting for an official MP :) 

Link to comment
Share on other sites

The issue with modded multiplayer is that the concept of multiplayer really requires more than a mod will ever be capable of doing.  It just needs more integration with the core game than a 3rd party can do effectively.  The only way we will ever get a truly exceptional multiplayer experience is to have it stock.

That's not to say DMP hasn't made a good showing of it, btw, but it's always going to have problems in it's inverted mechanic state (which is the only way a mod could do it) where the client dictates everything and the server just tries to make the clients cooperate.   In a MP game the server has to be in control and the clients must be slaves to that server, and that is where DMP suffers.

Edited by Alshain
Link to comment
Share on other sites

I've never been interested in multi-player (in any game), for one thing my health is crap and I might have to suddenly drop out for an hour, day, month etc. And I'm not really competitive by nature (or maybe too competitive).  But I was thinking about this: if there were games where you could just drop in and out casually maybe "purchase" a bit of real-estate to build some interesting structure for others to admire and so you could travel around and see what others have made.  And a true spacecraft exchange where people could park their vessels for others to try out (in other words in game craft file downloading) could be fun. 

 

It does seem like long distance travel would have to be more like hyperedit than time warp (unless you could get every-one to want to time warp the same amount of time at the same time which seems unlikely).  Or maybe a "wormhole" mechanism of some sort.  Also for a casual friendly game collision detection would probably have to be turned off (well except maybe between good friends with good skills).

Link to comment
Share on other sites

How would time acceleration work in an MP game? I'm constantly messing with time acceleration in single player and can't picture how I could accelerate time when others in the same MP universe aren't.

Link to comment
Share on other sites

1 minute ago, tjt said:

How would time acceleration work in an MP game? I'm constantly messing with time acceleration in single player and can't picture how I could accelerate time when others in the same MP universe aren't.

Well, in the DMP mod each person is on their own 'instance' so players can time warp all they want without affecting other players.  However, any vessel in the 'future' can not be accessed.  At any time a player may choose to 'sync' to any player that is in the future, basically time warping them forward very quickly.   There is a downside to this however, if you leave the game (including unintentional disconnects) you jump forward to the latest time frame which may be problematic if you were sending a long distance vessel off somewhere and miss the capture window or if you were waiting on a specific planetary alignment for a burn.  It's certainly not a perfect system but I have no doubt if Squad does this officially they can come up with ways to deal with those problems.

Link to comment
Share on other sites

I used to be a fan of co-op where one player is dominant and decides when to warp while the other is only a co-pilot, but that idea sucked. Someone actually had figured out all those problems connected with warping, altering the future and such. The answer would be: everybody warps at the same time.

Basically two people are going somewhere. Let's say one is on it's way to Duna and one is flying in a plane on Kerbin. The one going to Duna wants to warp for an hour, but the second player wants to land and warp only for, let's say 45 minutes. They both click the warp button and warp for 45 minutes into the future. It's pretty simple.

However the problem with this is quicksaves and quickloads. People would have to vote if they wanted to revert back since they share the same time line.

Anyway, I don't think KSP would be a good MP game. There's too much trouble connected with all that. I would love to see a Kerbal Aircraft Prpgram as a sequel with multiplayer. It would be amazing to race, dogfight or simply fly with other people and there wouldn't have to be any warp involved since long interplanetary trips are not possible in jets.

Link to comment
Share on other sites

What would you do? The only thing I can really think of is flying/driving planes/rovers alongside each other, building bases together and attacking each other. Everything else would be done individually anyway.

Link to comment
Share on other sites

1 hour ago, tjt said:

How would time acceleration work in an MP game? I'm constantly messing with time acceleration in single player and can't picture how I could accelerate time when others in the same MP universe aren't.

That is the big elephant in the room. In the early days of MP mod development it was said that “time acceleration is not a problem at all, in fact it's the easiest thing to handle” but perhaps that was only meant from a programmatic point of view, and not from a gameplaying point of view.

As @Alshain points out (I’d rather not quote him), when you have a true multi-player setup with a dedicated server and client apps, things can get rather interesting. Some options to consider:

  • RemoteTech-style flight computers that you can program in advance to make your vessels do things while you're not around (for intercept/orbit burns)
  • No timewarp at all! Space battles can be exciting enough just around the Kerbin system, one would think.
  • Fixed timewarp: turns multi-player KSP almost into a turn-based game. Say, 4 times per day there will be a "warp event" in which the game warps an x-amount of time forward (executing flight computer orders at the righ moment). A big timer runs on top of the screen, showing when the next warp will be
  • Wormholes, no timewarp: dealing with the need to timewarp by reducing lengthy transfers to other planets. Activating a wormhole (whose position might correspond with the required ejection angle) requires a certain DV amount

And I’m sure there’s many more; native multiplayer support will surely be cool and be able to address issues that we currently see with multiplayer

2 minutes ago, Brownhair2 said:

What would you do? The only thing I can really think of is flying/driving planes/rovers alongside each other, building bases together and attacking each other. Everything else would be done individually anyway.

  • Complex community projects like large bases, either in orbit or on the surface. A monster station that takes 30 launches to build and daily refuel missions might not be fun playing solo but can easily be done by a team of five or six fanatics
  • Relay races! MSFS had a yearly relay-race event between the large FS forum websites that was always great fun to watch. I can imagine something similar with an "Around Minmus" race or something along those lines
  • Brutal combat. What else does one need?
  • Again, MSFS: people enjoy simulating reality. Virtual airlines (spacelines?) with assignments to bring cargo and passengers from A to B. There could be a "flight control mod" that hands out man-made missions, arranges traffic control around spaceports, etc.

You'd be amazed what the community will come up with it true multiplayer exists (and I'm even not that big of a fan of multiplayer)

Link to comment
Share on other sites

Interesting..I think there's a question of scale...here are two examples:

  • "co-op" - several people working on the same project - in this format it would be relatively simple to plan time-warps. Examples:
    • I want to work with a couple friends to launch and maintain an orbital station
    • some friends and I want to plan and launch a Joolian mission with several craft and multiple landers
  • "persistent universe" - think "EVE online" where people are able to build and maintain structures that complete strangers can interact with

Co-op seems pretty workable because you're focused on one project and could agree on time-warps. Persistent Universe would be really difficult to time-warp because everyone is doing their own thing.

Edited by tjt
Link to comment
Share on other sites

If multi player is adopted, then like most games that have a single player option, some things will not work.... like time warp.

Having said that.... multi player in KSP can be broken down into to stages.... building.... and flying. In building, time doesn't matter. It stops, much like it does now. The only thing is, as soon as you press the "finish" button.... you have to wait till all other players are also finished...

THEN.... the fun starts.

The game can then allocate launch windows to each player, gives then X number of minutes to launch, or take off... if they fail, they are placed at the back of the waiting list.

If your ship doesn't fly and you need to make changes... yeah, hard call... you probably could... and then you re-enter the game by joining the launch queue again, the only thing then is time would still move forward while you are building.

hmmm.... to put it into a nutshell... a launch queue might be the way to do it, as determined by the game...

Link to comment
Share on other sites

20 hours ago, kiwi1960 said:

The game can then allocate launch windows to each player, gives then X number of minutes to launch, or take off... if they fail, they are placed at the back of the waiting list.

If your ship doesn't fly and you need to make changes... yeah, hard call... you probably could... and then you re-enter the game by joining the launch queue again, the only thing then is time would still move forward while you are building.

hmmm.... to put it into a nutshell... a launch queue might be the way to do it, as determined by the game...

In your launch window example - do you envision a server with a continuously running clock that players would "jump" into when they queue up for launch? If so, launch is really the easy part. It's a 10 minute process that most people do in real time. The challenge will be when I want to transit to Duna and it's going to take 200 days. If there's one continuously running server clock then the player will have to literally wait 50 earth-time (200 Kerbal) days before their Duna insertion. if the player does any kind of time acceleration then they're really not in the SAME universe (time/space) as other players.

Link to comment
Share on other sites

1 hour ago, tjt said:

In your launch window example - do you envision a server with a continuously running clock that players would "jump" into when they queue up for launch? If so, launch is really the easy part. It's a 10 minute process that most people do in real time. The challenge will be when I want to transit to Duna and it's going to take 200 days. If there's one continuously running server clock then the player will have to literally wait 50 earth-time (200 Kerbal) days before their Duna insertion. if the player does any kind of time acceleration then they're really not in the SAME universe (time/space) as other players.

Yes, its hard.... in my comment, I was thinking more of fighters and space planes... land based tanks and ships... because I might be wrong, but it seems that the chicken hawks among us want to fight each other using the weapons mods.... :) Nothing wrong with that, but lets fact it, a multi player "space" game with 200 day + missions would be a tad boring...

It could be used for that, and I'm guessing those players are going to suffer... and be bored out of their skulls... there would be no way to warp time for those players unless all players agreed to it and anyone of them could stop it at any point...

Sorry.... it would be for the war gamers mostly.... which counts me out as well.

Link to comment
Share on other sites

On 27/06/2016 at 6:31 PM, Alshain said:

In a MP game the server has to be in control and the clients must be slaves to that server, and that is where DMP suffers.

Problem with KSP being that it really isn't a game where you want to dump all the math on the server. Right now I can run a Minecraft server and several DMP server instances on the same micro-instance VPS with its single virtual CPU and massive (heh) 1.5GB RAM. Even the Minecraft server is more of a RAM hog than any kind of a CPU eater, at least with the small number of users it gets.

If DMP was primarily server-controlled, you're upping the required machine stats to something on the order of a multi-core dedicated host, which most people just aren't going to afford. While the simple message-passing DMP server has its issues, the only extra brains that really should be added to the server (and probably client too) is whatever is required to ensure proper consistency between clients. Asking the server to calculate everything in a multiplayer KSP game with probably thousands of parts active in multiple physics bubbles is going to be a very big nope.

Link to comment
Share on other sites

1 hour ago, technicalfool said:

Problem with KSP being that it really isn't a game where you want to dump all the math on the server. Right now I can run a Minecraft server and several DMP server instances on the same micro-instance VPS with its single virtual CPU and massive (heh) 1.5GB RAM. Even the Minecraft server is more of a RAM hog than any kind of a CPU eater, at least with the small number of users it gets.

If DMP was primarily server-controlled, you're upping the required machine stats to something on the order of a multi-core dedicated host, which most people just aren't going to afford. While the simple message-passing DMP server has its issues, the only extra brains that really should be added to the server (and probably client too) is whatever is required to ensure proper consistency between clients. Asking the server to calculate everything in a multiplayer KSP game with probably thousands of parts active in multiple physics bubbles is going to be a very big nope.

 

Why would you say that?  Servers are generally more powerful that client computers.   It's not out of the ordinary at all.  There is nothing you can add that will ensure proper consistency, if two clients are each in control of their own calculations, there will be conflict and that leads to the bulk of issues that you see with DMP.  When one computer says it should be this way, and the other computer says it should be another way.  The client renders it to the user before the server can make any corrections to sync up the clients.  So ships appear to jump around, actions you take may be overridden by the decisions of another client, etc.

I don't think requiring a capable server machine is anything out of the ordinary.  Inevitably hosting services will pop up if you can't afford to buy a machine outright.

All the calculations do not necessarily need to be handled by the server either, they just have to be delegated by the server.  The client PCs could be tasked by the server for offsite calculations, but this would be done at the servers command, rather than each client doing its own thing independently.  I don't know if Unity has this capability, but it is a theoretical possibility.

Edited by Alshain
Link to comment
Share on other sites

1 minute ago, Alshain said:

Servers are generally more powerful that client computers.  

Not always, and certainly not unless you're paying a large sum of money each month.

As for different clients having different results, the server can choose randomly (or based on a benchmark result) which clients should be authoritative when physics bubbles cross and players get close.

Really, dumping all the math on the server for a game like KSP would be incredibly demanding, perhaps beyond even a powerful host machine if multiple server instances are expected to be running (say for instance, on a commercial hosting service). Pushing as much as is feasibly possible to client-side is probably going to be the only way anybody can run their own server. Possibly the only way a multiplayer KSP could be done, unless someone has really cheap access to a datacentre.

Link to comment
Share on other sites

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