Skip to main content

Here's my two cents:

P2P:

  • Pros:
  • No need for a central server: this makes it much cheaper, and more viable for low-budget indie games.
  • Scales very well  (up to a certain point when the average client just cantcan't handle the bandwidth).
  • Very good for data distribution: Suits games where user-created content is dynamically synced.  (also just look ate.g. torrents).
  • More Stable: It can never happen that the server is having problems and no-one can play  (implementation dependent).
  • Cons:
  • Hard to implement: much harder to create a solid P2P architecture, than a server-client.
  • ItsIt's very hard to prevent cheating in such a system, unless you designate an authoritative peer, but then again you lose much of the (which will hinder any benefits of scaling well from P2P).
  • Security is hard to achieve.
  • A clientsclient's internet connection can influence the game for others too.
  • Latency is usually much biggergreater (toughalthough it can be better when joining an internet game with multiple people from a lanLAN network for example).
  • May require port forwarding: P2P over the Internet requires port-forwarding, and not everyone is abletechnically-inclined enough to do technically andthat. Additionally, the ISP may prevent this as well. It alsoport forwarding, and it increases the barrier to entry.

Server-Client:

  • Pros:
  • Easy to implement: ItsIt's as straightforward as it gets.
  • If implemented well, scales extremely well.  (if the work can be distributed onacross multiple servers).
  • Cheating can be avoided easily.  (relativecompared to P2P).
  • Lower Latency: If the server has a solid connection the latency can be extremely low.
  • A player's internet connection never affects the other'sanother's game.
  • Cons:
  • Costs you money to run the servers: definitely not suitable for a free game.  (unless you let the players set up a dedicated server, but that might be a security problem).
  • If the server has problems, everyone hasdoes.

I would consider P2P a good choice because the average internet connection is getting better and better, in the future P2P latency might not be a problem at all. Also much about P2P depends on the specific implementation.

There is also some architectures that combine P2P with Server-client.

Here's my two cents:

P2P:

  • Pros:
  • No need for a central server: this makes it much cheaper, and more viable for low-budget indie games.
  • Scales very well(up to a certain point when the average client just cant handle the bandwidth).
  • Very good for data distribution: Suits games where user-created content is dynamically synced.(also just look at torrents)
  • More Stable: It can never happen that the server is having problems and no-one can play(implementation dependent).
  • Cons:
  • Hard to implement: much harder to create a solid P2P architecture, than a server-client.
  • Its very hard to prevent cheating in such a system, unless you designate an authoritative peer, but then again you lose much of the benefits of scaling well.
  • Security is hard to achieve.
  • A clients internet connection can influence the game for others too.
  • Latency is usually much bigger(tough can be better when joining an internet game with multiple people from a lan network for example).
  • May require port forwarding: P2P over the Internet requires port-forwarding, not everyone is able to do technically and the ISP may prevent this as well. It also increases the barrier to entry.

Server-Client:

  • Pros:
  • Easy to implement: Its as straightforward as it gets.
  • If implemented well, scales extremely well.(if the work can be distributed on multiple servers)
  • Cheating can be avoided easily.(relative to P2P)
  • Lower Latency: If the server has a solid connection the latency can be extremely low.
  • A player's internet connection never affects the other's game.
  • Cons:
  • Costs you money to run the servers: definitely not suitable for a free game.(unless you let the players set up a dedicated server, but that might be a security problem)
  • If the server has problems, everyone has.

I would consider P2P a good choice because the average internet connection is getting better and better, in the future P2P latency might not be a problem at all. Also much about P2P depends on the specific implementation.

There is also some architectures that combine P2P with Server-client.

Here's my two cents:

P2P:

  • Pros:
  • No need for a central server: this makes it much cheaper, and more viable for low-budget indie games.
  • Scales very well  (up to a certain point when the average client just can't handle the bandwidth).
  • Very good for data distribution: Suits games where user-created content is dynamically synced  (e.g. torrents).
  • More Stable: It can never happen that the server is having problems and no-one can play  (implementation dependent).
  • Cons:
  • Hard to implement: much harder to create a solid P2P architecture, than a server-client.
  • It's very hard to prevent cheating in such a system, unless you designate an authoritative peer (which will hinder any benefits of scaling well from P2P).
  • Security is hard to achieve.
  • A client's internet connection can influence the game for others too.
  • Latency is usually much greater (although it can be better when joining an internet game with multiple people from a LAN network for example).
  • May require port forwarding: P2P over the Internet requires port-forwarding, and not everyone is technically-inclined enough to do that. Additionally, the ISP may prevent port forwarding, and it increases the barrier to entry.

Server-Client:

  • Pros:
  • Easy to implement: It's as straightforward as it gets.
  • If implemented well, scales extremely well  (if the work can be distributed across multiple servers).
  • Cheating can be avoided easily  (compared to P2P).
  • Lower Latency: If the server has a solid connection the latency can be extremely low.
  • A player's internet connection never affects another's game.
  • Cons:
  • Costs you money to run the servers: definitely not suitable for a free game  (unless you let the players set up a dedicated server, but that might be a security problem).
  • If the server has problems, everyone does.

I would consider P2P a good choice because the average internet connection is getting better and better, in the future P2P latency might not be a problem at all. Also much about P2P depends on the specific implementation.

There is also some architectures that combine P2P with Server-client.

Adding a con to the P2P implementation
Source Link
akaltar
  • 1.7k
  • 14
  • 26

Here's my two cents:

P2P:

  • Pros:
  • No need for a central server: this makes it much cheaper, and more viable for low-budget indie games.
  • Scales very well(up to a certain point when the average client just cant handle the bandwidth).
  • Very good for data distribution: Suits games where user-created content is dynamically synced.(also just look at torrents)
  • More Stable: It can never happen that the server is having problems and no-one can play(implementation dependent).
  • Cons:
  • Hard to implement: much harder to create a solid P2P architecture, than a server-client.
  • Its very hard to prevent cheating in such a system, unless you designate an authoritative peer, but then again you lose much of the benefits of scaling well.
  • Security is hard to achieve.
  • A clients internet connection can influence the game for others too.
  • Latency is usually much bigger(tough can be better when joining an internet game with multiple people from a lan network for example).
  • GamersMay require technical skills to setup a P2P gameport forwarding: P2P over the Internet requires port-forwarding, not all gamers are so tech-savvyeveryone is able to setup a portdo technically and the ISP may prevent this as well. NotIt also increases the barrier to mention that CGNAT makes port-forwarding impossibleentry.

Server-Client:

  • Pros:
  • Easy to implement: Its as straightforward as it gets.
  • If implemented well, scales extremely well.(if the work can be distributed on multiple servers)
  • Cheating can be avoided easily.(relative to P2P)
  • Lower Latency: If the server has a solid connection the latency can be extremely low.
  • A player's internet connection never affects the other's game.
  • Cons:
  • Costs you money to run the servers: definitely not suitable for a free game.(unless you let the players set up a dedicated server, but that might be a security problem)
  • If the server has problems, everyone has.

I would consider P2P a good choice because the average internet connection is getting better and better, in the future P2P latency might not be a problem at all. Also much about P2P depends on the specific implementation.

There is also some architectures that combine P2P with Server-client.

Here's my two cents:

P2P:

  • Pros:
  • No need for a central server: this makes it much cheaper, and more viable for low-budget indie games.
  • Scales very well(up to a certain point when the average client just cant handle the bandwidth).
  • Very good for data distribution: Suits games where user-created content is dynamically synced.(also just look at torrents)
  • More Stable: It can never happen that the server is having problems and no-one can play(implementation dependent).
  • Cons:
  • Hard to implement: much harder to create a solid P2P architecture, than a server-client.
  • Its very hard to prevent cheating in such a system, unless you designate an authoritative peer, but then again you lose much of the benefits of scaling well.
  • Security is hard to achieve.
  • A clients internet connection can influence the game for others too.
  • Latency is usually much bigger(tough can be better when joining an internet game with multiple people from a lan network for example).
  • Gamers require technical skills to setup a P2P game: P2P over the Internet requires port-forwarding, not all gamers are so tech-savvy to setup a port. Not to mention that CGNAT makes port-forwarding impossible.

Server-Client:

  • Pros:
  • Easy to implement: Its as straightforward as it gets.
  • If implemented well, scales extremely well.(if the work can be distributed on multiple servers)
  • Cheating can be avoided easily.(relative to P2P)
  • Lower Latency: If the server has a solid connection the latency can be extremely low.
  • A player's internet connection never affects the other's game.
  • Cons:
  • Costs you money to run the servers: definitely not suitable for a free game.(unless you let the players set up a dedicated server, but that might be a security problem)
  • If the server has problems, everyone has.

I would consider P2P a good choice because the average internet connection is getting better and better, in the future P2P latency might not be a problem at all. Also much about P2P depends on the specific implementation.

There is also some architectures that combine P2P with Server-client.

Here's my two cents:

P2P:

  • Pros:
  • No need for a central server: this makes it much cheaper, and more viable for low-budget indie games.
  • Scales very well(up to a certain point when the average client just cant handle the bandwidth).
  • Very good for data distribution: Suits games where user-created content is dynamically synced.(also just look at torrents)
  • More Stable: It can never happen that the server is having problems and no-one can play(implementation dependent).
  • Cons:
  • Hard to implement: much harder to create a solid P2P architecture, than a server-client.
  • Its very hard to prevent cheating in such a system, unless you designate an authoritative peer, but then again you lose much of the benefits of scaling well.
  • Security is hard to achieve.
  • A clients internet connection can influence the game for others too.
  • Latency is usually much bigger(tough can be better when joining an internet game with multiple people from a lan network for example).
  • May require port forwarding: P2P over the Internet requires port-forwarding, not everyone is able to do technically and the ISP may prevent this as well. It also increases the barrier to entry.

Server-Client:

  • Pros:
  • Easy to implement: Its as straightforward as it gets.
  • If implemented well, scales extremely well.(if the work can be distributed on multiple servers)
  • Cheating can be avoided easily.(relative to P2P)
  • Lower Latency: If the server has a solid connection the latency can be extremely low.
  • A player's internet connection never affects the other's game.
  • Cons:
  • Costs you money to run the servers: definitely not suitable for a free game.(unless you let the players set up a dedicated server, but that might be a security problem)
  • If the server has problems, everyone has.

I would consider P2P a good choice because the average internet connection is getting better and better, in the future P2P latency might not be a problem at all. Also much about P2P depends on the specific implementation.

There is also some architectures that combine P2P with Server-client.

Adding a con to the P2P implementation
Source Link

Here's my two cents:

P2P:

  • Pros:
  • No need for a central server: this makes it much cheaper, and more viable for low-budget indie games.
  • Scales very well(up to a certain point when the average client just cant handle the bandwidth).
  • Very good for data distribution: Suits games where user-created content is dynamically synced.(also just look at torrents)
  • More Stable: It can never happen that the server is having problems and no-one can play(implementation dependent).
  • Cons:
  • Hard to implement: much harder to create a solid P2P architecture, than a server-client.
  • Its very hard to prevent cheating in such a system, unless you designate an authoritative peer, but then again you lose much of the benefits of scaling well.
  • Security is hard to achieve.
  • A clients internet connection can influence the game for others too.
  • Latency is usually much bigger(tough can be better when joining an internet game with multiple people from a lan network for example).
  • Gamers require technical skills to setup a P2P game: P2P over the Internet requires port-forwarding, not all gamers are so tech-savvy to setup a port. Not to mention that CGNAT makes port-forwarding impossible.

Server-Client:

  • Pros:
  • Easy to implement: Its as straightforward as it gets.
  • If implemented well, scales extremely well.(if the work can be distributed on multiple servers)
  • Cheating can be avoided easily.(relative to P2P)
  • Lower Latency: If the server has a solid connection the latency can be extremely low.
  • A player's internet connection never affects the other's game.
  • Cons:
  • Costs you money to run the servers: definitely not suitable for a free game.(unless you let the players set up a dedicated server, but that might be a security problem)
  • If the server has problems, everyone has.

I would consider P2P a good choice because the average internet connection is getting better and better, in the future P2P latency might not be a problem at all. Also much about P2P depends on the specific implementation.

There is also some architectures that combine P2P with Server-client.

Here's my two cents:

P2P:

  • Pros:
  • No need for a central server: this makes it much cheaper, and more viable for low-budget indie games.
  • Scales very well(up to a certain point when the average client just cant handle the bandwidth).
  • Very good for data distribution: Suits games where user-created content is dynamically synced.(also just look at torrents)
  • More Stable: It can never happen that the server is having problems and no-one can play(implementation dependent).
  • Cons:
  • Hard to implement: much harder to create a solid P2P architecture, than a server-client.
  • Its very hard to prevent cheating in such a system, unless you designate an authoritative peer, but then again you lose much of the benefits of scaling well.
  • Security is hard to achieve.
  • A clients internet connection can influence the game for others too.
  • Latency is usually much bigger(tough can be better when joining an internet game with multiple people from a lan network for example).

Server-Client:

  • Pros:
  • Easy to implement: Its as straightforward as it gets.
  • If implemented well, scales extremely well.(if the work can be distributed on multiple servers)
  • Cheating can be avoided easily.(relative to P2P)
  • Lower Latency: If the server has a solid connection the latency can be extremely low.
  • A player's internet connection never affects the other's game.
  • Cons:
  • Costs you money to run the servers: definitely not suitable for a free game.(unless you let the players set up a dedicated server, but that might be a security problem)
  • If the server has problems, everyone has.

I would consider P2P a good choice because the average internet connection is getting better and better, in the future P2P latency might not be a problem at all. Also much about P2P depends on the specific implementation.

There is also some architectures that combine P2P with Server-client.

Here's my two cents:

P2P:

  • Pros:
  • No need for a central server: this makes it much cheaper, and more viable for low-budget indie games.
  • Scales very well(up to a certain point when the average client just cant handle the bandwidth).
  • Very good for data distribution: Suits games where user-created content is dynamically synced.(also just look at torrents)
  • More Stable: It can never happen that the server is having problems and no-one can play(implementation dependent).
  • Cons:
  • Hard to implement: much harder to create a solid P2P architecture, than a server-client.
  • Its very hard to prevent cheating in such a system, unless you designate an authoritative peer, but then again you lose much of the benefits of scaling well.
  • Security is hard to achieve.
  • A clients internet connection can influence the game for others too.
  • Latency is usually much bigger(tough can be better when joining an internet game with multiple people from a lan network for example).
  • Gamers require technical skills to setup a P2P game: P2P over the Internet requires port-forwarding, not all gamers are so tech-savvy to setup a port. Not to mention that CGNAT makes port-forwarding impossible.

Server-Client:

  • Pros:
  • Easy to implement: Its as straightforward as it gets.
  • If implemented well, scales extremely well.(if the work can be distributed on multiple servers)
  • Cheating can be avoided easily.(relative to P2P)
  • Lower Latency: If the server has a solid connection the latency can be extremely low.
  • A player's internet connection never affects the other's game.
  • Cons:
  • Costs you money to run the servers: definitely not suitable for a free game.(unless you let the players set up a dedicated server, but that might be a security problem)
  • If the server has problems, everyone has.

I would consider P2P a good choice because the average internet connection is getting better and better, in the future P2P latency might not be a problem at all. Also much about P2P depends on the specific implementation.

There is also some architectures that combine P2P with Server-client.

Added a remark
Source Link
akaltar
  • 1.7k
  • 14
  • 26
Loading
Added relevant information
Source Link
akaltar
  • 1.7k
  • 14
  • 26
Loading
Added relevant information
Source Link
akaltar
  • 1.7k
  • 14
  • 26
Loading
Source Link
akaltar
  • 1.7k
  • 14
  • 26
Loading