I've read mixed things about it. Some say it is synced to the slowest player, but that doesn't make sense. I'm more inclined to believe that it works by everyone sending their data to everyone else, rather than just a central server.
I have no idea how id has implemented the game, but I just can't see them (or anyone) making a game that synchronizes to the slowest player. I guess people are associating peer to peer with the original Doom, but remember that Doom was made a long
time ago, and it wasn't even made for TCP/IP networks.
I mean, think about peer-to-peer networking for a minute. What's the difference between your computer receiving the game data from a server, or from other clients? Either way, your computer is sitting there listening for incoming data. When it gets the data, it updates the game state, and if it misses the data, or the data is slow, it attempts some sort of prediction. Who cares if the data is coming from one place (a central server) or from 3 different places (peer-to-peer model)? Why should your computer or your connection slow down because one of the clients is slow? Just like with the current client-server model... a server won't sit there forever waiting for the data from all the clients. In that case, if someone lagged out, the server would stop. I just don't see why a client would care if it's getting data from a server or from other clients. Does it really make a difference whether the server synchronizes the data for your computer instead of your computer synchronizing the data itself?
Maybe I'm missing something--I don't really know what id is doing, so any intelligent discussion is welcome.
Either way, Why is that better than client-server model? What happens to cheat prevention when there is no server than can do validation?
Oh yeah, and as for this point, I'm not too sure. I've been thinking that the peer-to-peer model for Doom3 is actually going to be the basis for the next id project, except the next project will be on a much larger scale. A game that can support tons of players because for each player that joins, the game gets more processing power (although perhaps uses more bandwidth!).
And as for cheat protection, I guess it's a glass is half empty/full thing. You say that there's no server that can do validation ... I say that in a peer-to-peer game of 4 people, there's 3 servers that can do the validation!
Depends on how they've implemented it, I suppose... With my outlook, you'd have a problem with 2 people. I certainly don't want to see a return of the days where a game would stop because one of the players got out of synch. heh