Incoming hilarity: abaraba is back, and this time he's fixated on P2P networking!

Started by
81 comments, last by eq 14 years, 6 months ago
Quote:Original post by Ma-we-Te
Telephone exchange is to Client-Server what Walkie-talkie is to Peer-to-Peer, so applications, especially games, should be doing at least voice chat via P2P, they don't? -- Signaling, as in neural networks, kind of like binary search tree for pattern recognition. File sharing can also be one-to-many, many-to-one, and many-to-many. Wikipedia article says Instant Messaging and Online Chat apps, as well as Skype and VoIP all use P2P. Conference type of calls, or similar large-number interaction, like voice chat in multiplayer games, therefore seem ideal candidate for this architecture.
Skype is generally one-to-one. Okay imagine you have 40 people in a voice chat and don't say it doesn't happen since I've done it while playing Planetside :P. Okay so lets say Everyone is talking and such randomly and sometimes they're talking at the same time. In P2P you'd be getting multiple streams of sound and that can be a little intensive for some people's bandwidth. As you might know you can put the sounds together as layers since that's what happens when they come out of your speakers. Now imagine 40 people start talking into their mics or maybe they keep their mic open 24/7 and you can hear them all breathing :\. Now in a C/S with a dedicated server you'd be getting all of these streams and simply merging them together and sending out one stream to all players. This scales perfectly for clients. No matter how many users there are talking and such the clients are getting one stream of sound with all of the voices so the bandwidth is constant. (If no one is talking then the download cost for a client is none. If everyone is talking it's the same bandwidth as if one person was talking).

Instead of skype look at TeamSpeak or Ventrillo which are conferencing applications
Advertisement
Skype still uses a central server for things like buddy lists and matchmaking. How else would you find the other person you'll want to talk to?

I think we've all done the math, talked about pros and cons, and beaten this dead horse into smoked sandwich meat by now. I'll probably close this thread unless someone posts some previously unseen links to some P2P code library that works amazingly well for internet games ;-)
enum Bool { True, False, FileNotFound };
I didn't bother to read through all posts but it seems like it's only the performance that is discussed.
P2P is a BIG show stopper for me since P2P means that I expose my IP to everyone I play with.
This could mean that they could easily cheat by launching a DOS attack or spamming game data at me (probably needs a lot of work making this fail safe).
Further the game code need to take more responsibilities i.e determining that I killed player X.
Running these responsible tasks in an hostile environment isn't a good idea IMO.
No fun getting good at a game if you know that every kid on the block can beat you by cheating...
I think that hardcore gamers wouldn't even consider playing a P2P game...let alone pay for it.
That said, a casual free game (cheap?) game might probably work ok.

Just my 2 drunken cents...


This topic is closed to new replies.

Advertisement