¿Cuáles son las razones por las que algunas compañías de desarrollo de juegos construyen su propio motor de juego en lugar de usar los motores de juego existentes (Unreal, Source Engine, CryEngine, etc.)?

Fui parte de la construcción de la versión inicial de ese tercer motor que mencionas. En resumen, las razones fueron dinero e innovación.

Cuando inicia una empresa de juegos (como fue el caso de CryTek), antes de que el dinero del editor comience a llegar, a menudo tiene más recursos de ingeniería de los que tiene. Los motores que estaban disponibles en ese entonces (esto es 2000) eran Unreal y Quake3, y estaban a precios que podrían darle una habitación llena de programadores. Desde entonces, esa economía ha cambiado bastante.

Quizás el más importante es la innovación. ¿Cómo se vería Far Cry si se construyera sobre la versión del año 2000 de Unreal o Quake3? No hay nada parecido a cómo terminó el juego, que fue el boleto a la fama de CryTek. La compañía no habría existido hoy si hubiera licenciado un motor y producido “otro tirador similar a Quake”.

Solo después decidieron convertirlo en un motor disponible para licencias. Si hubieran licenciado un motor ellos mismos, claramente no serían parte de su pregunta hoy.

Entonces eso es todo específico de CryTek, pero en general responden a su pregunta: haga su propio motor si tiene más recursos de ingeniería que dinero (que hoy no es el caso para casi nadie, con motores tan baratos), o si lo desea para hacer algo especial que sería frenado por el diseño de un motor existente (que es más probable de lo que piensas). Más importante aún, un motor propio a menudo refleja el tipo de mundos de juego que puedes crear, lo que te distingue de la multitud. Haces que tu juego sea más único porque puedes adaptar lo que el motor es bueno para tu juego.

He respondido una pregunta similar aquí: la respuesta de Wouter van Oortmerssen a ¿Debería crear mi propio motor de juego?

Una razón es que las compañías de desarrollo de juegos crean un valor claro si ellas mismas tienen un software propietario que les permite desarrollar juegos. Entonces no dependen de grupos externos para ese software. Por lo tanto, una compañía de desarrollo de juegos con su propio motor capaz es más valiosa que una sin, todo lo demás es igual. Tenga en cuenta que uso la palabra ‘capaz’ allí.

En el pasado, otra razón era que los motores de juegos de terceros eran caros, particularmente a largo plazo, que crear su propio motor interno de propósito limitado. Eso ha cambiado, obviamente, con los términos de licencia modernos para varios motores de juegos comerciales como Unreal y Unity.

Un desarrollador de juegos también puede querer crear un tipo específico de juego de alguna manera tal que no se aprovechen las fortalezas de los motores de juego existentes, es decir, deben crear un código interno sustancial del motor en cualquier caso.

Finalmente, hay casos en los que se toma una mala decisión de desarrollar un motor de juego interno cuando no es necesario, ni en el mejor interés del juego que se está desarrollando o de la compañía que lo desarrolla. Esto puede basarse en una investigación pobre o en un razonamiento ‘no inventado aquí’.

Uno o más de estos:

  • Hay una característica particular que requiere el juego que no está disponible en otros motores ni es fácil de introducir sin escribir un motor desde cero.
  • Regalías: la licencia de algunos motores puede ser muy costosa para juegos muy exitosos.
  • Precios: es un poco difícil, pero un equipo puede tener experiencia en la construcción de motores y escasez de dinero. Quién sabe.
  • Showcase: un equipo de primera o segunda parte que construye un juego para mostrar las capacidades de una nueva consola / hardware.
  • Inexperiencia: es solo una mala decisión.

Si posee su propia tecnología, no está pagando dinero a otra compañía por ella, y no está limitado por las prioridades de esa otra compañía en cuanto a qué características se agregan o cuándo se corrigen los errores. En la actualidad, también puede emplear ingenieros que quieran desarrollar ese tipo de tecnología, en lugar de trabajar con alguien más.