Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  
Pages: 1 2 3 [4] 5 6

Author Topic: Possible Way to Have Multiplayer?  (Read 6404 times)

Puzzlemaker

  • Bay Watcher
    • View Profile
Re: Possible Way to Have Multiplayer?
« Reply #45 on: April 16, 2009, 01:07:51 am »

Well then sir set up a Subversion server if you may!

http://subversion.tigris.org/

I believe that website has the server-side code.  If not, search around.  It shouldn't be hard to find via Google.  It's 2 in the morning where I am, and I really should be asleep, so sorry I am not more helpful.
Logged
The mark of the immature man is that he wants to die nobly for a cause, while the mark of the mature man is that he wants to live humbly for one.

qwertyuiopas

  • Bay Watcher
  • Photoshop is for elves who cannot use MSPaint.
    • View Profile
    • uristqwerty.ca, my current (barren) site.
Re: Possible Way to Have Multiplayer?
« Reply #46 on: April 16, 2009, 05:25:22 pm »

I believe that subversion may be too much.

A simple SQL setup would be:

Worlds:
-a fileID for each file
-the "parent" world's ID
-the modID

files:
-plain and simple data

mods:
-varable list of all fileIDs needed
-name
-other information

users:
-current worldID(s?) in use(versioning would be done automatically)
-other such stuff
~when done with a world, they upload it and it is automatically given a new worldID with the parent set to the downloaded version.


Finding who is using a world is a simple SELECT statement, as well as finding all of the children of a world.

The issue with subversion is that it is set up to have a single updated file where this kind of situation would be much more likely to end up with a branching system. Sure, subversion would work(and quite nicely) but at the same time unexpected issues may come up such as uninticipated advanced features that would be perfect everywhere else but in this one situation just gets in the way.


Really, if we have someone who knows how to use a subversion program even decently, it should work, but on the other hand, it could still be done with SQL and PHP without too much effort.


EDIT:

Of course, this post must be read from the perspective of me having seen that a subversion program exists and heard what it could do, and assumptions, and I have glanced at PHP with SQL and it doesn't look *impossible* either.
« Last Edit: April 16, 2009, 05:26:59 pm by qwertyuiopas »
Logged
Eh?
Eh!

Puzzlemaker

  • Bay Watcher
    • View Profile
Re: Possible Way to Have Multiplayer?
« Reply #47 on: April 16, 2009, 06:06:35 pm »

It's a choice between ease and control.  We can just have a subversion "beta" started up, to see if it works.  If it does, it should be easy enough to port over the maps to a new system.

I suggested subversion at first, because it would be easy and it would work (And I didn't think anyone was available to do the code for any other type of system).  But either way works perfectly fine for me.
Logged
The mark of the immature man is that he wants to die nobly for a cause, while the mark of the mature man is that he wants to live humbly for one.

Tigershark13

  • Bay Watcher
    • View Profile
Re: Possible Way to Have Multiplayer?
« Reply #48 on: April 16, 2009, 06:08:17 pm »

hmm... I had something useful to say earlier.. but it escapes me now.. *thinks on this*

*10 minutes of cogs turning later*

oh yeah, if you wanna make it harder use the orc mod and such (fuuunnnn mod) and maybe you should have like a slider showing 'world difficulties' and listing the changes to the Raws? (if someone had put in Ender goblins it'd be nice to know :P) maybe have like world rules, so some worlds its fair game to run around slaughtering everyone, or have long forts, others its not ect.. could make it more interesting...
Logged

keith.lamothe

  • Bay Watcher
    • View Profile
Re: Possible Way to Have Multiplayer?
« Reply #49 on: April 16, 2009, 06:29:46 pm »

I agree with the suggestion of the Subversion "beta".  Personally I think we will encounter issues with that route but it's better to try it and give it a chance.

So we need either:
1) SVN Hosting, which is available free for Open Source projects from folks like Google and SourceForge, but I don't think this qualifies as an Open Source "project" per say; we're just looking for a versioned/managed file drop essentially.  The pay versions range from $4/month to over $50/month depending on how many GB of data, how many distinct modules (we may be able to fit it all in one), and how many distinct users (we may need a lot of those).
2) a server own/controlled by one of us on which we can install SVN, get it set up, etc.  This has other costs and it would help to have someone who has real experience administering SVN (anyone?).

PTTG, you mentioned that you have web space, but I'm pretty vague on the details.  Can you give us more info?

Thanks,
Keith
Logged

MarineElite

  • Bay Watcher
  • The End is Nigh
    • View Profile
Re: Possible Way to Have Multiplayer?
« Reply #50 on: April 16, 2009, 06:44:32 pm »

Another feature of his should be, that the worlds have a limit the person can have the save before checking it back in. Ex. person goes away without checking it in, and it reverts back. And if a person just runs out of time before finishing they can check it in and just check it back out.
Logged
Also to those it may concern How to bybass Troubles with your IP on Byond

Puzzlemaker

  • Bay Watcher
    • View Profile
Re: Possible Way to Have Multiplayer?
« Reply #51 on: April 17, 2009, 10:56:15 am »

Yeah, at this point to test the idea all that is really needed is...

A)  A server
B)  Running Subversion
Logged
The mark of the immature man is that he wants to die nobly for a cause, while the mark of the mature man is that he wants to live humbly for one.

Puzzlemaker

  • Bay Watcher
    • View Profile
Re: Possible Way to Have Multiplayer?
« Reply #52 on: April 20, 2009, 11:46:10 am »

Bump for great justice!
Logged
The mark of the immature man is that he wants to die nobly for a cause, while the mark of the mature man is that he wants to live humbly for one.

Pyrofyr

  • Escaped Lunatic
    • View Profile
Re: Possible Way to Have Multiplayer?
« Reply #53 on: April 21, 2009, 12:24:32 am »

Interestingly enough while the general idea in this thread seems to be "Hell yeah!", it seems that no one is exact on what should happen, I've read things from "Download it, then upload it when you lose so that other people can travel through with you 'there' and see your old fortress and such crap" to "Download it, upload it, fork if two people get it".

The gist of what I understand supports either of these two ideas (both seem pretty okay IMO):

Idea 1
You search the repository and find one you like, or set one up online (if an option to do so as a member!) and download it, once you download it, it is indeed locked, no one else may download this one until it's 'checked back in' by you.

Passwords can be made for private bloodlines but can be given to others.
Elsewise you can check-out(download) and then check-in(upload), but the problem with this is that unless some sort of check is made to check the time passed in game so that someone can't use the following obvious exploit:
Download file->Upload it directly after->Play file and wait a long time and eventually download the new version (and toss it) and then upload your version, creating unintentional forks, there would need to be some sort of 'check' on the download and then upload, this can be done by CRC32ing a file that you need to download with it, or through other such ways though.

This works great for an 'auto' bloodline, I think this idea would work better if you could do more short-term periods like say download it, play it for a day or two and then have it automatically upload when you next save.

--

Idea 2
If it's even friggin' possible something like what was suggested earlier in this thread (multiple times) would be great, for clarity I mean where you have a "World ID", and within that world several fortresses co-existing.

The problem with this is that the only way I see this as being possible is if you allow one succession to go until the end, keep one ahead of the others or something, and it also seems like it would need a lot more than basic coding to mess around with since you'd have to reverse engineer the game.


In any case, this is a great idea no matter which way you attempt on doing it, good luck.
Logged

PTTG??

  • Bay Watcher
  • Kringrus! Babak crulurg tingra!
    • View Profile
    • http://www.nowherepublishing.com
Re: Possible Way to Have Multiplayer?
« Reply #54 on: April 21, 2009, 10:45:07 am »

Idea 1 is correct, possibly with human monitoring to avoid the exploits you mentioned. Frankly, I don't think it would be that severe, as there will always be a backup somewhere.
Also, I don't think it's necessary to lock a world while it is downloaded; just show the number of downloads and uploads and let players fork worlds however. We'll get world trees, which may show fascinating differences after a few turns.
Logged
A thousand million pool balls made from precious metals, covered in beef stock.

Dasqoot

  • Bay Watcher
  • He-wenching for the cause.
    • View Profile
Re: Possible Way to Have Multiplayer?
« Reply #55 on: April 21, 2009, 12:41:39 pm »

This is a cool idea, but I'd rather see it work linearly than forking. You'd get more robust worlds, less clutter while looking for worlds and you can be more detailed in the description if there's 100 linear worlds and not 10,000 forked ones. It's impossible to know how many people would be using the site, so those numbers don't really mean anything. There should always be at least half of the total number of worlds NOT checked out and available, and if you don't get the most popular, you can wait, or try to make a lesser known one more fun for others, making it more popular.
Logged

PTTG??

  • Bay Watcher
  • Kringrus! Babak crulurg tingra!
    • View Profile
    • http://www.nowherepublishing.com
Re: Possible Way to Have Multiplayer?
« Reply #56 on: April 21, 2009, 01:10:49 pm »

I for one am wary of artificial restrictions. There are many scenarios where it would be better to allow multiple downloads of the same world- not the least of which is the enforceability of such a policy. Let me summarize them:

-Infeasible: There is no reasonable way for the server to know if a player has successfully downloaded the save. If it is interrupted or corrupted, then everybody who wants to use this world has to wait for that turn to time out before the game can continue. Any system that might avoid this (hourly check-ins, verification codes) would be odious to maintain on the part of users, demand high bandwidth, or be falsifiable. Finally players can still start new branches by downloading an old save and then uploading it twice.

-Legitimate Forking: There are many reasonable motivations to fork a save; Adventuring in some of these fortresses without interrupting other players, for instance. Even worse, imagine a troll squatting on a save for weeks. There is no realistic way to allow only specific uses of a downloaded file. If there are any ways of limiting this use, it would be intrusive and annoying to players.

-No Advantage: Even with no restrictions, forks are auto-pruning anyway. Large branches are more popular, so players will wait for them to be available instead of starting new branches. You may have 10,000 branches, but only 50 of these will be played regularly.

So that, in a nutshell, is why I think fork limitations are a bad idea.

"...you can be more detailed in the description if there's 100 linear worlds and not 10,000 forked ones..."
Who do you think is writing the descriptions? Each player would write a short description of the world's changes when they upload it, if at all. Probably no more than "I built fortress Hamermelting in the north east evil mountains. Struck HFS." Looking at any save would show you all these notes for each world at once. A large branch would have more players, and thus more descriptions. There wouldn't be a difference based on how branched they are other than there being hypothetically fewer players- but see above (under No Advantage).

Oh, and there's one more reason why I don't like the forced liniarity; It's more work for, effectively less features.
Logged
A thousand million pool balls made from precious metals, covered in beef stock.

Keiseth

  • Bay Watcher
    • View Profile
Re: Possible Way to Have Multiplayer?
« Reply #57 on: April 21, 2009, 03:06:18 pm »

This needs to be done and I am willing to lend any skills I have toward its construction. However, I'm a C++ / Python programmer with not much networking experience, so I'm probably not going to be a huge help.

I'm all for PTTG's take on the concept, too. It doesn't seem too complicated to set up in a basic way. Subversion would be suitable for this, though? It's an odd use of its features but it seems doable.
Logged

Puzzlemaker

  • Bay Watcher
    • View Profile
Re: Possible Way to Have Multiplayer?
« Reply #58 on: April 21, 2009, 08:48:06 pm »

This needs to be done and I am willing to lend any skills I have toward its construction. However, I'm a C++ / Python programmer with not much networking experience, so I'm probably not going to be a huge help.

I'm all for PTTG's take on the concept, too. It doesn't seem too complicated to set up in a basic way. Subversion would be suitable for this, though? It's an odd use of its features but it seems doable.

Just want to use subversion as a test to see if this is feasable.
Logged
The mark of the immature man is that he wants to die nobly for a cause, while the mark of the mature man is that he wants to live humbly for one.

keith.lamothe

  • Bay Watcher
    • View Profile
Re: Possible Way to Have Multiplayer?
« Reply #59 on: April 22, 2009, 03:28:02 pm »

Quote
Infeasible: There is no reasonable way for the server to know if a player has successfully downloaded the save.

It is true that there is no way to know if the download completes (or is not corrupted).  However, my suggestion is that:

1) In order to upload a file to an existing world, the user must have a lock on that world
2) In order to get a lock on that world, the user must be logged in and the world must be not locked

No restrictions on downloading.  Anyone wishing to fork (or just play the world with no intention of uploading at all), can download at any time.

So it doesn't matter if it takes them 20 tries to download the file, the lock and the download are logically separate.

Difficulties with that?

Thanks,
Keith
Logged
Pages: 1 2 3 [4] 5 6