Comment serait possible un réseau P2P complètement / semi-autonome pour les jeux multijoueurs être?

StackOverflow https://stackoverflow.com/questions/597303

  •  11-09-2019
  •  | 
  •  

Question

J'ai réfléchissais sur la façon dont on pourrait s'y prendre pour créer un système P2P (comme BitTorrent pour les fichiers) pour jouer à des jeux multijoueurs. L'idée est de supprimer le serveur traditionnel de l'architecture multi-joueurs. Je comprends qu'une sorte de serveur peut être nécessaire pour initier les communications et l'envoi de mises à jour, etc monde, mais je suis intéressé à la façon dont vous réduire les pressions de charge et de bande passante sur le serveur.

Par ailleurs, cela vaut pour tout jeu de taille, d'un jeu de deux dames de joueur jusqu'à un FPS avec plus de 30 joueurs.

Suis-je fou?

Était-ce utile?

La solution

J'ai pensé à la même chose. J'ai un préjugé de longue date qui a distribué des systèmes doit être distribués , sans besoin d'un contrôleur central. Le problème avec un MMO ou jeu similaire est que chaque joueur doit être en mesure de voir le même « monde ». Vous vous retrouvez avec un problème similaire à la Relativité d'Einstein-ian et « simultanéité » -. Vous le sont plus éloignés, plus votre vision du monde diffère

En général, la solution est que vous devez être en mesure de propager des informations à d'autres clients dans votre voisinage immédiat - dans l'espace-gamer, pas nécessairement l'espace physique - suffisamment rapide pour que les mises à jour apparaissent simultanément à tous les locaux joueurs.

Je soupçonne que la réponse est d'avoir un « serveur » ou modèle mondial par joueur, plutôt que de représenter les joueurs comme vecteurs dans un serveur mondial.

Autres conseils

Le gros problème est pas bandiwdth ou la latence ou la distribution des modifications à l'état du jeu. Le gros problème est la confiance.

Si je vous dis que je tué un monstre, comment voulez-vous vérifier que je l'ai fait réellement? Comment vérifiez-vous que je suis niveau 45 en fait? Comment pouvez-vous vérifier que je ne suis pas téléporter dans le monde? Rappelez-vous que vous ne pouvez pas vérifier le serveur pour tous les petits détails: c'est ce que nous essayons d'éviter

Vous avez besoin de joueurs regarder les joueurs et même alors, ils pourraient travailler ensemble pour tricher. Je doute vraiment quelqu'un va concevoir un MMO à tout moment p2p confiance bientôt.

Il y a beaucoup de choses à prendre en compte dans votre question:

1) maître Périphérie - qui commence le jeu alors? Où puis-je trouver le premier noeud? si tout le monde décide de fermer leur client P2P en même temps? ne la fin monde?

2) les règles Distrubuted - qui peuvent confirmer que le joueur 77 sur 102235 tué un monstre à x, y, z? Je vois des problèmes dans BIG hacking / tricher avec un « commandant en chef » ...

3) Latence - quand un client a recieved toutes les données? si l'Internet tombe en panne? ou dans un jeu LAN, si les matrices harddrive - sera ce fou du jeu pour tout le monde

Je crois que la pensée de P2P est intéressant, mais comme dans toutes les compétitions, je crois que nous aurons besoin d'un « juge » qui peut gérer les règles, parce que lorsque vous êtes en compétition contre « anonymes » alors son « correct de tricher » beaucoup pense.

Je pense que une sorte de grid computing pourrait être la façon de le faire, mais encore une fois, si certains dans la grille tombe ou sont trop lents pour le rendu monde et l'envoi des résultats retour .. nous avons le jeu entier « calorifugeage » ... = jeu terrible pour tout le monde ... cela est déjà vu dans de nombreux jeux de FPS avec un serveur maître. Si le protocole de réseau ne marche pas lag poignée trop, ça devient plus difficile de frapper une personne courir ou ils apparaissent de nulle part vous tirer une balle dans le visage.

Une solution coûteuse pourrait être d'avoir « sous-serveurs » (serveurs-jeu-proxy) où vous avez quelques-unes des données plus proches des joueurs. Ce que je crois, il faudrait vous d'avoir accès à beaucoup de serverfarms à travers le monde (comme Blizzard fait avec WOW) ou vous devrez inventer une sorte de « hôte P2P » intelligent qui va se passer à « sous-serveur » quand alors la bande passante est assez grand et assez de joueurs sont proches de proxsamity de celui-ci (toujours vérifier le décalage de son point de vue ...) ... maintenant, supposons que cela était possible .. si la ligne est rompue entre cette sous-serveur et le principal gameloop au niveau mondial à nouveau?

LOL ... cela pourrait aller ... il semble de plus en plus comme le problème général avec l'Internet: -)

codage heureux ...

Je ne suis certainement pas un expert, mais il semble un peu fou pour moi. Dans mon expérience, vous avez besoin des serveurs dédiés en raison de la bande passante et la performance. Avec P2P vous perdez ces deux choses. À mon avis, P2P est bon pour quelques choses. Distribution des fichiers et la recherche sont parmi eux. Cependant, ces 2 choses ne ont pas besoin de données en temps réel. Si vous aviez une sorte de monde du jeu massivement multijoueur, alors vous pourriez probablement utiliser le P2P pour distribuer des fichiers de jeu, et peut-être délester même nombre crissant.

Je dirais qu'il ya des possibilités, mais le nombre d'entre eux semblent limités, bien que potentiellement puissant.

Je pense que cela est probablement possible en théorie, mais il est encore loin.

Comme il est indiqué dans les autres postes, la latence pourrait rester faible en ne garantissant des mises à jour à d'autres joueurs qui sont à proximité. Cela a été fait depuis de nombreuses années dans les jeux distribués.

La perte de données peut être maintenue à un niveau tolérable en laissant plusieurs nœuds responsables de chaque donnée.

En ce qui concerne le problème de la confiance, il serait possible d'avoir un protocole où un joueur pourrait « défi » d'un autre joueur pour découvrir la tricherie. C'est à dire. le challenger ferait double emploi avec une partie du calcul d'autres joueurs et demander de comparer les résultats. Il existe déjà des protocoles cryptographiques qui font ce genre de chose, mais je ne sais pas les détails ou si elles sont réalisables dans la pratique.

Le vrai problème que je vois est qu'il ya peu de raisons de développer un tel système. Le coût serait élevé et plus complexe, mais l'expérience de jeu (le produit) ne serait pas sensiblement amélioré. Une activité d'économie d'argent doit économiser plus d'argent qu'il en coûte pour être viable.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top