Depends on the game. If each peer is an authority, then everything it touches has to reach consensus with every other peer that may/may not be influencing that object. That can take a lot of time.
@@MarkMandelDev I've tried dealing with that sort of thing a little bit, and it's a real bear to figure out! I figure it eliminates the host player advantage though.
@@MangoMiner but also allows each player the ability to cheat over it's own objects. So if cheating is an issue in your game (and for some it is not), you'll need to do distributed consensus anyway to track it. So juggling tradeoffs 😁
@@MarkMandelDev cool, i' m from Brazil in think moths ago and search for it. I guess that did understand it, idea amazing, i believe that have solution for all.
This video made me curious. I thought that p2p was the cause of games in which the connection is only as fast as the slowest player, which doesn't seem to be the case with this type of network. This reminded me most of when I run my own minecraft server on my pc, which I thought was more of a client/server thing because it doesn't suffer from the aforementioned problem (also if the host goes down in this case, the server comes down with them, none of this "host transfer") Is there some 3rd network architecture that needs every computer to be connected to every other computer without any central "host" between any 2 "clients"? If so what is it called? (I think Super Mario Maker 2 multi-player has this sort of network, and as such the slowest-connection issue I mentioned before.)
I'm definitely here to learn and not an expert, but I'd suspect that they purposefully slow the game down for that player, and that they're still using some sort of peer to peer connection type if there's no dedicated, third party server. I'm not sure how a connection would work without any central authority, but I suppose someone has tried it before. It'd probably be more complicated and have a lot more issues to work around than the traditional methods we see everywhere else. For some paradox games, you'll see the game pause or slow down to allow other players to sync. I believe these are peer to peer, with one player as the host. I'm not sure why players fall out of sync, are they trying to compute the simulation as quickly as the host is with the same information? Or is the host sending every completed computation to each client? Usually, in my experience, people with either/both slow connections and/or slow computers won't keep up. So, it's hard to say. I'd imagine that's a lot of data to send if the clients only draw the conclusions made by the host. But, I've never once programmed multiplayer, so what do I know. :)
Thats also p2p and gets stupidly diificlult to program. You can essentially think of it as a democracy where each player sends out information, and then all computers compare each others data and decide which one is correct. Like if 3 out of 4 players have the same data the 4rth player will replace its incorrect data with the others data. As you can imagine this system can be plauged with sync issues. Its just easier and works better to have a central authority
Is it possible to host peer to peer games using WebRTC and hosting the game instance from a browser which has access to the game files, while feeding all the other browsers the outcomes to their inputs and responses? This way other browsers cannot affect the game files and use cheats?
@@MarkMandelDev In fact that's exactly what I was looking for. I got confused with another video I just watched talking about lockstep/rollback models.
here's an example of how peer to peer works in multiplayer videogames. a player plays trackmania nations forever and it play the game with a custom car downloaded on internet if the peer to peer is activated, the other players also if they doesn't have that custom car downloaded on their computer, they can see the custom car of the player that it downloaded from internet. if instead the peer to peer is not activated, other players without the custom car downloaded, they will see a standard skin with silver color instead of the custom car.
That sounds like extra implementation on the part of the developers. Definitely not default behaviour, since the client would still need to download a copy of the texture to be able to render it on the screen
Who does the validating, how much extra processing time does it take, and how much do you trust the client doing the processing? Those are all questions you'll need to answer to see if you can come up with an appropriate solution for your game.
@@MarkMandelDev Ok, but for a game that: - has 12 players per race - has international competitions - requires quick reaction and speed - and minimize cheating as much as possible Would Dedicated Servers be a better option?
Hi. Do you think a p2p Second life/vr chat style game is possible? I don't even know that this will be P2P what I mean by it. There will be the hosters and on the other side players. The hosters will be honored by the game crypto coin. In an instance for the choosen map will be 0-50 players with 3d avatars and nicely designed 3d space. Can this be scalebale to 100.000 people playing in the same time? I mean on diffrent instences with max 50-60 players.
I came here to figure out how to become Host on Console in GTA Online, since I think it has Host Migration. Unsure...
Is peer-to-peer with no central authority a good idea? For example, maybe each peer is the authority over its own character or projectiles.
Depends on the game. If each peer is an authority, then everything it touches has to reach consensus with every other peer that may/may not be influencing that object. That can take a lot of time.
@@MarkMandelDev I've tried dealing with that sort of thing a little bit, and it's a real bear to figure out! I figure it eliminates the host player advantage though.
@@MangoMiner but also allows each player the ability to cheat over it's own objects. So if cheating is an issue in your game (and for some it is not), you'll need to do distributed consensus anyway to track it. So juggling tradeoffs 😁
@@MarkMandelDev cool, i' m from Brazil in think moths ago and search for it. I guess that did understand it, idea amazing, i believe that have solution for all.
This video made me curious. I thought that p2p was the cause of games in which the connection is only as fast as the slowest player, which doesn't seem to be the case with this type of network. This reminded me most of when I run my own minecraft server on my pc, which I thought was more of a client/server thing because it doesn't suffer from the aforementioned problem (also if the host goes down in this case, the server comes down with them, none of this "host transfer")
Is there some 3rd network architecture that needs every computer to be connected to every other computer without any central "host" between any 2 "clients"? If so what is it called? (I think Super Mario Maker 2 multi-player has this sort of network, and as such the slowest-connection issue I mentioned before.)
I'm definitely here to learn and not an expert, but I'd suspect that they purposefully slow the game down for that player, and that they're still using some sort of peer to peer connection type if there's no dedicated, third party server.
I'm not sure how a connection would work without any central authority, but I suppose someone has tried it before. It'd probably be more complicated and have a lot more issues to work around than the traditional methods we see everywhere else.
For some paradox games, you'll see the game pause or slow down to allow other players to sync. I believe these are peer to peer, with one player as the host. I'm not sure why players fall out of sync, are they trying to compute the simulation as quickly as the host is with the same information? Or is the host sending every completed computation to each client? Usually, in my experience, people with either/both slow connections and/or slow computers won't keep up. So, it's hard to say. I'd imagine that's a lot of data to send if the clients only draw the conclusions made by the host.
But, I've never once programmed multiplayer, so what do I know. :)
Thats also p2p and gets stupidly diificlult to program.
You can essentially think of it as a democracy where each player sends out information, and then all computers compare each others data and decide which one is correct. Like if 3 out of 4 players have the same data the 4rth player will replace its incorrect data with the others data.
As you can imagine this system can be plauged with sync issues. Its just easier and works better to have a central authority
Is it possible to host peer to peer games using WebRTC and hosting the game instance from a browser which has access to the game files, while feeding all the other browsers the outcomes to their inputs and responses? This way other browsers cannot affect the game files and use cheats?
Would you maybe consider doing one of those videos for multiplayer game patterns with hosting (one of the clients is the server essentially)?
I cover some of that in here - was there a particular aspect I could go deeper on?
@@MarkMandelDev In fact that's exactly what I was looking for. I got confused with another video I just watched talking about lockstep/rollback models.
How do you become host in peer to peer, because host gets lag advantage or you suffer from playing on someone’s laggy internet
This information is really helpful, thanks!
here's an example of how peer to peer works in multiplayer videogames.
a player plays trackmania nations forever and it play the game with a custom car downloaded on internet
if the peer to peer is activated, the other players also if they doesn't have that custom car downloaded on their computer, they can see the custom car of the player that it downloaded from internet.
if instead the peer to peer is not activated, other players without the custom car downloaded, they will see a standard skin with silver color instead of the custom car.
That sounds like extra implementation on the part of the developers. Definitely not default behaviour, since the client would still need to download a copy of the texture to be able to render it on the screen
I know im very late on this video but is there any way you can validate the clients/data traffic to ensure there is no cheating?
Who does the validating, how much extra processing time does it take, and how much do you trust the client doing the processing?
Those are all questions you'll need to answer to see if you can come up with an appropriate solution for your game.
its better to have data replicated in all players so host migration is easier.
So what you're saying is that "Peer to Peer" architecture is not optimal for Mario Kart 8 Deluxe.
I'm saying there are tradeoffs. There is no silver bullet.
@@MarkMandelDev Ok, but for a game that:
- has 12 players per race
- has international competitions
- requires quick reaction and speed
- and minimize cheating as much as possible
Would Dedicated Servers be a better option?
Cuz with the way the game is designed and that Nintendo uses P2P, it seems like it's best run 1v1.
@@OniAzul if you are running competitions, I would advocate dedicated game servers for sure.
thats really helpful video, thanks bro
Very informative thanks!
lol could we get a list of games with p2p ?
Very helpful! THANK YOU!!
Where's Team Fortress 2 for Xbox 360?
Hi. Do you think a p2p Second life/vr chat style game is possible? I don't even know that this will be P2P what I mean by it. There will be the hosters and on the other side players. The hosters will be honored by the game crypto coin. In an instance for the choosen map will be 0-50 players with 3d avatars and nicely designed 3d space. Can this be scalebale to 100.000 people playing in the same time? I mean on diffrent instences with max 50-60 players.
I’m unsure but I have seen 64 player p2p games, the have their flaws but it works, go for it!
Ok that's why gta online is so shitty