2010-07-11 2 views
2

Je suis en train de construire un jeu et je suis à la recherche d'un bon moyen de mettre en œuvre le multijoueur. C'est un jeu de bac à sable avec la physique Box2D. Je pensais faire en sorte que le client envoie seulement des entrées au serveur et reçoit les sprites à dessiner et où. Serait-ce une bonne idée? Quel pourrait être l'idéal pour un jeu avec la physique comme ça?Informations sur la mise en œuvre du jeu multijoueur?

Merci

Répondre

4

Il y a quelques approches que vous pouvez prendre. Celui que vous mentionnez est ce que je considère comme une approche de style «client léger» - le serveur est responsable de la majeure partie du traitement, et le client n'est responsable que de l'entrée et de la sortie de base de l'utilisateur. Ceci a l'avantage de rendre la triche difficile, puisque le client n'a pas accès aux algorithmes définissant les règles du jeu, et aura donc des difficultés à les subvertir. L'inconvénient, cependant, est que cela impose au serveur de devoir faire essentiellement tout le traitement pour chaque client - potentiellement beaucoup de travail. L'approche inverse consiste à faire en sorte que chaque client fasse tout le traitement du jeu, et le serveur est essentiellement un moyen pour les clients de s'informer mutuellement lorsque leur état change en raison de l'entrée de l'utilisateur. Cela soulage le serveur de beaucoup de travail, mais facilite la triche. Étant donné que c'est un jeu de type bac à sable, je suppose que la tricherie n'est pas un gros problème. Dans ce cas, je vais personnellement descendre la route 2, mais il n'y a absolument rien de mal à le faire comme vous le suggérez.