Skip to main content

Destripando los motores gráficos

Destripando la industria: ¿Que tiene un juego bajo el capó?

Para este primer "Destripando la industria" del año os traigo un tema un poco técnico, pero no tengáis miedo, todavía no me voy a poner a hablar de programación. Hoy voy a intentar, en la medida de mi capacidad de síntesis, que todos entendaís que es un motor gráfico, que hace y porqué unas compañías se hacen el suyo y otras lo licencian.

¿Que es "el motor gráfico"?

Aunque he dicho que voy a explicarlo desde cero, algo os debe sonar el término. Sobre todo porque, ultimamente, se esta empezando a hacer publicidad de los motores. Cuando un juego utiliza Unreal Engine 3 o Frostbite 2, muchas veces se menciona muy al principio del desarrollo, como por ejemplo, de Dragon Age III, que acaban de anunciar, del que de las pocas cosas que sabemos es precisamente que usará Frostbite 2. Y, si se menciona cuando es un motor licenciado, se habla mucho más de este cuando se trata de un motor propio.

De cara al marketing, un motor gráfico nuevo es una fuente adicional de videos y noticias con la que hacer que se hable de tu juego y mantener ese runrún tan necesario durante la producción del juego. Fijaros, ahora que se acercan las nuevas consolas y, posiblemente, veremos nuevas iteraciones de los motores, cuantos videos salen para lucir alguna de las nuevas características.

Respondiendo a la pregunta inicial, ya os habréis imaginado que el motor del juego es el encargado de pintar en pantalla - renderizar - esos modelos y sistemas partículas. Pero, aún hace más, porque la parte más importante, la que no se ve y la que, realmente, vale el dineral que cuestan estas herramientas son las, valga la redundancia, herramientas adicionales que trae.

La mayoría de motores no sólo incluyen el código para que tu juego pueda tener esos graficazos, sino que también traen el software que permite que el modelo que haces en el programa de 3d (a veces incluso traen su propio editor de niveles) lo convierta al formato que necesita ese código, además de un buen montón de funcionalidades "accesorias" que facilitan todo el proceso de hacer un modelo o un nivel, y poder ver (y probar) en el juego.

Me parece importante matizar que, aunque estoy calificando estas herramientas como opcionales o accesorias realmente son muy útiles durante el desarrollo. Simplemente no son necesarias para poner un modelo en el juego. Las herramientas son las que le dan el gran valor que tiene para la industria, por ejemplo, Unreal Engine. No es tanto una cuestión de que el código de Unreal Engine esté realizado por super genios o utilice técnicas de programación secretas, sino que Epic te vende todas esas características "en una caja", junto con una serie de herramientas que una gran cantidad de profesionales maneja, lo que te permite contratar gente y que sean rápidamente productivos, puesto que no tienes que enseñarle las herramientas de tu empresa. Esto es muy útil cuando te das cuenta que el proyecto va retrasado y puedes contratar un par de diseñadores de niveles extra a mitad de proyecto para intentar cumplir la fecha.

Samaritan, otra espectacular demo técnica de Unreal Engine

Es bastante impresionante lo avanzadas que son estas herramientas. Buscad en Youtube "Unreal Engine Tools" o "CryEngine tools" y vereis las facilidades que proporcionan. No tanto porque modelar el nivel sea más fácil, porque para conseguir la calidad de un AAA tienes que tener mano con el 3D, sino por lo fácil que es pasar de estar editando a ver el nivel con una cámara como la del juego. Además, lo importante es que toda esta previsualización es con el codigo "del juego", con lo que lo que estás modelando es lo que va a ver el jugador. Extrapolad lo rápido que prototipan cosas en estos videos e imaginad la de tiempo que se gana para, bien añadir más contenido o, como mínimo, para refinar el que se tiene.

Y, aunque nos hemos centrado en gráficos, últimamente se empieza a hablar más que de "motor gráfico" de "motores de juego" (game engine). Motores como Unreal o Unity ya no solo te solucionan la parte gráfica, sino que cada vez más empiezan a traer cosas como la física, la animación, el motor de sonido, sistemas de cinemáticas (para los que usan el motor del juego, se entiende) y hasta los menús del juego. En muchos casos no lo desarrollan todo la misma empresa (Unreal por ejemplo usa componentes de otros desarrolladores como PhysX o Scaleform), sino que te venden en paquete una serie de piezas que funcionan bien juntas. Otros como Unity, simplemente permiten integrar estos paquetes.

¿Porque una empresa puede querer hacerse el motor?

Unreal o CryEngine son motores muy buenos, pero se han probado en unos juegos con unos requisitos determinados. A la que empiezas a cambiar las condiciones, empiezas a encontrarle las cosquillas al gato. Gears of War es un juego que se ve espectacular, pero ¿cuantos niveles son grandes espacios abiertos donde te puedas mover libremente? Ya os lo digo yo: ninguno. ¿Porque creeis que Marcus camina despacio cuando habla por el transmisor? Porque esta cargando el nivel. Por eso, para juegos como Oblivion, Fallout 3 o incluso MMO's como Warhammer Online, licencian un motor menos conocido como Gamebryo; que tiene un mejor motor de terrenos. No todos los motores sirven para todo.

En el caso de empresas grandes como Rockstar o Capcom, o bien con un trasfondo más tecnológico como Id Software o IO Interactive, a veces optan por desarrollar su propio motor gráfico y dedicar una parte importante de los recursos a desarrollar tanto el motor del juego como sus herramientas. Esto les permite hacer cosas como sacar 1000 zombies en pantalla, mostrar una jungla realista o una ciudad sin ningún tipo de cargas. Con tu propio motor puedes controlar de forma más precisa lo que se envía a la GPU o cuando carga el juego de disco, mientras que usando uno comercial tienes que acomodarte a la forma de trabajar de este y a la forma que tenga de gestionar la escena 3D.

No existe la bala de plata

Como en muchos casos en el desarrollo de videojuegos, ambas opciones tienen sus ventajas y sus inconvenientes. Si estas haciendo un juego muy muy parecido a Gears of War, seguramente no tendrás problemas con UE3. Por eso, muchos estudios optan por "el malo conocido". Además de la facilidad para encontrar profesionales, otra gran baza de los motores más populares es que se han probado en un juego real. Con los tiempos de desarrollo que requieren las producciones modernas, se intenta minimizar las sorpresas y pasar los procesos de certificación de Sony o Microsoft ya es suficientemente complicado como para encontrarse con un requisito que requiera cambios en el motor del juego.

Una situación interesante es ser "el juego estrella" de un motor concreto. Si un motor no es tan popular, no te quepa duda que si un AAA lo usa, sus desarrolladores se van a volcar a darle soporte.

Espero que esta pequeña introducción os haya servido para entender mejor el papel del motor gráfico; no solo dentro del juego, sino dentro de la industria y toda la "política" que tiene detrás utilizar uno u otro motor, que no siempre depende de los prodigios técnicos del código, sino que la decisión también tiene que tener en cuenta otras muchas cosas como, por ejemplo, que es un motor que ha desarrollado otro estudio de mi publisher y me toca usarlo. Ya sea porque están dejándose una pequeña fortuna en el desarrollo o, simplemente, porque la editora quiere tener la seguridad de poder ceder gente de otro estudio para ayudar en la producción.

También te puede interesar