Di hampir setiap permainan yang saya temui yang mencakup situasi gelap yang dirancang untuk mengubah cara pengguna berinteraksi dengan lingkungan, selalu ada beberapa pemain yang mengubah koreksi gamma monitor mereka untuk meniadakan efek yang diinginkan.
Apakah ada cara untuk mencegah pengguna menyesuaikan koreksi gamma mereka untuk 'menipu' jalan keluar dari tantangan? (kegelapan)
Saya membayangkan jika Anda dapat dengan andal mengambil koreksi gamma saat ini dari monitor pengguna, Anda dapat menggunakannya untuk lebih atau kurang mencegah keuntungan yang sebaliknya akan diberikan tanpa menyebabkan ketidaknyamanan pada pengguna normal.
rendering
anti-cheat
Athix
sumber
sumber
Jawaban:
Jika Anda benar-benar perlu mengontrol apakah pemain dapat melihat sesuatu atau tidak, mungkin untuk anti-cheat multi-pemain atau jika itu adalah kunci mekanisme permainan Anda, maka sepenuhnya mengaburkan mereka . Dengan cara ini, jumlah koreksi gamma tidak akan membuatnya terlihat.
Bukan contoh terbaik, tetapi dalam Penutupan , area yang tidak menyala dalam kegelapan total:
Tolong jangan turun jalan ini; ada banyak alasan - selain kecurangan - untuk mengoreksi gamma; mungkin pemain memiliki penglihatan yang buruk, atau monitor yang buruk, atau bermain di siang hari. Harap hormati pengguna Anda! Jangan biarkan beberapa orang yang curang / bajak laut / apa pun yang Anda miliki merusak pengalaman orang lain.
sumber
Apa yang saya sarankan adalah menambahkan sejumlah kecil white noise ke output yang diberikan. Dalam adegan terang ini tidak akan terlihat, dalam adegan gelap dengan pengaturan gamma biasa itu mirip dengan apa yang sebenarnya dilakukan kamera atau mata manusia. Tetapi bagi seseorang yang melakukan gamma, kebisingan ini akan menjadi gangguan yang kuat. Tidak hanya objek gelap tidak akan terlihat dengan benar, peningkatan noise rentang rendah juga akan mengalihkan perhatian dari objek terang; jadi itu seharusnya cukup mencegah orang melakukan itu.
(Tentu saja, orang yang sangat pandai mungkin masih memunculkan teknik de-noising canggih, tapi itu setidaknya tidak tersedia di monitor biasa)
sumber
Ada beberapa fungsi Windows API yang dapat melakukan trik: SetMonitorBrightness dan SetDeviceGammaRamp . Namun, ini akan tergantung pada perangkat keras; mungkin tidak semua monitor mendukung pengaturan kecerahan secara terprogram, dan monitor yang berbeda dapat menghasilkan hasil yang berbeda, dll.
Selain itu, itu tidak terdengar seperti ide yang sangat bagus. Mengunci gamma / kecerahan ke beberapa nilai tetap pasti akan mengganggu pemain Anda, dan sangat mungkin membuat game tidak dapat dimainkan oleh sebagian orang, karena itu terjadi karena terlalu gelap (atau terlalu terang) pada pengaturan mereka.
Pada akhirnya, jika itu adalah permainan singleplayer dan pemain ingin membuat permainan lebih mudah bagi diri mereka sendiri, itu hak mereka. Mengapa Anda harus menghentikannya? Jika ini adalah permainan multipemain, maka diperlukan strategi lain, seperti hanya mengirim informasi pemain tentang peristiwa yang cukup dekat untuk dilihat atau di dalam sorotan lampu senter mereka, atau sesuatu yang sifatnya seperti itu.
sumber
Mengingat kecerahan / kontras / gamma acak dari layar pengguna, tidak menyebutkan pencahayaan ruangan tempat pengguna duduk, tidak ada cara yang dapat diandalkan untuk membuat sesuatu yang akan "cukup terlihat" atau "cukup tidak terlihat". Jika Anda ingin sesuatu tidak terlihat, buatlah hitam. Jika Anda ingin membuat sesuatu yang dapat dipahami secara ambigu, Anda harus menerima bahwa beberapa pemain akan memiliki kesempatan yang lebih baik untuk melihatnya.
sumber
Jika pemain tunggal itu tidak terlalu penting.
Dalam multipemain, bagaimana dengan hanya memiliki kotak tabrakan yang menunjukkan apa yang dapat mereka lihat. Jika mereka berada di area gelap, beri tahu klien untuk tidak menggambar pemain lain / objek panggung / dll sama sekali sampai mereka berada di kotak tumbukan tampilan lapangan.
sumber