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

Started by
81 comments, last by eq 14 years, 7 months ago
Quote:My current reality is that P2P allows for a higher maximum number of player than Server-Client does in the case we don't use dedicated servers


Actually, the one crucial assumption is that everyone has the same upload limitations. If that is true, then P2P will allow larger amounts of clients than C/S -- but only up to some small amount of clients, like 16 or 32, because limited upload is, well, limited :-)

As soon as you can find one user who has better than average upload, then C/S gives you a lot of benefits, including an authoritative server, larger player counts (even for players with much more limited upload), etc. And that server is, generally, a normal playing doing "hosting," not a dedicated server paid for by the game publisher.

When it comes to RTS games, I'm not so sure they are all P2P -- if you look at Starcraft, for example, it has a clear host, and when on the Internet, it goes through battle.net to avoid NAT problems. I wouldn't be surprised if it actually was C/S topology with the "host" as the server. However, it doesn't matter much, because with 4-8 players, neither model is all that different in network bandwidth usage, so other implementation worries probably weigh more heavily.

enum Bool { True, False, FileNotFound };
Advertisement
[Most Text Deleted by Moderator]

* Donnybrook is a collaboration between Microsoft Research and the Carnegie Mellon University, the system was at the basis of simulation results involving battles of approximately 900 players interacting simultaneously.

* Players are satisfied by Donnybrook in a low bandwidth environment as they are by Quake III in a high-bandwidth environment, e.g. a LAN.

[Edited by - Promit on September 7, 2009 12:40:51 PM]
Quote:
Phosphor is a first-person shooter created with Macromedia Director. The Shockwave Player allows the game to run within a web browser on Windows and Mac OS computers. Both single player (with AI-controlled bots) and multiplayer (using peer-to-peer Internet or LAN connections) game modes are supported. Our goal is to create a gaming experience similar to classic FPS games.

http://www2.rasterwerks.com/game/phosphor/beta1.asp


This guy not only implemented P2P multiplayer instead of server based approach, but he also coded a first-person shooter in Macromedia Director instead of C++, what a moron.
Quote:Original post by NickS
* Donnybrook is a collaboration between Microsoft Research and the Carnegie Mellon University, the system was at the basis of simulation results involving battles of approximately 900 players interacting simultaneously.
Where do you get the number 900 from? From the papers linked so far in this thread (and all the other papers I have found), it seems to me they're testing only 2 players at a time, with 30 bots (i.e. 32 players in a single game).
Quote:Original post by NickS
* Players are satisfied by Donnybrook in a low bandwidth environment as they are by Quake III in a high-bandwidth environment, e.g. a LAN.
That's still comparing Donnybrook P2P in low-bandwidth to "naive" P2P in high bandwidth, though. It's not comparing Donnybrook P2P with C/S. Also, the "low bandwidth" Donnybrook is 108Kb/s upload which is already at the limit of many people's broadband plans - that is, even Doonybrook does not scale past 32 players on a standard broadband plan*.




*Technically, Donnybrook bandwidth requirements are supposed to scale better than linearly in the number of players, but it's still not "free".
It's been a while since I read the donnybrook paper, but it seemed to me really it's just all about encoding a higher level representation of the actions being performed, then playing it back roughly in sync using much smarter locally running interpretive AI actions

eg. get from A to B, I don't really care how you do it - just do it, climb the wall, jump whatever

In other words, just another one of those classic trade-offs between consistency and throughput

The end result being you don't need such a high frequency of updates to get smooth realistic motion of players and AIs in the remote view - you can get away with something like one update per-second vs. the usual 10 or 20

(but then again, if I'm missing something let me know ... it's been a long while since I've read that paper)

cheers
Another thing to consider is the complexity of implementing the Donnybrook solution, compared to the way it was done in "normal" C/S Quake 3. The way it was implemented in C/S Quake 3 is practically the most naive solution possible while still providing for 32 players (in fact, if you read what he says, it seems Carmack simplified the implementation a lot since the original QTEST).

Donnybrook is far more complex than the C/S implementated in Quake 3, and it doesn't seem to work any more efficiently than C/S quake.
This thread is a complete mess.

NickS, if you are author or in any way related to the Donnybrook project, it would help to state so.

If you are abaraba, then stop copy pasting sections from the documents. We can read and comprehend, have already done so, and understand what the article says, it is just pointless to comment.

And I have no clue where that rasterwerks link came from or why it matters, except to show author's comment that P2P doesn't work in real world.

Either way, this one way regurgitation of unrelated quotes and terms has gone well beyond any measure of good taste or rational thought. Finnegan's Wake is light reading compared to this.
Quote:There is a growing desire to use the machines of participants themselves rather than separate dedicated servers to provide resources for serving games.


Do you have any support at all for this statement?

In my experience, it used to be that users would host, because hosting was expensive. These days, hosting is cheap. Thus, /users/ will pay for dedicated servers (just jump on any C/S:S session -- almost all the servers are hosted at ServerBeach or Gameservers or whatever).

When it comes to large-scale P2P solutions, I still recommend you look into the VAST project. However, it's also been my experience that when people try to really deliver large systems on P2P, they end up adding more and more C/S-like systems, until suddenly the P2P turns out to be something like a C/S set-up with P2P-elected dynamic servers...

Finally, Xbox Live! tech cert requires that you work well in multiplayer on 64 kbps upload. While some users may have 768 (DSL generally comes with 384), you're not allowed to use that in your normal multiplayer scneario.
enum Bool { True, False, FileNotFound };
Hi guys, I'm the developer of the earlier mentioned Stickman Warfare, one of the banned guys from here has invited me to this topic, so I'm just here to share my experiences.

I've been doing stickman for like 3 years now, and i have to tell you, P2P is a heavy PITA. Not only it has sync and connect issues, it's really easily hacked. But the reason I made it this way is that its absolutely free to host, since a P2P NAT introducer doesn't use too much bandwidth OR CPU, so it can be run from a really cheap (free) virtual server at my friends computer.

Apart from the NAT stuff, i found P2P a lot easier than C/S. Simply because the player only has to care about his characters physics only, and it doesn't have to synchronize with the server, compensate the roundtrip time or anything like that. Only the priority system was a bit difficult/complicated until i fine tuned it. Now the network code is no more than a few thousand lines of PASCAL code.

Oh, and with the right priority system, you can have infinite players using only 7kBps upload. (yes, stickman did not lagg at 70 players and its completely scalable)

OF course, this cannot be applied to a commercial game because its so much less secure than C/S that hacking is inevitable, only delayable (memory protection, debugger detection, etc... but thats only against Cheatengine using script kiddies).

Well, thats all i could think of.

P.S: Its been a long time since i used my English...

EDIT: Forgot to mention, my P2P implementation is rather unstable, there are times when you don't connect to the clod or suffer severe lag. Thats completly my fault, not the P2P's.

EDIT2: I just read th whole topic, and I dont know the guy, please dont ban me :P. I dont consider my game great or innovative, it is just your average P2P shooter.
-----------------------------------"After you finish the first 90% of a project, you have to finish the other 90%." - Michael Abrashstickman.hu <=my game (please tell me your opinion about it)
Quote:stickman did not lagg at 70 players and its completely scalable


What happens when 100 players all congretate in the same spot?

Quote:stickman.hu <=my game (please tell me your opinion about it)


404
enum Bool { True, False, FileNotFound };

This topic is closed to new replies.

Advertisement