¿Por qué los juegos construidos en motores multiplataforma a veces son exclusivos de Windows?

99

Si un motor es compatible con Windows, OS X y Linux, ¿por qué a veces vemos juegos que usan estos motores, como Space Hulk: Deathwing , restringido solo a Windows?

Nathan
fuente
25
Significa que se puede construir multiplataforma, no significa que no requiera ningún esfuerzo adicional.
pantano
La razón simple es que la gran mayoría de ese tipo de juegos está en la PC.
Fattie

Respuestas:

150

Razones técnicas:

  • Plataforma creada específicamente para el juego : cuando algunos desarrolladores crean sus juegos, en ocasiones pueden confiar en funciones específicas de la plataforma. Si bien el motor del juego podría construir el juego para múltiples plataformas, el código no específico del juego podría hacer una llamada específica de Windows que no existe en otras plataformas o requeriría rehacer una parte difícil del juego (Servicios de licencias, Sistemas de guardado de archivos, etc.).
  • Falta de máquinas con capacidad : durante mucho tiempo, la mayoría de las computadoras Apple no venían con suficiente potencia gráfica para ejecutar la mayoría de los juegos. Entonces, ¿por qué lanzar en algún lugar donde los usuarios probablemente solo tengan una mala experiencia? Esto está cambiando lentamente, gracias a mejores gráficos integrados, pero aún podría ser una razón por la cual algunos solo usan Windows.
  • Compatibilidad de plugin / biblioteca : los desarrolladores de juegos pueden usar bibliotecas de terceros para ayudar a acelerar el desarrollo o usar código estándar / validado de la industria (SSL, bibliotecas de serialización, etc.). Si estos no son compatibles con la plataforma X, lo más probable es que el juego no se ejecute de manera confiable, por lo que quedan excluidos.
  • Mayor control de calidad : durante el desarrollo del juego, hay una pequeña subsección del equipo que garantiza que no haya errores y que el juego cumpla con los estándares de rendimiento. Una vez que agregas una plataforma, ¡el juego esencialmente debe ser probado dos veces! Las partes genéricas del juego podrían dejarse en paz, pero aún quedan muchas pruebas por hacer antes del lanzamiento. Esto también puede conducir a un mayor costo, no solo con el tiempo adicional necesario sino también con hardware especializado, dependiendo de la plataforma (Apple, Xbox, PlayStation, teléfonos, etc.).
  • Mayor soporte : a medida que se lancen los juegos, tendrán errores (algunos juegos más que otros). A medida que agrega más plataformas, la cantidad de soporte posterior al lanzamiento que el desarrollador tiene que hacer aumenta. Los errores específicos de la plataforma deberán corregirse de una manera que lo repare para la plataforma rota y no afecte a las plataformas que no se ven afectadas. Si una plataforma cambia, por ejemplo, Windows 7 a 8 o una iteración OSX, tendrá que haber algún nivel de control de calidad para garantizar que no haya errores en la versión más reciente. Y, si lo hay, esa es otra plataforma que debe ser compatible con la versión anterior. Esto puede tener un gran efecto en el costo, especialmente después del lanzamiento del juego (si el juego no ganara mucho dinero), 3-6 meses después del lanzamiento.

Razones no técnicas:

  • Acuerdo del editor : algunos desarrolladores tendrán acuerdos con el titular de la plataforma para lanzar específicamente en su plataforma. Si bien esto sucede más con las consolas, este también podría ser el caso de las plataformas de PC (por ejemplo, Windows).
  • Desarrollador de primera parte : algunos desarrolladores son propiedad del titular de la plataforma y no pueden lanzar sus juegos en plataformas específicas. Es probable que no veas Halo en PS4 o Forza en Mac.
  • Falta de audiencia : los desarrolladores tienen muchas estadísticas sobre las tendencias de los consumidores en plataformas específicas, especialmente si tienen grandes editores con muchos datos disponibles. Si tienen información que dice que el 90% de su público objetivo está en Windows, es posible que no se molesten en lanzar en otras plataformas para tratar de reducir posibles errores o mantener el material de marketing enfocado.
  • No cumple con los requisitos de la plataforma : algunas plataformas, como la tienda de aplicaciones de Apple, tienen requisitos estrictos de diseño y diseño que deben seguirse para publicarse. Si un juego no cumple con estos requisitos para una plataforma de distribución en particular, puede que no valga la pena el tiempo de ingeniería para adaptar el juego y lanzarlo si no hay suficientes ventas previstas.
  • Falta de experiencia con una plataforma : si el desarrollador solo ha trabajado con Windows (y no hay / pocas personas con experiencia en otros sistemas), podría ser mucho trabajo aprender las pequeñas diferencias que pueden causar problemas en el desarrollo tardío o Es posible que no haya suficiente presupuesto para contratar personal nuevo para que se encargue de una compilación de Linux / OSX.
  • Costo de marketing : si dos plataformas tienen audiencias o grupos de edad significativamente diferentes, el material de marketing para uno puede no llegar al otro, lo que significa que se debe gastar más dinero en marketing. Si los dos grupos requieren un marketing diferente, todos deben volver a crearse con el nuevo público objetivo en mente. El marketing puede ser extremadamente costoso, especialmente con grandes lanzamientos, mientras más plataformas necesiten comercializar, más rápido aumentará el costo.

Estoy seguro de que hay más. Estos son solo algunos de los mejores de mi cabeza. Espero que esto ayude.

usuario3797758
fuente
26
Esta es una buena respuesta, pero creo que se pierde otro elemento importante: el costo de las pruebas / QA. Los motores multiplataforma nunca hacen un trabajo perfecto para ocultar las diferencias de plataforma, por lo que es esencial realizar pruebas en todas las plataformas de destino. Puede haber errores que solo aparecen en una plataforma o diferencias de rendimiento significativas relacionadas con diferentes implementaciones en diferentes plataformas. También puede haber diferencias de comportamiento en la funcionalidad que se supone que es multiplataforma. Necesita un mayor tiempo de control de calidad y proporcionar a los evaluadores hardware adicional. Algunos desarrolladores necesitarán hardware y software adicionales.
mattnewport
2
Pensé que lo cubrí en la sección de falta de experiencia ... pero puedo agregarlo :) siempre es mejor serlo
user3797758
55
Estoy de acuerdo con @mattnewport en que el costo se subestima aquí: puede ser bastante laborioso desarrollar, construir, probar, depurar, enjuagar, repetir para múltiples plataformas. ¡Ya es bastante difícil probar adecuadamente contra varias configuraciones de hardware para una sola plataforma!
AC
3
Además, el "apoyo" a veces es muy exagerado. Muchos motores "admiten" Windows, pero en realidad tendría que instalar Visual Studio y Python y Perl y Cygwin y Msys y 5 versiones de MinGW y gigabytes de bibliotecas para usarlo.
AndreKR
2
"Los desarrolladores tienen muchas estadísticas sobre las tendencias de los consumidores en plataformas específicas", por supuesto, usar eso para determinar qué plataformas apoyar técnicamente es un poco una profecía autoperpetuante.
O Mapper
30

Porque estar disponible no significa ser gratuito e instantáneo.

El soporte de un sistema operativo más, en su forma más simplista, significa una plataforma más para proporcionar soporte técnico.

Cuantas más plataformas admitas = Cuantas más plataformas necesites para proporcionar asistencia = Dedicar más tiempo a la asistencia = Perder tiempo de trabajo que podría haber dedicado a mejorar tu juego.

Apoyar una plataforma se reduce a la confianza de que si su juego puede atraer suficiente base de jugadores en esa plataforma objetivo, compensa el tiempo que pasa brindando soporte para la plataforma.

S. Tarık Çetin
fuente
2
También se pierde más trabajo para el desarrollo del mercado (App store, Steam, Google play) y las integraciones específicas de la plataforma, particularmente en el departamento social. (amigos, compartir, autenticación)
CostelloNicho
18

Hay buenas respuestas hasta ahora, pero vamos a la conclusión.

Según la encuesta de hardware de Steam de junio de 2017, el 96,24% de los usuarios de la muestra usaron Windows. De los usuarios de Windows, el 87.37% son Windows 10 o 7, 64 o 32 bits. Las variantes OSX representan el 2.95% de los usuarios, y las variantes de Linux suman el 0.72%.

El tiempo es dinero. A menos que su mercado sea un nicho y se dirija específicamente a OSX o Linux, tendría que vender muchos juegos antes de que <4% del mercado valga la pena, especialmente porque los desarrolladores de juegos generalmente tienen poco tiempo para completar su característica de producto.

Código inapropiado
fuente
3
... y esto también supone que todos esos usuarios pagan un dinero comparable por los juegos en promedio. Recuerdo las estadísticas de Android vs. Windows Phone, donde mientras que Android tenía una participación de dispositivo mucho mayor, los ingresos directos (sin publicidad) eran más o menos los mismos, y ambos eran muy pequeños en comparación con iOS. Si está vendiendo un juego, necesita saber cuánto está dispuesta a pagar la gente. Hacer un juego para un segmento del mercado del 0.7% que rara vez compra juegos es una locura absoluta: D Probablemente no valdría la pena incluso si el motor fuera perfectamente multiplataforma (no hay problemas extraños en las diferentes plataformas).
Luaan
1
@Luaan Según Humble Bundle, los ingresos para Linux son solo un poco menos que Mac, aunque Mac es tres veces más popular. Tal vez se explica por el hecho de que las computadoras Linux de gama alta tienden a tener tarjetas gráficas mucho mejores que las Macs del mismo precio porque las compensaciones de estas máquinas se encuentran en otros lugares.
stommestack
1
@JopV. El paquete humilde es un poco complicado debido al factor paquete. Si solo me importa un juego en el paquete, no estoy dispuesto a pagar más solo porque obtengo juegos adicionales que no jugaré (o juegos que ya pagué antes, a veces varias veces; sí, estoy un poco loco: P). También podría haber un efecto por el hecho de que Linux ha sido ignorado en gran medida para los juegos hasta hace relativamente poco, por lo que alguien con una computadora Mac o Win ya podría tener algunos de los juegos, mientras que podría ser el primer lanzamiento para Linux. Tal vez. ¿También tienen estadísticas de la tienda humilde?
Luaan
2
@Luaan Cada vez que hay un Humble Indie Bundle hay algunas estadísticas cerca de la parte inferior de la página, incluida la cantidad total y promedio de dinero contribuido por sistema operativo. Se mantienen bastante consistentes en cada paquete.
stommestack
14

Las otras respuestas aquí son buenas, pero aquí hay una que no se mencionó.

Tengo este problema ahora mismo: mi equipo está a punto de lanzar un juego creado en Unity para Windows / Mac. Hemos recibido muchas preguntas sobre por qué nuestro juego no está en dispositivos móviles. Hay 2 respuestas principales:

1) Los teléfonos simplemente no son lo suficientemente potentes como para mantenerse al día con el juego. Tal vez podamos reducir la fidelidad del arte (menos polígonos en modelos, menos píxeles en texturas, etc.), pero eso solo llega hasta cierto punto. La mayoría del juego necesitaría ser reescrito para ser lo suficientemente optimizado para que un teléfono lo ejecute. Lo intentamos, pero solo obtuvimos alrededor de 0.5 cuadros por segundo. Obviamente, no se puede jugar.

2) Entrada. La interfaz de usuario completa se diseñó en torno al uso de un mouse, y parte del juego depende de saber dónde está el mouse en un momento dado. Todo nuestro mecanismo de entrada tendría que reescribirse para que el juego siga funcionando sin saber dónde está el mouse y traduciendo varias acciones "táctiles" en la pantalla en acciones "mouse" para obtener la misma funcionalidad. Como el usuario 3797758 mencionado en su respuesta, esto requerirá que se reescriban las cosas para que las entradas "mouse" y "touch" puedan introducirse en el mismo sistema, y ​​un error en uno no afectará al otro, y una solución de ese error Tampoco afectará al otro. Esto requiere más recursos de los que mi equipo tiene disponibles en este momento.

También mencionado en la respuesta del usuario 3797758, ni siquiera tenemos soporte para Linux porque uno de nuestros paquetes falla en máquinas Linux, pero funciona en Windows / Mac. El hecho de que el motor sea multiplataforma no significa que todo lo que lo usa lo sea.

Cody
fuente
1
Mi teléfono puede jugar GTA Vice City sin problemas. ¡Parece que tu motor de renderizado es ineficiente! :)
ligereza corre en órbita el
2
De todos modos, esta respuesta es más sobre portar juegos a diferentes plataformas / paradigmas de hardware, y menos sobre sistemas operativos en una PC
Lightness Races in Orbit
2
@LightnessRacesinOrbit bueno, es Unity ... Realmente, tenemos un efecto particular que es central para el juego, y realmente ineficiente. El tipo que lo escribió se fue y no hemos podido encontrar una manera de mejorarlo. Así es la vida ...
Cody
3
@JopV. Umm no. La historia es un pequeño poco más complicado que eso. Pero realmente no tiene sentido discutir esto aquí. Solo notaré que OpenGL es una API de renderizado 3D; DirectX es mucho más amplio que eso. Si necesita participar en un debate sin sentido, al menos compare OpenGL con Direct3D :) OpenGL fue diseñado para el trabajo profesional en 3D ("abrir" el IrisGL patentado). ¿Qué otra plataforma soportaba OpenGL en ese momento? No hubo un "obstáculo para el desarrollo multiplataforma": Windows tenía soporte nativo de OpenGL. OpenGL nunca estuvo destinado a otra cosa que no sea trabajo profesional de alta gama.
Luaan
2
Los gpus del teléfono son mucho menos potentes que incluso los gráficos Intel, ya que tienen límites térmicos y de tamaño. También muchas personas tienen teléfonos que no son compatibles con opengl es 3.0, por lo que solo unas pocas personas podrán usar su aplicación a menos que reescriba su juego para opengl es 2.0 primitivo
Suici Doga