Dans presque tous les jeux que j'ai rencontrés qui incluent une situation sombre conçue pour changer la façon dont un utilisateur interagit avec l'environnement, il y a toujours des joueurs qui augmentent la correction gamma de leur moniteur afin d'annuler l'effet souhaité.
Existe-t-il un moyen d'empêcher les utilisateurs d'ajuster leur correction gamma pour «tricher» pour sortir d'un défi? (l'obscurité)
J'imagine que si vous pouviez récupérer de manière fiable la correction gamma actuelle du moniteur de l'utilisateur, vous pourriez l'utiliser pour empêcher plus ou moins l'avantage qu'il accorderait autrement sans causer d'inconvénients aux utilisateurs normaux.
rendering
anti-cheat
Athix
la source
la source
Réponses:
Si vous devez absolument contrôler si le joueur peut voir quelque chose ou non, peut-être pour l'anti-triche multijoueur ou si c'est la clé de vos mécanismes de jeu, alors obscurcissez-les complètement . De cette façon, aucune correction gamma ne les rendra visibles.
Pas le meilleur exemple, mais dans Closure , les zones non éclairées sont dans l'obscurité totale:
Veuillez ne pas emprunter ce chemin; il existe de nombreuses raisons - autres que la tricherie - pour corriger le gamma; peut-être que le joueur a une mauvaise vue, un mauvais moniteur ou joue pendant la journée. Veuillez respecter vos utilisateurs! Ne laissez pas quelques tricheurs / pirates / quoi que ce soit gâcher l'expérience pour tout le monde.
la source
Je suggérerais d'ajouter une petite quantité de bruit blanc à la sortie rendue. Dans les scènes lumineuses, cela ne sera pas visible, dans les scènes sombres avec un réglage gamma ordinaire, c'est similaire à ce que les caméras ou l'œil humain font en réalité. Mais pour quelqu'un qui augmente le gamma, ce bruit serait une forte nuisance. Non seulement les objets sombres ne deviendront pas correctement visibles, mais l’amplification du bruit de faible portée distraira également les objets lumineux; cela devrait donc suffisamment décourager les gens de le faire.
(Bien sûr, les gars très intelligents pourraient toujours proposer des techniques de débruitage sophistiquées, mais celles-ci ne sont au moins pas disponibles sur les moniteurs ordinaires)
la source
Il existe quelques fonctions de l'API Windows qui pourraient faire l'affaire: SetMonitorBrightness et SetDeviceGammaRamp . Cependant, cela dépendra du matériel; tous les moniteurs ne prennent probablement pas en charge le réglage de la luminosité par programme, et différents moniteurs peuvent produire des résultats différents, etc.
De plus, cela ne semble pas être une très bonne idée. Verrouiller le gamma / luminosité à une valeur fixe ennuiera sûrement vos joueurs, et rendra très probablement le jeu injouable pour certains, car il se trouve qu'il est trop sombre (ou trop clair) sur leur configuration.
En fin de compte, si c'est un jeu solo et que le joueur veut rendre le jeu plus facile pour lui, c'est son droit. Pourquoi devriez-vous les arrêter? S'il s'agit d'un jeu multijoueur, d'autres stratégies sont nécessaires, telles que l'envoi uniquement au joueur d'informations sur les événements suffisamment proches pour qu'ils puissent voir ou dans leur faisceau de lampe de poche, ou quelque chose de ce genre.
la source
Compte tenu de la luminosité / contraste / gamma aléatoire des écrans de l'utilisateur, sans parler de l'éclairage de la pièce où l'utilisateur est assis, il n'y a aucun moyen fiable de créer quelque chose qui sera "juste assez visible" ou "juste assez invisible". Si vous voulez que quelque chose soit invisible, rendez-le noir. Si vous voulez rendre quelque chose ambiguë, vous devez accepter que certains joueurs auront une meilleure chance de le voir.
la source
Si son seul joueur n'a pas vraiment d'importance.
En multijoueur, qu'en est-il simplement d'avoir une boîte de collision montrant ce qu'ils peuvent voir. S'ils sont dans une zone sombre, dites au client de ne pas dessiner d'autres joueurs / objets de scène / etc jusqu'à ce qu'ils soient dans la zone de collision de la vue sur le terrain.
la source