Je lis sur l'architecture de jeu multijoueur.
Jusqu'à présent, la plupart des articles que j'ai trouvés traitent du modèle client-serveur.
Je voudrais savoir quelles sont les limites de l'utilisation d'une architecture p2p? quelle "classe" de jeux est-il possible (ou plus courant) d'implémenter en l'utilisant? qui ne le sont pas? et en général, quelles sont ses principales différences et limitations par rapport au modèle client-serveur.
Réponses:
Voici mes deux cents:
P2P :
Serveur-client :
Je considérerais le P2P comme un bon choix car la connexion Internet moyenne s'améliore de plus en plus, à l'avenir la latence P2P pourrait ne plus être un problème. La P2P dépend également de l'implémentation spécifique.
Il existe également des architectures qui combinent P2P avec Server-client.
la source
Un gros risque des jeux peer-to-peer est que sans une autorité centrale sous la forme d'un serveur neutre, il n'y a aucun moyen d'empêcher la triche. Chaque client peut interpréter le résultat du jeu comme bon lui semble. Certains jeux déclarent l'un des clients hôte et le laissent être juge, mais lorsque ce client est un tricheur, ils décident du résultat de l'ensemble du jeu.
Avec les jeux qui nécessitent une faible latence et une bande passante élevée, comme tout jeu qui nécessite une réaction rapide des joueurs, vous avez également le problème que l'hôte utilise simplement une connexion Internet de qualité grand public, ne pas assis dans un centre de données avec une dorsale haute performance connexion. Cela signifie que l'expérience utilisateur en souffrira. Ce n'est pas vraiment un problème dans les jeux plus "stratégiques" et plus lents.
la source
La mise en œuvre de jeux multijoueurs peer to peer n'est pas facile et n'est pas applicable pour le moment.
Le problème que vous avez, c'est qu'aucun des pairs ne connaît tous les autres pairs, de sorte que vous avez plusieurs sauts pour chaque message, ce qui entraîne une latence plus élevée par rapport à un modèle de serveur client. Consultez ce document pour plus de détails.
Les jeux à base ronde pourraient facilement utiliser un tel protocole car ils ne dépendent pas tellement de la latence. De plus, ils n'ont normalement que quelques hôtes dans une session afin que l'on puisse diffuser chaque message à tous les autres joueurs.
D'autres jeux qui utilisent le pair à pair choisissent simplement l'un des pairs pour héberger le jeu dynamiquement (par exemple CoD MW2), ce qui entraîne des problèmes comme la migration de l'hôte si l'hôte se déconnecte.
la source