¿Hay alguna manera de evitar que los usuarios ajusten su corrección gamma para 'hacer trampa' y salir de un área 'oscura'?


13

En casi todos los juegos que he encontrado que incluyen una situación oscura diseñada para cambiar la forma en que un usuario interactúa con el entorno, siempre hay algunos jugadores que activan la corrección gamma de su monitor para negar el efecto deseado.

¿Hay alguna manera de evitar que los usuarios ajusten su corrección gamma para 'hacer trampa' y salir de un desafío? (la oscuridad)

Me imagino que si pudiera recuperar de manera confiable la corrección gamma actual del monitor del usuario, podría usar eso para evitar más o menos la ventaja que de otro modo otorgaría sin causar inconvenientes a los usuarios normales.


17
¿Es esto para un juego multijugador en el que podría obtener una ventaja injusta? Si no, como jugador, preferiría que dejaras solo la configuración de mi pantalla, gracias.

3
Tal como dijo Cong Xu, obtienes un efecto mínimo ajustando la gamma porque solo cambia el brillo de lo que es realmente visible. Si no quieres que se vea algo, dibújalo completamente en negro y prácticamente no habrá forma de que el jugador haga trampa ajustando la gamma.
LiquidFeline

Respuestas:


44

Si absolutamente necesitas controlar si el jugador puede ver algo o no, posiblemente para el anti-trampa de multijugador o si es clave para la mecánica de tu juego, entonces obscurece completamente . De esta manera, ninguna cantidad de corrección gamma los hará visibles.

No es el mejor ejemplo, pero en Closure , las áreas que no están iluminadas están en completa oscuridad:

ingrese la descripción de la imagen aquí

... si pudiera recuperar de manera confiable la corrección gamma actual del monitor del usuario ...

Por favor, no sigas este camino; hay muchas razones, además de hacer trampa, para corregir la gamma; tal vez el jugador tiene mala vista, o un monitor malo, o está jugando durante el día. ¡Respeta a tus usuarios! No dejes que algunos tramposos / piratas / lo que has arruinado la experiencia para todos los demás.


9

Lo que sugeriría es agregar una pequeña cantidad de ruido blanco a la salida renderizada. En escenas brillantes, esto no será visible, en escenas oscuras con configuración de gamma normal es similar a lo que las cámaras o el ojo humano realmente hacen en realidad. Pero para alguien que aumenta la gama, este ruido sería una gran molestia. No solo los objetos oscuros no se verán correctamente, sino que el aumento del ruido de bajo rango también distraerá de los objetos brillantes; por lo tanto, debería disuadir lo suficiente a las personas de hacerlo.

(Por supuesto, los muchachos muy inteligentes aún pueden desarrollar técnicas sofisticadas de eliminación de ruido, pero al menos no están disponibles en monitores comunes)


un ejemplo de esta técnica es el juego flash no escapan
user1937198

Si combina de forma aditiva el ruido blanco (en lugar de promediar / superponer), las áreas oscuras serán muy ruidosas, mientras que los resaltados y los medios tonos tendrán un ruido apenas perceptible. Es posible que también necesites puntos más grandes para el ruido dependiendo de la resolución del juego: las resoluciones más altas hacen que el ruido sea menos efectivo.
Recogida de Logan el

8

Hay un par de funciones de la API de Windows que pueden ser útiles : SetMonitorBrightness y SetDeviceGammaRamp . Sin embargo, esto dependerá del hardware; probablemente no todos los monitores admitan la configuración del brillo mediante programación, y diferentes monitores pueden producir resultados diferentes, etc.

Además, no parece una muy buena idea. Bloquear el valor gamma / brillo a un valor fijo seguramente molestará a sus jugadores, y muy probablemente hará que el juego no se pueda jugar para algunos, porque resulta demasiado oscuro (o demasiado brillante) en su configuración.

En última instancia, si se trata de un juego para un solo jugador y el jugador quiere facilitar el juego para sí mismo, es su derecho. ¿Por qué deberías detenerlos? Si se trata de un juego multijugador, entonces se necesitan otras estrategias, como enviarle al jugador información sobre eventos lo suficientemente cerca para que puedan ver o dentro de su haz de luz, o algo por el estilo.


0

Dado el brillo / contraste / gamma aleatorio de las pantallas del usuario, sin mencionar la iluminación de la habitación donde se sienta el usuario, no hay una manera confiable de hacer algo que sea "lo suficientemente visible" o "lo suficientemente invisible". Si quieres que algo sea invisible, hazlo negro. Si quieres hacer algo ambiguamente perceptible, debes aceptar que algunos jugadores tendrán una mejor oportunidad de verlo.


0

Si es un jugador, realmente no importa.

En el modo multijugador, ¿qué hay de tener un cuadro de colisión que muestra lo que pueden ver? Si están en un área oscura, dígale al cliente que no dibuje otros jugadores / objetos del escenario / etc. en absoluto hasta que estén en el cuadro de colisión de la vista de campo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.