One big problem would be, that you have to do port forwarding on every client. You can avoid this by using a technique called NAT punsh-through but this requires also a central server. Also you could us UPNP but this isn't supported/enabled on every router.

Another big problem would be that P2P games would be "cheater" friendly tongue
And that's the main point why P2P isn't used in MP games. You always need a server that monitors the game so that every client has the same chances. It's better and easier to have a central point that manages the whole game and keeps every thing synchron. I can imagine that it would be a nightmare in P2P application to keep everything synchron.

The latest ANet version uses P2P for it's voice chat feature. The change to P2P reduces the traffic dramatically. But for a game itself, I would never use P2P because it hasn't really advantages compared to a server-client based architecture!

Quote:
And in multiplayer the only experience I have was at first with built-in gamestudio multiplayer, and then moved on to use Anet a few years ago. The problem with these two is that none of their connection functions return pointers, so they cannot handle multiple simultaneous connections.


When you use the ANet socket functions, you can create unlimited connections. These functions return a handle to the connection. With the ENet functions you can only create Server-Client applications.


To summerize everything: There are good reason why P2P is not used in MP games! Although I'm sure you will have fun playing around with socket functions and make your own experiences wink


ANet - A stable and secure network plugin with multi-zone, unlimited players, voip, server-list features,... (for A7/A8)!
get free version