PDA

View Full Version : mmog using multiplayer p2p


gabdab
04-06-2007, 12:45 AM
Would it be feasible to use p2p for multiplayer ( giFT for example )?
This to avoid costs associated with server .

Gab-

Applewood
04-06-2007, 02:09 AM
P2P is ok for stuff that really doesn't need a server. Quake could work P2P for example, whereas WoW obviously wouldn't.

The trouble is twofold:

1) It generates more traffic, which over wan can be a real problem.
2) The game really needs keeping lockstepped on each client, which magnifies 1) considerably. You can program p2p with lag compensation but I tried that once and it was a bloody nightmare. Eurgh.

As a general comment, I'd say you could do it, but don't. (unless for lan only)

Nexic
04-06-2007, 02:26 AM
Bare in mind the cheating implications.

gabdab
04-06-2007, 06:40 AM
Yes,
I guess cheating might be a potential problem, but not untill you get big enough to worth the cheating activity by this nasty hackers from the '80s .. :)
I am trying to get a grasp on "waste" basically a virtual private network, that uses crypto and has chat , file transfer, search ..
I only wonder what is the logical step from generic p2p to multiplayer grid.

jankoM
04-06-2007, 06:55 AM
how do you intend to use p2p file transfer protocol to do multiplayer games?

tentons
04-06-2007, 10:17 AM
I think he's talking about p2p networking (http://en.wikipedia.org/wiki/Peer_to_peer_network). You might be confusing this with p2p applications that implement it? Or not. :)

jankoM
04-06-2007, 11:35 AM
I know p2p isn't just about filesharing but is a very general expression... But he mentioned (giFT - Internet File Transfer - http://gift.sourceforge.net/ ) thats why I asked.

I don't know but I imagine file sharing p2p has very different goals than a game/comunication p2p might have... at file sharing you have huge amounts of data that should stream steadily ....but discovery negotiation time is not that important because it is small percentage compared to transfer of huge files.. at game comm.. it is just the other way, small messages fast responses... that is all my imagination...

If I would be thinking about MMO + p2p I would first look at project http://www.opencroquet.org/ SDK .. it is big and interesting project that you can download and start experimenting right now (they also have a lot of videos so you can see what it's about), I would look at DHT and such stuff. Not exactly p2p but tuple spaces are also interesting...

Uh... I am so smart it hurts ;) (joke)

Pyabo
04-06-2007, 12:26 PM
You'd have to design your game from the ground-up to reflect the p2p nature.

Step one... throw all security out the window. You have to design a game where any player can modify anything he feels like. If you can't accept that as a design constraint, don't bother pursuing this idea, because it's an exercise in futility.

Taking the original question "Would it be feasible to use p2p for multiplayer"... the answer is clearly yes. But taking an existing massive game like WoW, EverQuest, UO, and turning into a p2p system... No.

gabdab
04-07-2007, 01:41 AM
..yes , I agree I didn't explain enough.
My idea is p2p as support for a grid system where each node helps optimizing data transfer .. though I don't see that grid had much grip .
So if you are on a slow connection, but have a powerfull pc maybe could parse some
data ( game physics) while a fast node would help some other way ( transferring data as a server).

Gab-

princec
04-07-2007, 03:30 AM
Sounds like a solution looking for a problem that doesn't really exist. There are some nicely established patterns for networking on MMOGs that have been proven to work - a wise engineer copies an existing idea that's known to work!

Cas :)

ChrisP
04-07-2007, 04:23 AM
Sounds like a solution looking for a problem that doesn't really exist.
I agree, and it also sounds like a pain to implement. The simple solutions are often the best, and this is not a simple solution.

I say stick with the server-based model; the money spent on the server is probably worth it compared to the implementation time and additional problems you'll likely encounter with such an untried method. Also, players may accuse you of "stealing" their bandwidth and/or CPU time.

The latency involved in transferring the results of physics calculations across a grid of networked computers would probably outweigh the cost of just doing the physics calculations locally in the first place. If you were writing an offline simulation that wouldn't be a problem, but in a game it's a bit of a killer.

Not to mention all the networking problems (dealing with NAT and firewalls) you have to worry about with P2P that simply aren't an issue in a strictly server-based model. Though I guess you can mitigate that if you have some kind of central "server" (could just be a PHP script that lists people who can be connected to) so you can tell NAT-ed clients to make outbound connections in lieu of accepting inbound ones.

gabdab
04-08-2007, 01:04 AM
Thanks for all your kind suggestions.
:)