Si buscas en Google "create a video game" recibirás 5.000 millones de resultados. De todos, Unity estará en 70 millones de ellos. Unreal Engine en 36 millones. Game Maker Studio en 2 millones. Va a ser difícil -no imposible- que a un principiante alguien le muestre otro camino. Mucho menos que le recomiende crear su propio motor.
No es algo que se resuma a simples búsquedas. En el caso de Unity, y según datos de la propia compañía, hablamos de una base de 3.000 millones de usuarios y una presencia del 50% en el catálogo de juegos de móviles. Un 90% del mercado si nos ceñimos a la corriente de realidad aumentada y virtual. Un segmento en el que los motores propios apuntan a una media muy inferior.
El auge de los motores de terceros frente a los propios
Hace 15 años la industria del videojuego era muy distinta a lo que vemos hoy en día. No hablo de gráficos, sino de los engranajes y agentes que le dan forma al sector frente a lo que teníamos hace más de una década. Por aquél entonces crear un videojuego era una tarea mucho más laboriosa y artesana.
Uno de los grandes culpables de esa situación es la llegada y auge de los motores de terceros. Herramientas capaces de incluir lo básico para que el desarrollo pueda centrarse en crear un juego en vez de, como ocurría anteriormente -y como sigue pasando en muchos casos-, dar forma al motor necesario para crearlo y luego ponerte a desarrollar el juego.
De la mano de herramientas como Unity o Unreal Engine se permitió que los desarrolladores ya no tuviesen que preocuparse por crear un motor propio con físicas desde cero, o una librería desde la que importar archivos de otros programas para, por ejemplo, leer una imagen que sirviese de fondo para el menú del juego.
Fue, además, un punto de inflexión en el que un dominio exquisito del mundo de la programación ya no era imprescindible. Permitiendo así que entusiastas con menos recorrido pudiesen plasmar sus ideas de forma más fácil, rápida y barata, dando empuje a la escena independiente.
Aunque la creación de un motor propio sigue siendo la opción elegida por muchos desarrolladores, la inversión de tiempo y dinero que supone crear una herramienta así está empujando a la industria a obviar esa posibilidad. Hablamos de desarrollos que, dependiendo de las necesidades del juego que el motor vaya a correr, pueden llevar desde meses hasta años. Algo que lógicamente no pueden permitirse todos los estudios.
Crear un motor propio es la opción ideal a nivel de rendimiento y requisitos -tienes lo que necesitas, sin más- y es la principal razón por la que empresas de la talla de EA o Ubisoft sigan optando por ese camino. Sin embargo las diferencias cada vez se estrechan más, consiguiendo que grandes lanzamientos recientes como Call of Duty: Mobile, Mario Kart Tour, Outer Wilds o incluso la versión de Switch de Doom, digan con orgullo que han sido creados en Unity.
Hasta las grandes compañías se inclinan
Algo similar, aunque en menor medida, ocurre también entre esos grandes que citábamos antes. Mientras que EA apostó por su motor propio para la creación de 'Anthem', sus últimas incursiones en la Guerra de las Galaxias con 'Star Wars Jedi: Fallen Order' y 'Star Wars Squadrons' han sido creadas en Unreal Engine 4.
¿Pero por qué optar por un motor externo cuando tienes uno propietario en casa? La comparativa entre ambos desarrollos es un buen ejemplo para entenderlo. En el caso de 'Anthem' se utilizó el motor Frostbite ideado por DICE, uno de los estudios internos de EA. Los creadores del juego, el equipo de Bioware, reconoció abiertamente que uno de los mayores problemas con el desarrollo estaba estrechamente relacionado con el uso del motor.
Tal y como les ocurrió en anteriores juegos, el equipo tuvo que incluir en el motor opciones que no estaban contempladas para el resto de títulos que habían usado Frostbite. Además, al no ser una herramienta creada de cara al público, aseguraban que la documentación era escasa y mucho de lo incluido no estaba etiquetado de forma entendible.
Frente a problemas similares, la solución de Respawn Entertainment con 'Star Wars Jedi: Fallen Order' y Unreal Engine 4 seguía un camino completamente distinto. Al ser este un motor abierto, encontrar información, soluciones a problemas y recursos de terceros era algo al alcance de una búsqueda de Google.
Además, tal y como comentaremos a continuación, es muy probable que cualquier desarrollador que decida fichar la compañía ya haya tenido algo de experiencia con un motor de terceros o incluso lo hayan estudiado durante su carrera. Algo que es completamente imposible cuando hablamos de un motor propio y hermético.
Hacer fácil lo difícil
La versatilidad de Unity, ideal para proyectos pequeños, estudiantiles o enfocados al desarrollo de aplicaciones y juegos para móviles, ha conseguido que este motor se coloque a la cabeza no sólo entre aquellos que empiezan a trastear con la idea desde su casa, también en colegios y universidades.
Con una selección de los juegos más importantes de los últimos años, recientemente se recogía que Unity se ha convertido en el motor de videojuegos preferido para un 58% de la población de desarrolladores indies. Un 11% más de lo que ya lo era hace apenas tres años. Viendo sus posibilidades es fácil entender el porqué.
Here is a little study I've done about engines used to create the "best games" over the last three years.
— Mario García Lázaro (@Thenend) December 26, 2019
Propietary technologies seem to be receding, specially in the indie scene. But still the prefered method for the big games.https://t.co/CPZ0NMDHN2 pic.twitter.com/yvh78yaZtM
Las facilidades que aporta a la hora de trabajar de una forma visual y escalable lo convierten en un primer paso muy a tener en cuenta a la hora de entrar en la industria del videojuego. Puedes no tener conocimientos de arte, diseño o programación, pero Unity te va a aportar todo lo necesario para que esa introducción sea de lo más accesible.
A diferencia de poder tener el tiempo y soporte monetario para crear tu propio motor, Unity y Unreal se apoyan en cobrarte para ahorrarte ese proceso. Como en otras plataformas, existen distintas licencias de prueba gratuitas y para estudiantes a las que puedes acceder sin complicaciones. Sólo aquél que realmente decida llevar su creación al mercado -y supere cierta cantidad de ingresos- se verá obligado a pagar la cuota mensual que da acceso a más y mejores opciones.
Sin embargo es un paso adicional innecesario para empezar a trastear con la herramienta, ver de qué es capaz y si el gusanillo que te picaba hace unos días sigue con vida o ha pasado a un nuevo e interesante hobby.
De la mano de completos tutoriales y juegos creados por la propia plataforma, entender cómo funciona un videojuego por dentro es un paso mucho más asequible desde esta perspectiva que mirando el código de un juego. Es muy probable que en ambos no entiendas nada, pero un par de horas con Unity son más que suficientes para tener controlado lo básico.
¿Qué pasa si no sé nada de eso?
Pongamos que llegas aquí, como comentábamos, sin conocimientos de arte, diseño o programación. Unity puede ser una herramienta muy poderosa en manos de profesionales, pero no hace magia. Ofrece todo lo necesario para que lo parezca, pero detrás sigue habiendo un proceso de aprendizaje y entendimiento de qué tienes a tu disposición. Un conocimiento que no cae del cielo.
Lo que sí hace es, si así lo deseas, ofrecer grandes atajos. Si no entiendes cómo funciona una animación con sprites -los muñecos pixelados que veíamos al jugar a una recreativa- Unity te mostrará cómo crear una como si estuvieses activando y desactivando capas en una imagen de Photoshop.
Si lo que buscas es tener un personaje capaz de moverse cada vez que pulsas sobre tu teclado, hay herramientas que te permitirán alcanzar ese punto en cuestión de segundos. Y por último, probablemente lo más importante de todo, si no tienes ni idea de código, puedes crear un videojuego desde cero sin preocuparte en absoluto por ello.
De la mano de herramientas visuales como Playmaker o Bolt, ambas disponibles en la tienda de herramientas de Unity, crear la lógica de un videojuego para que al llegar a cierto punto un enemigo aparezca ante nosotros, se abra una puerta, o se active una explosión, es tan fácil como buscar la acción deseada y decir cuándo debe iniciarse.
Bueno, sin exageraciones, tampoco es que Unity vaya a montarte el juego como si le estuvieras hablando a Alexa, pero desde luego es mucho más fácil y accesible que aprender todo lo necesario para llegar a ese punto mediante código.
No sólo eso. Pongámonos en una situación en la que ninguno de esos atajos nos sirve para lo que queremos hacer y, después de todo, toca enfangarse creando código específico para el juego.
En ese punto llegamos a los 70 millones de resultados que incluíamos al inicio del texto. Todas esas búsquedas nos llevan a millones de entusiastas de esta plataforma que, muy probablemente, ya han pasado por ese problema que tienes ante tí.
Una inabarcable colección de ayuda que va desde los tutoriales en YouTube hasta los scripts descargables creados por otros programadores, desde foreros respondiendo a preguntas sobre posibles problemas hasta la que, en esencia, es la joya de la corona del negocio de Unity y plataformas similares: Asset Store.
La tienda de assets como filón comercial
Pongamos que las ayudas ofrecidas por comunidad y la propia herramienta no son suficientes. Digamos que hemos llegado a un punto en el que nuestra falta de experiencia no nos permite alcanzar el hito que preveíamos para nuestra creación.
No nos vayamos demasiado lejos, limitémonos a algo tan simple -y a la vez tan sumamente complejo- como tener un mar que tenga aspecto de agua real y que incluso deje una leve espuma al tocar la costa, un personaje que luzca realmente bien en pantalla, o incluso una colección de explosiones que afecten con físicas reales a los objetos que tenemos en nuestro juego.
Si no hay nadie dispuesto a ceder toda esa información y trabajo de forma gratuita, lo más probable es que exista alguien dispuesto a venderla por un módico precio. Ahí entran en juego las tiendas dentro de la herramienta.
Una inabarcable biblioteca de contenidos, de pago y gratuitos, que te permite ahorrar una ingente cantidad de tiempo que de otra forma estarías invirtiendo en saber cómo llegar hasta un nivel de calidad aceptable.
En un desarrollo el tiempo suele ser crucial. Primero porque a más tiempo, más dinero. Segundo porque invertir tiempo en algo que no te gusta, como por ejemplo modelar las facciones de un personaje, puede acabar minando la moral a cualquiera y apartándolo del camino.
Hay muchos juegos ahí fuera valiéndose de objetos, texturas y mejoras que se encuentran en la Asset Store. Y no sólo hablamos de desarrollos de bajo presupuesto. Después de todo esa es la finalidad de Unity y motores de terceros, hacer fácil lo difícil a cualquier tipo de público.
La situación actual de Unreal Engine
El motor de Epic Games podría suscribir gran parte de lo dicho en el caso de Unity. Desde su apertura al gran público a principios de 2015, la escalada de Unreal Engine para colocarse a la par de su principal rival en términos de accesibilidad no ha dejado de crecer, y además ahora se ha convertido en la principal baza de cara a la nueva generación de PS5 y Xbox Series X gracias a Unreal Engine 5.
Las diferencias clave están en términos de programación, con Unity valiéndose de C# mientras que Unreal apuesta por C++ e integra programación visual en la plataforma -no mediante agentes externos como Unity- de la mano del sistema Blueprints.
Aunque no es extraño encontrar voces que aseguran que la curva de aprendizaje de Unreal es más compleja por culpa de su interfaz, a nivel de recursos ambas plataformas cuentan con excelentes manuales y grandes comunidades dispuestas a echar un cable siempre que te atasques con un problema.
A partir de ahí acaba siendo una mera cuestión de gustos. Unreal Engine es un motor más enfocado a resultados del más alto nivel, pero Unity está intentando no dormirse en los laureles y está ofreciendo cada vez más herramientas y demos técnicas destinadas a demostrar que no van a dar por perdida esa diferencia.
¿Qué otras opciones hay?
Más allá de los motores propios -de los que hablaremos en otro texto-, la cantidad de opciones disponibles a nivel de motores de videojuego de terceros es abrumadora. Aquí os dejamos listadas algunas de ellas y comentamos algunas de sus particularidades:
Buildbox: aquí encontramos un motor que se basa en plantillas prediseñadas para que crear el estilo de juego que buscas sea lo más rápido posible.
GameMaker Studio 2: es el tercer motor en discordia junto a Unity y Unreal, además de uno de los motores más usados recientemente gracias al empuje de éxitos como Hotline Miami o Undertale, ambos creados en él.
GameSalad: un motor enfocado a los más pequeños gracias a la facilidad que implica crear juegos simples. Un simple arrastrar y colocar sobre la pantalla que lo convierten en una herramienta ideal para, por ejemplo, acercar la programación y el mundo del videojuego a las aulas.
Godot: otro de los nuevos motores que está empujando con fuerza, aunque en este caso el material de introducción es bastante menor y, por ello, su curva de aprendizaje es más compleja.
RPG Maker: como su propio nombre indica, está centrado en la creación de RPG y es una de las opciones de la lista que más material ofrece a nivel de tutoriales de terceros y vídeos en YouTube.
Stencyl: otro programa principalmente enfocado a la educación. Utiliza Scratch como lenguaje, así que si los críos han pasado ya por esa fase, aquí pueden empezar a crear juegos más elaborados.
Como podéis comprobar, opciones hay para todos los gustos y niveles, tengas o no nociones de programación. Lo importante es trastear con ellos para ver cuál se ajusta más a tus necesidades, dar con una buena idea y, sobre todo, tener el empuje necesario para llevarla a cabo pese a los muchos problemas que seguro encontrarás.
Con un escenario así parece lógico que, cada vez más, ya sea en desarrollos independientes o en juegos triple A, la industria esté virando cada vez más al uso de motores de terceros en vez de crear los suyos propios.
Ver 39 comentarios