¿Hay alguna razón para agregar opciones para no usar tecnologías avanzadas en un motor de juego?

22

He estado desarrollando un motor de juego, y he estado descubriendo y leyendo sobre tecnologías de juego como el filtro anisotrópico, la oclusión ambiental, el suavizado, etc.

Por lo general, en los juegos, puedes activar y desactivar esta configuración. Sin embargo, si estas configuraciones solo agregan más que positivos, ¿hay alguna razón para agregar valores de alternancia para estos en un motor de juego para el desarrollador?

Entiendo que el rendimiento es un factor importante, pero ¿hay alguna otra razón por la cual estas configuraciones siempre estén disponibles para cambiar?

Java Man Tea Man
fuente
69
¿El rendimiento por sí solo no es una razón suficiente? Si el hardware de un jugador no puede soportar todas estas características a una velocidad de fotogramas jugable, eso solo parece una razón convincente para permitirles desactivar algunas.
DMGregory
3
SI su hardware no puede manejar algunos de los efectos, entonces no son positivos en absoluto como usted dice ... Al ser flexible en lo que su motor puede y no puede hacer, más personas pueden jugar sus juegos / usar su motor. Bajar los gráficos pero mantener segura la jugabilidad central es útil para algunas personas.
rlam12
3
Quake tenía una opción para deshabilitar casi por completo las texturas y los gráficos al mínimo, de modo que solo los elementos centrales del juego se representarían lo más rápido posible, ofreciendo el juego más fluido a costa de las imágenes. Seguro que había una muy buena razón para eso.
user1306322
99
Ver meneo y desenfoque de movimiento literalmente me puede enfermar en algunos juegos. Claramente, muchas personas piensan que son buenas, ya que parecen estar activadas en casi todos los juegos, pero devolvería tu juego con una mala crítica si no dieras la opción de desactivarlas.
Patrick M
2
@PatrickM Affordances para jugadores que experimentan enfermedad de simulación suena como si fuera una buena respuesta por derecho propio. :)
DMGregory

Respuestas:

49

El rendimiento es generalmente la razón principal por la que el usuario puede activar y desactivar estas funciones. En general, son caros, y al permitir a los usuarios desactivarlos, un desarrollador amplía el conjunto de máquinas que ejecutan el juego de manera efectiva para incluir más máquinas de gama baja. Esto se traduce en potencialmente más jugadores y, por lo tanto, potencialmente más ventas (suponiendo que esos jugadores puedan vivir con la disminución de la fidelidad visual).

Estas características avanzadas también pueden afectar más la vida útil de la batería o la salida del ventilador, como señaló @Artelius, por lo que los usuarios pueden deshabilitarlas por esas razones.

Finalmente, simplemente para proporcionar a los usuarios una opción sobre lo que prefieren. Es posible que a algunas personas no les guste cómo se ve el suavizado, o cómo deshabilitar v-sync puede causar el desgarro de la pantalla. O, para un ejemplo más práctico, considere Pillars of Eternity, que tiene una opción para habilitar o deshabilitar las ligaduras de fuentes. Estos probablemente no cuestan tanto en términos de rendimiento de tiempo de ejecución, pero algunos usuarios pueden encontrar el texto más difícil de leer con ellos. O (como señala @SeanMiddleditch), es posible que desee deshabilitar una función porque tiene errores en una máquina individual. O puede desear deshabilitar una función para obtener una ventaja competitiva (como deshabilitar los efectos visuales ruidosos que distraen de la mecánica).


fuente
12
Otra razón por la que los usuarios pueden desear desactivar los efectos computacionalmente caros es conservar la vida útil de la batería o reducir el calor y el ruido del ventilador.
Artelius
14
Como nota al pie, es importante recordar qué configuraciones se pueden deshabilitar mientras diseñas funciones / equilibrio crítico del juego. Durante un tiempo, las granadas de humo enemigas en BF4 podrían anularse al deshabilitar una opción gráfica. Ups
Jon
26
Otra razón es permitir soluciones para errores. El hardware particular de un usuario puede bloquearse o mal interpretar una escena con la implementación del juego de un cierto efecto de postprocesamiento, por ejemplo, o un mayor uso de memoria de configuraciones más altas puede provocar fallas en algunas máquinas y no solo la pérdida de rendimiento. Tuve un caso de una GPU que se sobrecalentó fácilmente y pude reducir la configuración hasta que obtuve una nueva ayuda para evitar fallas / reinicios del controlador de la GPU.
Sean Middleditch
1
The Witcher 3 es un gran ejemplo con HairWorks. Dejando de lado el rendimiento, hay muchas personas a las que les gustaría activarlo para todo, excepto Geralt (el personaje del jugador). Dicen que HairWorks hace que los animales se vean geniales, pero al mismo tiempo hace que el cabello de Geralt se vea horrible. No me importa de ninguna manera, pero puedo ver por qué se sentirían así.
Nolonar
2
Desactivo muchos efectos "fluff" para poder concentrarme en el juego en sí. Muchas veces, los elementos están ocultos en el suelo en la hierba y los arbustos. Esas hierbas desaparecen o son más estáticas / más delgadas en configuraciones de gráficos más bajas que me permiten ver elementos en el suelo. Los efectos de hechizo también hacen que sea difícil apuntar a pequeñas criaturas voladoras, por lo que tener efectos de hechizo más bajos hace que la nube de partículas sea más pequeña y se disipe más rápido. Otra razón es que reducir los detalles de la sangre me da un poco de tiempo de amortiguación si mis valses de 5 años no se anuncian.
corsiKa
11

Como Josh Petrie ya señaló, la preocupación más importante es el rendimiento. No solo no puede saber qué tan poderoso es el hardware de los usuarios finales, cuando está construyendo un motor, ni siquiera sabe cómo la gente lo va a usar. ¿Quizás los desarrolladores de juegos quieran construir un juego que ponga tantos polígonos en la pantalla que incluso el mejor hardware no pueda reproducirlo en tiempo real sin desactivar los efectos? Pero manejar eso automáticamente podría no ser una buena idea tampoco: tal vez los desarrolladores quieran decidir qué efectos deshabilitar en qué objetos.

Pero además del rendimiento, también puede ser una preocupación estética.

Por ejemplo, cambiar del filtro anisotrópico a la interpolación del vecino más cercano y usar texturas de baja resolución o sprites mejorados conduce a un aspecto nostálgico de pixel art. Un ejemplo popular de un juego que hace esto es Minecraft. Y, por supuesto, los muchos juegos que copian su estética. No porque no sepan hacerlo mejor, sino porque no quieren hacerlo.

Philipp
fuente
3
Pero si un juego fuera diseñado para verse pixelado ... ¿por qué le darías al usuario una opción para cambiar eso? ¿Minecraft realmente tiene una manera de activar el filtrado lineal?
Nicol Bolas
66
@NicolBolas La pregunta era "¿hay alguna razón para agregar valores de alternancia para estos en un motor de juego para el desarrollador ". En interpretó esto como preguntar por la perspectiva del desarrollador.
Philipp
1
Para mí, la pregunta parece claramente enfocada en el usuario que enfrenta "valores de alternancia", no en la configuración real de los parámetros en OpenGL / D3D / etc. Eso es "para el desarrollador" se refiere a los desarrolladores que agregan la opción de cara al usuario, no a los desarrolladores que usan las API.
Nicol Bolas
5

Por supuesto, el rendimiento. Algunos efectos como los rayos crepusculares, la profundidad de campo y la floración son muy exigentes para los fps, en particular en las GPU más antiguas. También una buena manera de obtener algunos fps adicionales es reducir o deshabilitar los reflejos y las sombras. Además, para repetir el punto de Artelius , los efectos visuales también afectarán la duración de la batería.

Aparte de eso:

  • Algunos efectos pueden ser glitchy. No todas las máquinas son iguales, y algunas GPU pueden manejar mal su código ... tener una forma de deshabilitar los efectos es bueno para los jugadores que sufren estos casos, y es bueno para los desarrolladores para facilitar la depuración.
  • Algunos efectos pueden perjudicar el juego. En particular, los efectos que ocultan detalles, como la profundidad de campo, el desenfoque de movimiento y, en menor medida, el filtrado anisotrópico y el suavizado.
  • Algunos efectos pueden ser molestos / distractores. Eso me sucede con la Profundidad de campo, cuando cambia el enfoque, literalmente llama la atención.
  • Se deben considerar algunos efectos para las Opciones de accesibilidad. Este es el caso de View Bobbing y Motion Blur, esto puede enfermar a algunas personas, no es broma.
  • Se deben considerar algunos efectos para el Control Parental. Desactivar los efectos de partículas de sangre y similares, al menos ayuda con las revisiones de juegos de los padres.

Modded Minecraft es realmente un buen patio de recreo para esto. Minecraft procesa fragmentos enteros, por lo que su recuento de polígonos es mayor de lo que parece ser. Agregue a eso las complicaciones de disponer trozos en una basura recolectada y desprovista de lenguaje puntero como Java [1], y puede esperar algunos problemas de rendimiento, en particular, en hardware antiguo, como siempre. Algunas personas exigieron mejores gráficos, mientras que otras querían un mejor rendimiento. Y así, mods como GLSL Shaders Mod y surgieron Optifine , ambas agregando opciones gráficas adicionales, aunque para diferentes fines, son compatibles [2], si tienes la oportunidad de usarlas, puedes experimentar los efectos de rendimiento de efectos visuales.

[1]: Microsoft ha creado un puerto C ++ de Minecraft para Windows 10, basado en la edición de bolsillo, que funciona mucho mejor que las versiones anteriores de Java. Eso no significa que Java no pueda funcionar, esto no es solo un síntoma de ser C ++ sino también de ser Microsoft.

[2]: De hecho, esas modificaciones se fusionaron para Minecraft 1.8.9 - Optifine absorbió GLSL Shaders Mod .


Y dices que estás desarrollando un motor de juego , por lo que espera que su código tenga la posibilidad de ser reutilizado para muchos juegos diferentes. Es una buena idea permitir que el desarrollador del juego decida si desea usar estos efectos y si desea proporcionar opciones para deshabilitarlos o no. No todos los efectos pueden tener sentido para todos los juegos, y algunos juegos pueden depender de algunos efectos.

Tenga en cuenta que algunos juegos utilizarán estos efectos para crear un ambiente, transmitir información al jugador o simplemente para obtener una licencia artística.

En particular, se trata de usar efectos visuales para tratar de hacer que se vea como si fuera visto por una cámara en lugar del ojo humano. Esto se intenta mediante el uso de efectos como aberraciones cromáticas, destellos de lente, grano de película y otros efectos "cinematográficos". Estos no encajan bien en todos los juegos, por lo que no deberían ser impuestos por el motor del juego.

Podría decirse que la mayor parte de esto, si no todo, se realiza en sombreadores, deje que su motor de juego permita que el desarrollador cargue sus sombreadores.


Una nota sobre las opciones de accesibilidad: muchos videojuegos ignoran a las personas sordas. Proporcionar información solo de manera auditiva puede no ser lo suficientemente bueno. Agregar efectos visuales para reflejar cosas como la dirección del fuego entrante o la presencia de enemigos cercanos (que "puedes escuchar") es una buena idea [3]. Y, por supuesto, subtítulos. Además, tenga en cuenta que hay personas daltónicas ... esos elementos que solo se distinguen por el color ... sí, se considera un rediseño.

[3]: Simplemente no sabes qué dolor son esas enredaderas en Minecraft, cuando no puedes escuchar ni un silbido. Se convierten en una muerte aleatoria.

Cuanto más sabes ★

Theraot
fuente
2
¡+1 para la nota de opciones de accesibilidad! Yo mismo escucho bien, pero cuando comenzaba con los videojuegos, no hablaba bien inglés. Tener texto escrito además de los sonidos puede ayudar enormemente cuando no estás seguro de lo que está sucediendo.
AndrejaKo
5

Algo no mencionado por otros todavía:

La desactivación de las características gráficas puede ser una solución válida para problemas con una determinada configuración , sin relación con el rendimiento.

Solo un ejemplo, algunas opciones de gráficos simplemente no funcionan correctamente con un motor de renderizado dado cuando se ejecuta un juego de Windows en Wine (la capa de compatibilidad de Windows para Linux).

Para cierto juego (intencionalmente sin nombre), necesito ajustar el filtrado a trilineal y desactivar los reflejos. No porque mi equipo no esté a la altura (sin duda lo es), sino por generar fallas y fallas si no lo hago.

En otro juego, tenía que deshabilitar los efectos de "niebla" para cualquier equipo que ejecutara tarjetas nVidia (incluso en Windows nativo), porque siempre hacían que la niebla fuera 100% opaca.


Algo que se menciona en otras respuestas / comentarios, pero en realidad es una razón para no hacer que ciertas configuraciones (como la densidad del follaje, gras) sean opcionales:

Visibilidad de los oponentes en juegos competitivos.

Si los jugadores pueden obtener una ventaja competitiva al establecer el "aspecto" de su juego en "realmente malo", está perjudicando la experiencia del juego de dos maneras:

  • los jugadores competitivos solo verán un juego de "mal aspecto";
  • los jugadores recreativos estarán en una desventaja (potencialmente significativa) no relacionada con la habilidad, simplemente por preferir un juego atractivo.

Evite eso si es posible. Haga que el césped y el follaje se vean torpes para plataformas de bajo rendimiento, pero asegúrese de que las configuraciones más bajas no den una ventaja de juego.

DevSolar
fuente
4

Claridad de visión en juegos competitivos.

Los jugadores en juegos competitivos en línea pueden preferir una vista más simple o más clara a una vista más bella, incluso si el rendimiento no es una preocupación: muchas opciones visuales agregan realismo visual pero ocultan las cosas que los jugadores realmente quieren ver.

Es posible que en tu juego sea más fácil notar o apuntar a un enemigo si configuras el cliente del juego para deshabilitar todo tipo de hierba u hojas adicionales, efectos especiales, humo / niebla / fuego, etc. Esto coloca a los jugadores que habilitan tales efectos en desventaja.

Pedro es
fuente
2
Me recuerda a Rust: apaga la hierba y no hay más lugar para esconderse.
Gigala
3
Esta respuesta da una muy buena razón para no hacer que tales configuraciones sean opcionales. No debería tener que elegir entre "apuesto" y "competitivo". La competitividad no debe ser ajustable, y ciertamente no por el mismo control deslizante que decide sobre el aspecto.
DevSolar
@DevSolar no lo hace opcional, aunque no lo hace imposible (p. Ej., Wallhacking)
Joel Bosveld
@JoelBosveld: Sin embargo, evitar el wallhacking, etc., no tiene nada que ver con la pregunta del OP. Hacer follaje opcional hace ...
DevSolar
-1

Las otras respuestas son buenas, pero creo que carecen de buenos ejemplos de efectos reales que es posible que desee desactivar.

Para mí, el "desenfoque de movimiento" realmente barato y horrible que, por ejemplo, tenía GTA3, empeoró el juego. Por suerte pude apagarlo.

No lo he jugado, pero lo que he visto de GTA5 es otra solución bastante hacky que deshabilitaría si alguna vez intento GTA5. (ver https://www.youtube.com/watch?v=VjIhl8hbO18 )

NiklasJ
fuente