Jump to content

Simple form of multiplayer, some development questions


Forced1988

Recommended Posts

I still don't see how weird synching up and individual time warps for each player is better than a single time warp level for the entire server.

Simply because people may not want to timewarp when others do, causing problems in the server with people crashing. Or if a vote is used, people may not vote also leading to problems. People wouldn't play multiplayer if others decided when to timewarp, possibly ruining your work.

Link to comment
Share on other sites

In a persistent multiplayer, game time is linked to the server. So everyone whether they join now, or in a week will see the same game time when they play. Now start figuring out what you want for multiplayer features...

The only way to keep one universal time is for a single warp for everyone, all players would need to click a button that says 'yes I agree to warp' and then they would need to be in a game state that allows warping, and allows warping at the desired rate.

Edited by InfiniteDice
Link to comment
Share on other sites

Ok, the basics:

[*]View the server list

[*]Join a server

[*]Create a vessel and/or control your previous vessels

There are two places I can think of that would be best for entering multiplayer, given KSP's current architecture. One would be when you start new game / resume. New game could be expanded to include servers, with resume rejoining you to a favorite server.

It also would be possible to select server after starting, while chosing between SPH, VAB, etc.

I am certain that everyone will want the ability to chat while building vehicles. Being able to view another person's build in progress would be AWESOME. :cool:

[*]Fly around, get into orbit, whatever

[*]Chat with other players on server

[*]Quit

After quitting, your vessels disappear unless made public (similar to debris)? Landed vessels should be easy to display, since they are "static".

Obviously there needs to be some sort of authentication. Username + password, registration to master server, authentication through master server, you receive a session id which is sent to the server you're going to play on, and the server is going to query master server if you are allowed to connect or not. The password needs to be different from the one on KSP forums and store for obvious reasons, even thought the password is never stored as plain text.

I would recommend direct connection by TCP, at least to start, people can put up their connect info on the forum. :)

Vessels that are not public can't be destroyed by crashing into them, it will only destroy the vessel which is colliding with it.

I would recommend disabling all collisions and raycasts with non-public. You don't want people using jet exhaust to push other ships around or destroying them.

Otherwise looks great! Don't try to cram too much stuff into the first release. :D

The only way to keep one universal time is for a single warp for everyone, all players would need to click a button that says 'yes I agree to warp' and then they would need to be in a game state that allows warping, and allows warping at the desired rate.

Maybe this could be an admin/server setting. It would suck if one guy was late joining in and the rest took off without him and he couldn't catch up. Like how in Minecraft an admin can switch a person to Creative Mode.

I wanted also to include that guy who mentioned that someone had basic multiplayer code up on Github, that also sounds interesting!

Link to comment
Share on other sites

Maybe this could be an admin/server setting. It would suck if one guy was late joining in and the rest took off without him and he couldn't catch up. Like how in Minecraft an admin can switch a person to Creative Mode.

In every multiplayer game ever, people who start late have a disadvantage. Even in minecraft; if you join a server late, you don't have as many items as the orther people.

Simply because people may not want to timewarp when others do, causing problems in the server with people crashing. Or if a vote is used, people may not vote also leading to problems. People wouldn't play multiplayer if others decided when to timewarp, possibly ruining your work.

If each person votes on timewarp and the lowest timewarp wins, then people will be able to not timewarp whenever they want to.

Link to comment
Share on other sites

Even if it's competitive it's less disruptive to have (for example) to wait a little longer for your interplanetary transfer then to miss your injection window. Therefore the lowest should win. Anyway I can see this mostly being useful for a game with friends rather then necessarily a large massively-multiplayer game.

Link to comment
Share on other sites

Yeah, MMO seems a more distant goal. You need to make the steps there first. Not that it's impossible (no such thing in programming ;) ), but that it takes longer, so make some goals in the interim. :)

Basically, if needed, in an MMO, each "solar system" would follow the "instancing" or "co-op" model. So timewarp/pausing between systems is trivial, because we do not need to apply it. With massive ammounts of players, only those on the server/system/instance actually share the temporal effects (time warp, real time or pause).

So if you can do a co-op mode, you should be able to scale it to MMO at some point. Even if you decide or a large "hub" system (say Kerbin), then you'd keep that one system real time all the time, and leave the rest (out of the Kerbol influence) as "instances" that can timewarp as needed by the players via vote.

It may even be possible to instance individual ships, so their orbits are on rails (time warpable) but within 2.2km (physics sim) they can undock, redock and perform EVAs in "realtime". So you get both a local timewarp (physics effects only) and a global one (on rails/orbits).

Link to comment
Share on other sites

Also just saw that, would be so fun at lan parties, the admin could create challenges as first to the moon. I think someone will crack the multiplayer part one way or another ;) This community has made truely epic parts and plugins so i have faith =) cheers

Link to comment
Share on other sites

Just watching your friends is already somewhat possible with "Passive MP" and otherwise by using third party streaming methods.

I'm with "everybody votes for the same timewarp or there's no time warp" for any plugin. Anything else is essentially a major waste of time. Actual sync stuff is way more important than philosophical debate.

Link to comment
Share on other sites

what about for wimewarp, "temp phasing" that persons ship, so just they are time warped across but not everyone else? then when they de timewarp they rescyc at their new location? kinda like wow does in some zones now.

Link to comment
Share on other sites

I totally hope this works out, it would be so much fun. I will be keeping an eye on this thread and intend to use the passive system for the time being. Also, I'm totally in favor of the voting on the time warp problem. To me it sounds like you need to use the same system as DEFCON, idk if anyone besides me and a few friends ever played that. To increase time warp there had to be a unanimous vote, otherwise the slowest vote overruled it.

EDIT :Just realized this my first post......WOOT

Edited by OopsThatNotWork
Shock
Link to comment
Share on other sites

The idea my friends and I had was to disable physics between active vessels, but add inactive vessels to everyone's game. Other player's ships would still be rendered locally, just no physics. This way, people could build space stations and mun bases still, but the issues with player/player collisions are avoided. If positions are transmitted from the map coordinates, and you are not worried about the physics of other players, then the time warp is not a big issue I think. You would just see your friends moving around faster than they should.

Link to comment
Share on other sites

Hey guys I found something that would solve the problem of what to do with multiple simultaneous launches, each player could "own" their own launch center. Under the suggestion/game development tab somebody made a post about creating multiple space centers on Kerbin for career mode. I could see this being helpful for multiplayer. Sorry no advice on when possible or if even possible, but just thought i would toss in my opinion for consideration. Here is the link to the post:http://forum.kerbalspaceprogram.com/showthread.php/34225-Space-Center-Placement-and-Development

Link to comment
Share on other sites

Well first step would be a co-op lan multiplayer where 2 or 3 friends could just build rockets and fly together or walk around mun base or push around each other, Timewarp would be just shared and decided in between of them. Who needs a server when you can play with YOUR friend, because servers would be crowded and unplayable.

Link to comment
Share on other sites

Pringleman, kerbal live feed already does that. Without players interacting, there is no point.

You did not really read what I said then.

Player-player direct collisions would be disabled, but the key is that non-active ships would also be loaded from the persist. Such a ship (such as a station) would be just any old ship as far as your game is concerned, so you could then dock with it.

The downside is that two people could not dock to the same station at the same time. The plus side is that they could build a community station. Also, live feed does NOT render locally. It gives a map icon to show where someone else is, but if you and a friend are in the same spot at KSC, it does not render your buddy. Regardless, it was a baby-step suggestion. A step to take before trying to go all out with time warp and full physics.

Link to comment
Share on other sites

I think this could be a real game-changing mod for KSP, so I have a great interest though I lack the skills to write such code.

SodiumEye's Kerbal Live Feed is already up and working and very successful. It focuses purely on being able to watch other players fly around.

I have been talking with Frement for the last few weeks on his mod-in-progress. We discuss gameplay and test his multiplayer system where vessels can actually interact with each other. I made a list of things that should be included that are being slowly ticked off. Frement doesn't seem to discuss it much yet because he seems to be aiming for a polished mod that works almost flawlessly and doesn't unduly compromise someone's computer to internet hackers.

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