Vous pensez que vous êtes en retard maintenant? Attendez simplement que vous deviez obtenir des informations d'occlusion en temps réel du serveur. Maintenant, vous pouvez vous promener derrière un mur et les méchants apparaîtront soudainement lorsque le serveur rattrapera et vous enverra les données d'occlusion mises à jour.
Donc, mon commentaire snarky dit tout. La principale raison de ne pas le faire est probablement le décalage et la charge du serveur. Si vous voulez que le serveur sache quand un autre joueur est visible pour vous, cela signifie que le serveur doit savoir exactement quelle géométrie chaque joueur regarde et calculer cette occlusion.
Je suis d'accord que des exploits comme le piratage de mur peuvent rendre le jeu pas amusant. Et je vois que les développeurs s'inquiéteraient de cela parce qu'ils veulent rendre le jeu aussi amusant que possible. Cependant, lorsque les développeurs en arrivent au point où leurs contre-mesures anti-triche / piratage diminuent le jeu et / ou la satisfaction des clients, ils perdront beaucoup plus de clients que s'ils venaient de le laisser seuls . Voir DRM .
C'est faisable, et a déjà été essayé dans la recherche; pour une comparaison des schémas de gestion des intérêts, voir http://dl.acm.org/citation.cfm?id=1230069
Comme l'a dit Byte56, cela peut nécessiter plus de CPU, mais cela peut réduire votre bande passante et réduire la probabilité de piratage mural.
Et comme l'a dit Byte56, une zone d'intérêt strictement limitée à la zone d'occlusion du joueur peut réduire la réactivité du côté client: les embuscades prendront au moins la moitié d'un aller-retour pour être affichées. Cependant, vous pouvez agrandir la zone d'intérêt du joueur légèrement plus grande que la zone d'occlusion, de sorte que le client reçoive l'embuscade de l'adversaire quelques secondes avant que cela ne se produise. De cette façon, les hacks muraux sont toujours possibles, mais seulement au tout dernier moment.
la source
La réponse courte est que oui, l'élimination des occlusions côté serveur est possible, mais ce n'est souvent pas fait en raison de la complexité et des avantages limités.
Gardez à l'esprit que pour une grande partie des jeux FPS modernes, l'occlusion complète est rare. De nos jours, les personnages utilisent une couverture ou se cachent dans l'herbe, et les uniformes et le camouflage réels ont en fait un impact sur la visibilité. Les murs et les couloirs jouent toujours un grand rôle dans la bataille en ligne, mais pas autant que par le passé.
Les jeux avec beaucoup de couloirs étroits et de surfaces opaques peuvent (et ont parfois) utilisé une élimination d'occlusion sur le serveur pour filtrer les événements. Cela ne fonctionne tout simplement pas si bien pour les grands environnements ouverts et les jeux de couverture / camo réalistes.
Le piratage de murs n'est également qu'une petite partie de la triche dans les jeux en ligne, et la correction de chaque piratage individuel n'a pas bien fonctionné jusqu'à présent. Les meilleures approches ont simplement été la création de matchs de haute qualité et les systèmes de notation des joueurs qui filtrent les tricheurs et réduisent la probabilité de se retrouver dans un match frustrant.
la source
Les développeurs de jeux ne peuvent-ils pas simplement écrire un programme secondaire qui prend essentiellement le contrôle total du PC et ne permet à aucun logiciel tiers de se charger pendant le jeu? Ne doivent-ils pas charger les injecteurs après le démarrage du jeu et leur mappage en mémoire? Donc, juste liste noire tout ce qui n'est pas lié à l'exécution. Ils doivent créer un type d'UAC pour arrêter le chargement des services après le chargement du jeu.
Mon autre idée pour empêcher complètement le piratage est un peu plus complexe et implique l'exécution de jeux comme un système d'exploitation Linux Live Drive. Fondamentalement, le jeu n'utiliserait pas du tout de fenêtres, mais utiliserait son propre système d'exploitation dépouillé qui est conçu pour ne charger que les jeux. Donc, les joueurs peuvent vouloir diffuser ou jouer de la musique tout en jouant, mais cette nouvelle façon de gérer un jeu ne le permettra pas .. Gros problème, les développeurs pourraient ajouter des programmes et des trucs à la liste blanche, mais je ne me dérangerais pas .. vous essayez de jouer à un jeu, si vous voulez avoir plusieurs tâches avec un ordinateur portable à proximité, etc. Essentiellement, vous voulez exécuter le jeu en mode bac à sable avec cryptage .. Je pense que c'est comme ça que ça s'appelle .. C'est comme exécuter un jeu dans un environnement de temp os virtuel qui est 100% contrôlé par le créateur du jeu.
Et ce mode sandboxie serait très similaire au fonctionnement de la console et des jeux. Nous ne voyons pas beaucoup de hacks sur la console .. Vous vous demandez pourquoi? Parce qu'ils ne peuvent pas les charger sur la console et s'ils le pouvaient, les consoles ne pourraient même pas le lire, le reconnaître.
la source