Jump to content

Multiuser, not Multiplayer aka: Massively Single-Player


Recommended Posts

Over time the multiplayer issue keeps cropping up, and keeps getting shot down for very valid reasons.  There is a limit mp available using DMP and Luna for those who want it.

I've been mulling over this, and looking at other games, and my ideas are beginning to coalesce around a different concept:

Ignoring the issue of multiple people playing in the same game at the same time,  I've started to think about this in a different manner.  This is partially inspired by some streamers who have done a multi user game by passing a game file around.

I'm starting to think about a multi-player game (or mod), the basic idea is to enable people to use and interact with vessels and stations which were created and launched by a different user.  So far, I'm thinking about a centralized server which would store vessels and the date/time the vessel was saved.  Players would play their games, and when they want, they would export a vessel to the server.  Then other players would automatically connect  to the server and download all vessels there, and, at the appropriate time, spawn the vessels in the game at the same location where they were when exported.

There are several technical issues to be solved, one of which is, for player A who has advanced beyond player B, and player B exports a vessel, how is that vessel imported into player A's save.  Obviously there are server-side issues, etc.

This is intended to be a discussion about this idea.  Please don't say "It's not true multiplayer" because it isn't multiplayer.  I'm using the term 'multiuser' until a better term can be found

Link to comment
Share on other sites

Some content has been removed from this thread.  Folks, please stay reasonably on topic.  This thread is explicitly stated as being not for discussing simultaneous multiplayer-- so if you'd like to talk about that, there are existing places to have multiplayer discussions.  Thanks.

1 hour ago, linuxgurugamer said:

I'm starting to think about a multi-player game (or mod), the basic idea is to enable people to use and interact with vessels and stations which were created and launched by a different user.  So far, I'm thinking about a centralized server which would store vessels and the date/time the vessel was saved.  Players would play their games, and when they want, they would export a vessel to the server.  Then other players would automatically connect  to the server and download all vessels there, and, at the appropriate time, spawn the vessels in the game at the same location where they were when exported.

There are several technical issues to be solved, one of which is, for player A who has advanced beyond player B, and player B exports a vessel, how is that vessel imported into player A's save.  Obviously there are server-side issues, etc.

That's not dissimilar to what I believe the game Spore does/did -- it's a purely single-player game, but user-generated content gets uploaded to a central server somewhere, and can then show up in other players' games.

The term of art that I've heard for this approach is massively single-player (a play on "massively multiplayer").

Obviously the exact semantics and implementation details would vary from game to game, but the core idea seems the same.  My read of your OP above is basically "how would one implement 'massively single-player' for KSP", which is a neat idea.  :)  Looking forward to seeing discussion on the subject here.

Link to comment
Share on other sites

It's a neat idea but, like the MH mission creation system, it faces two major stumbling blocks (+ many small ones) that would have to be overcome

  1. There needs to be enough people who want it to justify development (more critical from my PoV if you're suggesting Stock implementation)
  2. It needs to be simple, feature rich and stable enough that people who do try it out actually come back and keep using it.

MH suffered from both - not enough players cared and those that did ran into a lot of issues which soured the experience - end result, it's underutilized or ignored by most players.

@linuxgurugamer - were you thinking this would be a mod or Stock? if Stock would it be core development or DLC?

Link to comment
Share on other sites

This would probably be a fantastic mod.

2 hours ago, linuxgurugamer said:

There are several technical issues to be solved, one of which is, for player A who has advanced beyond player B, and player B exports a vessel, how is that vessel imported into player A's save.  Obviously there are server-side issues, etc.

Maybe the mod could store the vessel info localy until player A reach player's B time point - And then only would the vessel be added to player A persistent file, from the local copy.

I'm quite intrigue on how to manage crew with this tho... So many Jebediah on so many ships ! I guess the mod could restrict Jeb and the crew to only 1 player and have all the other players get only randomly generated kerbals ?

When docking ships, the mod would have to be able to remove the vessels from users savefiles and add back the docked version (If you can follow my thoughts here)

So many possible problems ! @linuxgurugamer, you are a mad man to even think about adding this beast to your huge mod collection.

 

Link to comment
Share on other sites

56 minutes ago, Tyko said:

@linuxgurugamer - were you thinking this would be a mod or Stock? if Stock would it be core development or DLC?

I was thinking mod, but would be interesting if Squad was interested.

22 minutes ago, MrGeekArt said:

Maybe the mod could store the vessel info localy until player A reach player's B time point - And then only would the vessel be added to player A persistent file, from the local copy.

Absolutely, the issue comes if you, the player is at year 5, and you've downloaded a vessel from year 2.  I don't think it's that difficult to calculate where the vessel should be placed, but it does have to be done.

23 minutes ago, MrGeekArt said:

'm quite intrigue on how to manage crew with this tho... So many Jebediah on so many ships ! I guess the mod could restrict Jeb and the crew to only 1 player and have all the other players get only randomly generated kerbals ?

Interesting point.  I can think of several ways to address it.  For example, change the name to reflect the user it came from .

25 minutes ago, MrGeekArt said:

When docking ships, the mod would have to be able to remove the vessels from users savefiles and add back the docked version (If you can follow my thoughts here

Something to think about, I'm not sure it's worth addressing.  Docked vessels become a new vessel.

 

26 minutes ago, MrGeekArt said:

So many possible problems ! @linuxgurugamer, you are a mad man to even think about adding this beast to your huge mod collection.

I'm not sure I'm going to, but this is something which hasn't been discussed with regards to KSP before, I thought it would be a good alternative to the "multiplayer" threads

Link to comment
Share on other sites

I think this is a fascinating idea.  But as all have mentioned, it needs a lot of specification of how players interact.

 

6 hours ago, Snark said:

That's not dissimilar to what I believe the game Spore does/did -- it's a purely single-player game, but user-generated content gets uploaded to a central server somewhere, and can then show up in other players' games.

The term of art that I've heard for this approach is massively single-player (a play on "massively multiplayer").

Subnautica has had about as much sound and fury about multiplayer as KSP has had.  As neither game was designed from the ground up with this in mind, they both only had modding address it in a limited way.

Subnautica did have a very simple example of sharing like in Spore.  Get to the end of the game and just as the player is launching their escape rocket, they get to make a time capsule that is uploaded and joins the the stock of time capsules that other game players can find in their new games.

This is more like Spore, with much wider sharing.

I agree having a sort of time syncing is important.  Each game running the mod would have a log of events and craft changes.   (I really think having a log is something a lot of single player games really need just to help keep things straight).  Then the central server would get updates from the players of their logs and share out appropriate ones to the others.

 

4 hours ago, MrGeekArt said:

I'm quite intrigue on how to manage crew with this tho... So many Jebediah on so many ships ! I guess the mod could restrict Jeb and the crew to only 1 player and have all the other players get only randomly generated kerbals.

Is there any way to change Kerbal's last names?  Then each player in a shared game could have a unique last name for their Kerbals.

 

5 hours ago, Tyko said:

It's a neat idea but, like the MH mission creation system, it faces two major stumbling blocks (+ many small ones) that would have to be overcome

  1. There needs to be enough people who want it to justify development (more critical from my PoV if you're suggesting Stock implementation)
  2. It needs to be simple, feature rich and stable enough that people who do try it out actually come back and keep using it.

MH suffered from both - not enough players cared and those that did ran into a lot of issues which soured the experience - end result, it's underutilized or ignored by most players.

I have to admit I've barely looked at the MH mission system.  It just seems so different from the rest of KSP, even though it uses the same parts and craft.

If possible, I think the player client mod should be accessed through a special entry in the Start New game dialog.  Also, should probably stick to sandbox as I think making a massively single-player sandbox is going to be challenging enough.  It would also have to have a tool to specify the common server and either create or join a shared game.

 

1 hour ago, Ultimate Steve said:

Launches nuke containing football at @qzgy's Jank Station

It's all fun and games until someone gets the Go Code.

Spoiler

 

 

Edited by Jacke
Link to comment
Share on other sites

4 hours ago, Jacke said:

Is there any way to change Kerbal's last names?  Then each player in a shared game could have a unique last name for their Kerbals

Yes, but the problem is that profession is based on a hash of the name.  I can think of several ways to get around that

Link to comment
Share on other sites

I have no idea how it works, but what about adding the Twitch Plays thing with it?... If a selected group of individuals are set-up for game control, would it be possible to switch between individual players during a session, so people could "hand off" control and take turns during a stream?... again, not true MP, but if possible, it might make your idea moar engaging for people to try it out, who could watch each other play the shared game live... vOv

Edited by Stone Blue
Link to comment
Share on other sites

16 hours ago, Jacke said:

Also, should probably stick to sandbox

I agree with you. As convenient as it would be to have a shared, directed goal system to help coordinate players, I don't consider any of the current options (career, MH) to be even playable. A new system would have to be built from the ground up, and that's too much scope creep.

22 hours ago, linuxgurugamer said:

I'm thinking that a group of players would start a common game, and agree on a common set of mods

Mod compliance could get to be a bit of a pain--Perhaps the server could enforce a CKAN metapackage? The downside to this is that I use a lot of editor tools that don't affect gameplay or physics. How could one keep those without also allowing someone to have a planet pack installed that breaks the save permanently. I swap my ~20 mods out manually, but I can see someone with a big list accidentally missing Kopernicus.

Link to comment
Share on other sites

On 3/26/2019 at 12:03 PM, FleshJeb said:

Mod compliance could get to be a bit of a pain--Perhaps the server could enforce a CKAN metapackage? The downside to this is that I use a lot of editor tools that don't affect gameplay or physics. How could one keep those without also allowing someone to have a planet pack installed that breaks the save permanently. I swap my ~20 mods out manually, but I can see someone with a big list accidentally missing Kopernicus. 

This sounds like it'd be useful - but basically you'd need to have a short whitelist of mods that are confirmed not to interfere when added/removed from a save.  Could be possible.

On using a CKAN metapackage: Not everyone uses CKAN, though it might still be the best solution for this.

Link to comment
Share on other sites

One potential idea could be to run the save game like a git with a master, branches for local games and (ideally automated) pull requests for reintegration at every [auto]save point.  Any conflicts (e.g. a new mod dependency) create a fork.

An alternative is to embrace what the streamers are doing and create a means to share save games via a central repository.  Something like a "save to shared cloud", where another player can download and branch the game from where you left off.  Essentially you are building a scenario, uploading it to a repo where others can download a branch and continue to develop the story.  The upside is you don't have to worry about resolving conflicts as there is no reintegration but the downside is there is no reintegration, so you'll quickly get a proliferation of different forks.

To mitigate that you could implement CMS-style version control, locking branches to further changes while they are checked out by a player and if they prove popular, perhaps a booking system so you can queue up the next player.

Adding some scenario continuity tools would be a nice touch.  For example, a mission briefing page where you can leave notes, guidance and challenges for the next player to take over a branch.

Link to comment
Share on other sites

Great idea.  Looking forward to seeing what you could do with it.

When i first came in I did think it would be a mission split type mod.  This is what I think Squad should do as a DLC.

People on different PCs would play the same game literally.  One mission controller seeing only the map view and hit the time warp. Another constructor who can observe outside vab nut us the only one who can work inside.  Another iva only player controlling the vessel.  Each person playing can EVA a different kerbal - at that point it is multiplayer perhaps.  Observers can see only from Hullcam cameras maybe.

Maybe even a mission controller (map view person) can assign and reassign roles on the fly as it were.  EVA can be distributed that way.

The benefit of this could be that you could then set yourself up with different PCs (or if the mod is powerful enough with an app) to run this at home perhaps even using old tech.

Anywho.  Thanks @linuxgurugamer for looking at this.  Awesome.

Peace.

Link to comment
Share on other sites

1 hour ago, FleshJeb said:

Mod compliance could get to be a bit of a pain--Perhaps the server could enforce a CKAN metapackage? The downside to this is that I use a lot of editor tools that don't affect gameplay or physics. How could one keep those without also allowing someone to have a planet pack installed that breaks the save permanently. I swap my ~20 mods out manually, but I can see someone with a big list accidentally missing Kopernicus.

I don't want to impose CKAN, but there are three types of mods to be concerned about:

1.  Visual, Utilities and Editor tools.  Nothing to be concerned about this these

2.  Parts mods.  While someone could play with a lesser number of part mods, they would have a problem trying to import a vessel which uses unavailable parts

3.  Gameplay mods.  Most definitely have to be identical

 

Link to comment
Share on other sites

On 3/25/2019 at 4:55 PM, linuxgurugamer said:

There are several technical issues to be solved, one of which is, for player A who has advanced beyond player B, and player B exports a vessel, how is that vessel imported into player A's save.  Obviously there are server-side issues, etc.

To be blunt, there shouldn't be a issue with this.

Part unlocks and facility upgrades are necessary to launch a vessel. It shouldn't be necessary to get inside a vessel with high tech that player (A) does not have and he/she could simply ride the vessel if another user launched it? Is that a problem then?
If user (A) is asked to launch a Tier 5 node tech rocket while he has only Tier 3 nodes unlocked he will have to make due and not play. On top of that there should be a user save swap file during a multi/single player loading screen that has the "tech unlocks" listed of each user in that save file (multiplayer game)
IIRC many multiplayer games (MMO's) have levels and other high tier achievements and those are played as grind for months to get to a higher leveled pace in general.
If you were to jump in a career environment bare naked with everybody having the higher tiers unlocked you are free to join as long as you choose.
Or you simply don't and pick another server.

Regardless: It seems the high days of KSP seems to be over so to boost the popularity and playing activity Multiplayer or a alternate version of it seems to be a very logical step to unison the player base and for other people to join in. If it can work a multiplayer KSP environment is the best thing KSP can get. If this is a logical solution I hope it is picked up and looked at seriously.

 

Edited by Aeroboi
Link to comment
Share on other sites

4 minutes ago, Aeroboi said:

To be blunt, there shouldn't be a issue with this.

(/sarcasm on) I invite you to do it since there aren't any issues.  Since there aren't any issues, can we expect to see a beta copy in the next week or so?  ok, two weeks should be more than enough time to do something which doesn't have any issues. (/sarcasm off)

If you think I was being sarcastic, then you are correct.  Whenever I hear or see someone saying a statement like this, it tells me that they most likely have no idea about software development. 

Issues alway show up when least expected.  Of course, it "sounds" like there shouldn't' be an issue.  But I can guarantee that something unexpected will show up.  It may not even be a technical issue, it may be a game playability issue.  I didn't say what the issues were, because I HAVE NO IDEA.  That's what discussions are for.

I'm also curious, did you read any of the other posts, or did you just read the first and respond to that?  Many of the following posts build on my original post with more detail.  If you haven't, please do so, I would be interested in hearing your comments on some of the other posts.  You might have an idea which no one else had (such as below)

 

9 minutes ago, Aeroboi said:

On top of that there should be a user save swap file during a multi/single player loading screen that has the "tech unlocks" listed of each user in that save file

This is what comes from discussions.  This is a very good idea which hadn't been raised before.

Link to comment
Share on other sites

Perhaps I'm rephrasing Aeroboi's point but it is currently possible to load a vehicle into the editor that has locked parts.  You only get an error when you try to launch it.  What happens if you use something like Vessel Mover to spawn a vessel with locked parts and then activate it with a kerbal?  I don't think I've ever attempted that but if it works, then in theory Aeroboi is right: it shouldn't be an issue to load a game with different tech levels from a purely mechanical perspective.

So the question is then how do you want to tackle it from a game play perspective.  Perhaps, you could simply allow people to fly higher tech vehicles provided by other players (pass it off as a more technologically advanced company contracting out their space launch systems).  Clearly you can't build anything with that tech until you've researched it yourself.

There are opportunities for emergent gameplay here.  Treat each player as a separate commercial enterprise.  Flying a design provided by another player incurs a charge, which is credited back to the original player's funds (tracked via your central server).  Flying a design with a higher tech that you have unlocked incurs an incremental premium.  This could encourage people to specialise tech and brand designs for a specific purpose and provide them as a service to other players.  I'm the expert in launch vehicles and have invested heavily in booster tech, you are the expect in crew systems and have all the tech in command pods, let us join forces and fire our Kerbals into the sun (for a small fee).

The craft repository concept is already proven (KerbalX and Craft Manager).  It's not too much of a stretch to conceptualise how branding (tagging) craft files and adding a virtual cost could be possible.

And crazy ideas time....what then?  Trading resources, veteran kerbals, launch facilities, science points....basically anything that can be measured/tracked in a central DB and added/removed from the game via script.

Link to comment
Share on other sites

2 hours ago, Friznit said:

Perhaps I'm rephrasing Aeroboi's point but it is currently possible to load a vehicle into the editor that has locked parts.  You only get an error when you try to launch it.  What happens if you use something like Vessel Mover to spawn a vessel with locked parts and then activate it with a kerbal?  I don't think I've ever attempted that but if it works, then in theory Aeroboi is right: it shouldn't be an issue to load a game with different tech levels from a purely mechanical perspective.

The technical issue of importing a craft by itself isn't what I'm concerned about, although there are issues with that as well.  What I'm concerned about are all the side issues which this will touch; you mentioned some of them

Link to comment
Share on other sites

I do see a potential paradox emerging from this kind of gameplay. Consider players A and B playing on a server. At year 1 vessel Foo is launched in to LKO by one of the players, after which the saves are synced. The following day both player A and player B are playing at the same time. Both players decide to fly Foo. Player A flies Foo to Duna, while player B flies Foo to Eve. Upon the next synchronization Foo is now in two different places. 

In a second case, player A timewarps to year 20 and flies Foo to Eloo, and saves are synced. Now if player B interacts with Foo before year 20, player A may not be able to fly it at year 20, even though player A already did.

How is this handled? One potential solution would be to assign ownership to vessels, and only allow the owner to interact with the vessel. Ownership would then be transferable, only when no potential conflicts exist. 

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