Hay gente creando sus propios motores de juegos pese a tener Unity y Unreal al alcance de un click. Y no, no están locos

Kojima abandonó Konami para fundar Kojima Productions apenas un año después de la presentación en sociedad del FOX Engine. El motor que había ayudado a crear tenía la intención de reducir los tiempos de desarrollo de la franquicia ‘Metal Gear’, así como permitir que el estudio pudiese gozar del que, aseguraban, sería el mejor motor de videojuegos del mundo.

Uno podría llegar a pensar que, con esa experiencia a sus espaldas, Kojima Productions no tardaría en volver a repetir la hazaña. Sin embargo poco después Kojima iniciaba un tour mundial para decidir qué motor utilizaría para su próximo juego de entre los disponibles en el ecosistema PlayStation. Si un titán de esa talla y con todos los recursos necesarios tomó esa decisión, ¿qué empuja a los desarrolladores a crear sus propios motores?

¿Motor propio o de terceros? Una pregunta más difícil de lo que parece

Hay una enorme diferencia entre crear un videojuego y hacerlo con tu propio motor. El primero es un proyecto muy duro. El segundo dos quebraderos de cabeza que irán de la mano durante todo un desarrollo que puede alargarse eternamente. Con la llegada del 3D, las físicas y el incremento del número de plataformas compatibles, gran parte de la escena independiente ha optado por ahorrarse ese trabajo para caer en los brazos de motores de terceros como Unity o Unreal Engine.

Hace unos días Mario García Lázaro, Lead Gameplay Programmer en MercurySteam, compartía en su twitter una recopilación destinada a mostrar hasta qué punto motores de videojuegos como Unity le estaban comiendo terreno al desarrollo propietario.

Con una pequeña muestra que recogía los mejores juegos de los últimos tres años, el porcentaje de juegos con motor propio se había visto reducido de un 73% a un 49% en el caso de los triples A. En el de los desarrollos independientes la cifra pasaba de un 32% a apenas un 6%.

Mario García Lázaro@Thenend
 

Here is a little study I’ve done about engines used to create the «best games» over the last three years.
Propietary technologies seem to be receding, specially in the indie scene. But still the prefered method for the big games.https://tinyurl.com/tksjgy5 

Ver imagen en Twitter
47 personas están hablando de esto
 
 

El descenso es evidente, pero viendo la diferencia -y conociendo la titánica tarea que hay detrás– uno no tarda en preguntarse, ¿aún queda un 6% de valientes?

Las dificultades detrás de crear tu propio motor

Crear un motor de videojuego está lejos de ser una tarea fácil. De hecho es un proceso pantagruélico en el que hasta el más mínimo detalle corre de tu cuenta. Que se abra una ventana en el escritorio, que sea compatible con DirectX, que sea capaz de leer archivos e importar correctamente todo aquello que se ha trabajado en un programa externo…

A diferencia de crear un videojuego, donde montar un prototipo muy básico y empezar a ver cómo se mueve en pantalla puede llevar días o incluso horas, la creación de un motor de videojuegos comporta una inconmensurable cantidad de trabajo oculto, secundario pero imprescindible, que puede alargarse durante meses.

Todo corre a tu cargo. Un editor de niveles visual que facilite el trabajo. Una herramienta de importación de archivos. Un sistema de animaciones 3D. La guía útil que supone bichear entre el código de otros motores ayuda, y la ristra de tutoriales en forma de páginas relacionadas con el desarrollo o vídeos de YouTube, también. Pero ese camino supone que encontrar recursos externos que puedan echarte un cable con un error que tal vez sólo conoces tú sea una tarea mucho más compleja.

A eso hay que sumarle el tiempo. En el caso del FOX Engine con el que habríamos el texto, mucho más ambicioso que cualquier motor propio de un juego indie pero también con un ejército de programadores a sus espaldas, el desarrollo se alargó durante cinco años. Desde el lanzamiento de ‘Metal Gear Solid 4’ hasta el de ‘PES 2014’, que usó por primera vez el motor.

Todo depende, eso sí, de hasta qué límites va a llegar el motor en cuestión. ¿Está destinado a juegos 2D, a juegos 3D, a juegos 2D y 3D? ¿Tendrá conexión a internet? ¿Utilizará un sistema propio de físicas y animaciones o partirá de una licencia de terceros?

Las diferencias en el foco entre unas opciones y otras pueden alargar un desarrollo de meses a años. No es lo mismo decirle a tu motor que coloque pequeñas imágenes una encima de otra como si fuese un dibujo animado para simular un salto, que pedirle que controle la posición de los huesos de tu personaje y deforme el cuerpo que lo recubre para dar la sensación de un músculo moviéndose.

Al final acabas con una amalgama de herramientas y datos que deben colaborar continuamente entre ellas. Un conjunto enorme en el que el menor error puede enviarlo todo al traste y hacer que te replantees si empezar de cero es más viable que intentar solucionarlo. Del cielo al infierno y todo a la basura.

Bueno, en realidad todo no.

Por qué hay gente desarrollando sus propios motores de videojuego

Crear un motor de videojuegos no está al alcance de cualquiera y, desde luego, no debería ser la primera tarea a la que se enfrente un aspirante a programador. Sin embargo cualquiera que se haya asomado a ese abismo no dudará en aplaudir el menor avance que hagas y, por encima de todo, reconocerá que la experiencia y aprendizaje sacado de una tarea así merece indudablemente la pena.

Pero crear un motor propio es mucho más que experiencia y prestigio entre la comunidad picadora, también supone saber en todo momento qué estás haciendo y cómo funciona, lo que te ofrece un control total sobre las posibilidades de tu juego y su futuro crecimiento.

Si gran parte de los desarrollos triple A sigue funcionando así -un 49% frente al 18% de Unity, el 22% de Unreal o el resto, que utiliza motores modificados- es precisamente porque puedes crear algo a tu medida que cumpla con las necesidades específicas que requieren los juegos que luego crearás con él.

Eso sin contar con cuestiones de licencia o limitaciones legales a la hora de trabajar con motores de terceros. Pongamos sobre la mesa esa incómoda pero real fiebre por los juegos de apuestas para móviles. Casinos, bingos, ruletas y tragaperras son ya una tónica habitual en las tiendas de aplicaciones de iOS y Android y, sin embargo, un tipo de juego que no estás autorizado a crear con la versión normal de Unity. Necesitas una licencia específica, Unity Gambling, cuyo coste no es público.

A menudo todo acaba girando en torno a un único factor: el dinero. Crear tu propio motor es más barato que pagar una licencia de terceros, sí, pero en el caso de un desarrollo el tiempo también es sinónimo de dinero, e invertir un año en la creación de un motor y otro más en el juego suele ser un coste que pocos desarrolladores independientes pueden permitirse.

En el caso de un triple A es otro cantar, claro. Una inversión de tiempo y dinero inicial que puede amortizarse durante años -los motores de FIFA son un claro ejemplo- y que a la larga puede facilitar el crecimiento y expansión de un juego hasta donde el equipo creativo decida llegar.

No es una tarea fácil, pero sí una mucho más fructuosa que además, a la larga, también hace avanzar la industria con mejoras y herramientas cuya necesidad e importancia desconocíamos hasta su creación. Y todo porque a algún genio loco se le ocurrió que debía ir un paso más allá.

 

 

FUENTE XAKATA