Un ami et moi avions une discussion sur la façon dont un serveur FPS met à jour les clients qui y sont connectés. Nous avons regardé un video d'un gars tricher en Battlefield: Bad Company 2 et vu comment il a mis en évidence la position des ennemis sur l'écran et cela nous a fait réfléchir. Il prétendait que le serveur ne mettait à jour le client qu'avec des informations immédiatement pertinentes pour le client. C'est à dire. le serveur n'enverra pas d'informations sur les joueurs ennemis s'ils sont trop éloignés du client ou hors de la ligne de vue du client pour des raisons d'efficacité. Il n'était pas sûr cependant - il a évoqué l'exemple de quelqu'un qui se cache derrière un rocher, incapable de voir qui que ce soit. Si le joueur venait à apparaître soudainement alors qu'il avait trois joueurs dans sa ligne de vue, il y aurait un délai de 50ms avant d'être affiché sur son écran pendant que le serveur transmettait les informations nécessaires. Mon argument était le contraire: que le serveur envoie au client toutes les informations sur chaque joueur et laisse le client trier ce qui est autorisé et ce qui ne l'est pas. Je pensais que ce serait moins coûteux en informatique pour le serveur d'envoyer tout simplement au client et de laisser le client faire le gros du travail, pour ainsi dire. J'ai aussi pensé que c'est ainsi que fonctionnent les programmes de triche: ils interceptent les paquets du serveur, localisent les ennemis, puis les affichent sur la vue du client.Quelles sont les stratégies générales pour le serveur d'un jeu multijoueur FPS pour mettre à jour ses clients?
Donc, la question: Quelles sont les politiques générales ou les stratégies d'un serveur de First Person Shooter moderne pour garder ses clients à jour?
Avez-vous des ressources en ligne où je peux en apprendre plus à ce sujet? –
J'ai ajouté quelques liens à la réponse. J'apprends beaucoup en lisant le forum Gamedev.net en particulier. – Kylotan
Excellentes ressources; en particulier Source Networking multijoueur. J'allais répondre avec celui-là. +1 – Leftium