ユーザーが環境と対話する方法を変更するように設計された暗い状況を含む、私が出くわしたほとんどすべてのゲームでは、望ましい効果を打ち消すためにモニターのガンマ補正を上げるプレイヤーが常にいます。
ユーザーがチャレンジから抜け出すためにガンマ補正を調整して「チート」するのを防ぐ方法はありますか?(闇)
ユーザーのモニターの現在のガンマ補正を確実に取得できれば、それを使用して、通常のユーザーに不便さを与えずに付与される利点を多かれ少なかれ防ぐことができると思います。
ユーザーが環境と対話する方法を変更するように設計された暗い状況を含む、私が出くわしたほとんどすべてのゲームでは、望ましい効果を打ち消すためにモニターのガンマ補正を上げるプレイヤーが常にいます。
ユーザーがチャレンジから抜け出すためにガンマ補正を調整して「チート」するのを防ぐ方法はありますか?(闇)
ユーザーのモニターの現在のガンマ補正を確実に取得できれば、それを使用して、通常のユーザーに不便さを与えずに付与される利点を多かれ少なかれ防ぐことができると思います。
回答:
プレーヤーが何かを見ることができるかどうかを絶対に制御する必要がある場合、おそらくマルチプレーヤーのアンチチートや、ゲームの仕組みの鍵である場合は、それらを完全に隠します。この方法では、ガンマ補正の量はそれらを表示しません。
最良の例ではありませんが、クロージャーでは、照らされていないエリアは完全に暗闇です:
...ユーザーのモニターの現在のガンマ補正を確実に取得できる場合...
この道を下らないでください。チート以外にも、ガンマを補正するための多くの理由があります。プレーヤーの視力が悪い、モニターが悪い、または日中プレイしている可能性があります。ユーザーを尊重してください!少数の詐欺師/海賊/何を持っている人が他の人のために経験を台無しにさせないでください。
私が提案するのは、レンダリングされた出力に少量のホワイトノイズを追加することです。明るいシーンでは、これは見えません。通常のガンマ設定の暗いシーンでは、カメラや人間の目が実際に実際に行うことと似ています。しかし、ガンマを上げる人にとって、このノイズは強い迷惑になります。暗いオブジェクトが適切に見えるようになるだけでなく、低域ノイズのブーストは明るいオブジェクトからもそらされます。そのため、人々がそれを行うことを十分に阻止する必要があります。
(もちろん、非常に賢い人はまだ洗練されたノイズ除去技術を思い付くかもしれませんが、それらは少なくとも普通のモニターでは利用できません)
トリックを実行できるWindows API関数がいくつかあります:SetMonitorBrightnessとSetDeviceGammaRampです。ただし、これはハードウェアに依存します。おそらくすべてのモニターがプログラムで明るさの設定をサポートしているわけではありません。また、モニターが異なると結果が異なるなどもあります。
さらに、それは非常に良いアイデアのようには聞こえません。ガンマ/明るさをある固定値にロックすると、確実にプレイヤーを悩ませるでしょう。また、おそらくセットアップが暗すぎる(または明るすぎる)ので、ゲームをプレイできなくする可能性があります。
最終的に、シングルプレイヤーゲームであり、プレイヤーが自分でゲームを簡単にしたい場合、それは彼らの権利です。なぜそれらを停止する必要がありますか?マルチプレイヤーゲームの場合は、懐中電灯のビームやその性質を確認できるほど近いイベントに関する情報のみをプレイヤーに送信するなど、他の戦略が必要です。
そのシングルプレイヤーであれば、それは本当に重要ではありません。
マルチプレイヤーでは、コリジョンボックスに表示できるものを表示するだけです。暗いエリアにいる場合は、フィールドビューのコリジョンボックスに入るまで、他のプレイヤー/ステージオブジェクトなどをまったく描画しないようにクライアントに伝えます。