Un desarrollador con el que trabajo me dice que los desarrolladores independientes deberían apuntar al hardware que tiene alrededor de seis años o más (con la configuración máxima). Tengo la idea de que uno debería permitir que todos los que quieran jugar su juego jueguen a una velocidad de fotogramas ejecutable, independientemente de la antigüedad de su hardware, pero los desarrolladores independientes deberían limitarse a usar un estilo de arte de baja poli o hacer sus juegos con el hardware más antiguo en mente, principalmente porque "¿la mayoría de las personas que juegan juegos independientes tienen hardware antiguo?"
¿Hay alguna razón para permitir que su juego se ejecute en la configuración máxima para hardware muy antiguo, a pesar de que reduciría las posibilidades gráficas para las personas con hardware más nuevo?
¿Hay alguna estadística que muestre que los juegos que alcanzan fácilmente sus límites gráficos superiores en hardware antiguo tienen más éxito que los juegos que aumentan sus límites gráficos superiores al costo de una experiencia 'menos que la mejor' para jugadores en hardware antiguo? ?
Cualquier idea sobre esto será muy apreciada.
Respuestas:
En esta era, el hardware antiguo se ha convertido en un nombre inapropiado. El hardware viejo no es necesario lento. 6 años es 2009 y DirectX11 ya existía. Todavía no tenemos mucho más nuevo hoy.
Debes considerar dos cosas:
caracteristicas
Este es el nivel de instrucciones que admitirá el hardware, DirectX9,10,11 u OpenGL (esto depende de los controladores). Y el conjunto de instrucciones de la CPU: SSE4, AVX ..
Este es el mayor dolor de cabeza generalmente en el desarrollo, la escalabilidad que enfrentan esos es más difícil que la escalabilidad que enfrenta el poder. DirectX9 tenía algo llamado
technique
en los.fx
archivos para retroceder, para ambos puntos. Pero para las instrucciones de la CPU necesita múltiples ejecutables o grandes secciones de ramificación en su programa. O no los uses.Afortunadamente hoy, incluso 6 años es un período corto y tendrá acceso a todo lo que necesita incluso en hardware "viejo".
poder
Este es el punto que debería escalar, en la máquina de hoy , y no en la máquina de legados. Una gama alta de 2009 potencialmente presenta una geForce GTX280, esto es muy potente y mucho más potente que su APU AMD A6-3650 de gama baja o algo así.
Es necesario comprender la gigantesca brecha de rendimiento entre los bajos y los altos de la máquina actual. Porque excede en gran medida la brecha de rendimiento de sus máquinas de 6 años en la escala de gama alta.
Por lo tanto, no es una consideración del mercado con respecto a la renovación, es una consideración del mercado con respecto al presupuesto de compra original. Y si necesita apuntar a las computadoras portátiles de hoy o las computadoras de escritorio de gama baja, tendrá que escalar de todos modos, y mucho más de lo que piensa.
Intente preocuparse por la resolución, la tasa de relleno de píxeles y el ancho de banda de la memoria de gráficos. Juega con esos factores gracias a la cantidad de pases de pantalla, el ancho de su Gbuffer si ha diferido el sombreado (muy costoso en máquinas de gama baja), la resolución de sus texturas y su cantidad presente en la pantalla en un momento dado t .. La riqueza de polígonos no será un problema a menos que esté apuntando al hardware 2002. La complejidad de Shader ALU / FPU tampoco será un problema, a menos que apunte al hardware 2005/2006.
fuente
No recuerdo dónde lo escuché por primera vez, pero esa es una regla general que no resiste mucho pensamiento crítico. En verdad, se trata de objetivos comerciales. Si no planeas vender el juego, no importa.
El hecho es que cuanto más hardware pueda soportar, mayor será su mercado potencial. Sin embargo, la mayoría de los desarrolladores independientes no van a tener los recursos para soportar hardware cercano, de todos modos, porque para aprovechar dicho hardware tendrán que gastar una buena cantidad de dinero en contenido . Cualquier desarrollador independiente que deba preocuparse por eso generalmente tiene los recursos para averiguar qué especificaciones del sistema necesitan apuntar, y esa es probablemente la información que puede comprar. Steam, por ejemplo, recopila esas estadísticas y probablemente las revende a los desarrolladores.
fuente
Como regla general, cuanto mayor sea la variedad de hardware en el que se ejecutará cualquier programa, más oportunidades tendrá de vender una copia. La cantidad de variedad que puedes soportar depende mucho del juego. Un juego como Dwarf Fortress puede ser fácilmente escalable, tanto en términos de requisitos de procesamiento como de gráficos. Un FPS con física realista como Amnesia no tanto. Mi sugerencia sería escribir su juego para que pueda ejecutarse en la gama más amplia posible de hardware y aún así ofrecer una buena experiencia. No necesariamente tiene que admitirlo todo de inmediato, pero poder reconfigurarlo para hardware nuevo / antiguo / simplemente diferente pagará fácilmente dividendos a medida que su base de fanáticos crezca y la tecnología avance.
Hay dos cosas que harán que tu vida sea mucho más fácil cuando se trata de hacer que tu juego se ejecute en una amplia gama de dispositivos, y tienen poco que ver con la edad del hardware al que te diriges (al menos directamente):
1) Si es posible, separe el backend de la interfaz. Si la parte que hace los cálculos acerca de qué piezas están haciendo qué, dónde tiene una interfaz bien definida para pasar esa información a la parte que la muestra en la pantalla y toma la entrada del usuario, entonces puede ajustar más fácilmente una (generalmente la interfaz de usuario) ) al nuevo hardware sin tener que meterse con el otro. Si se escribe de esta manera, muchos tipos de juegos podrían tener frontales que van desde gráficos en 3D de primera línea, hasta sprites animados en una página web, hasta caracteres de texto ASCII puro. En ese momento, puedes elegir cuál implementar según quién creas que comprará el juego ahora. Y puede expandirse a nuevos esquemas de salida a medida que las personas muestran interés, sin tener que meterse con el núcleo del juego.
2) En la medida de lo posible, escriba código portátil. Dependiendo del comportamiento específico de DirectX 9.3c o lo que sea que le permita hacerlo más rápido, pero cuando se dé cuenta de que debe lanzar una versión para Android, tendrá que rehacer mucho trabajo. Elegir bibliotecas e idiomas que no dependan de un solo proveedor y que sigan estándares abiertos y bien definidos reducirá seriamente su carga de trabajo a largo plazo. Recuerde: escribir un programa suele ser una pequeña parte del trabajo en comparación con el mantenimiento del programa. (A menos que vaya por el modelo de negocio de "obsolescencia planificada", pero no es probable que obtenga una gran base de fans a largo plazo).
fuente