Hay vida fuera de Unity!!!



Dicen que todos los caminos llevan a Roma, aplicado al mundo del desarrollo independiente de videojuegos, vendría a ser algo así como “ Todos los engines llevan a Unity”, es como una especie de regla no escrita, asumida por muchos y discutida por otros, entre ellos yo, por la cual se asume que todo desarrollador que quiera dedicarse a esto en serio, o hacer algo “decente”, debe hacerlo con Unity, o en su defecto Unreal, pues son a grandes rasgos los dos engines más populares, asumiendo también que todo lo que se desarrolle en otros engines más “pequeños” son cosas de principiantes y por tanto carecen del mismo valor, algo absurdo, sé que se  han hecho grandes juegos en dichos engines, y muchos triple A, lo cual no es malo, al contrario, esto hace que tengan una comunidad muy grande y tengamos todo tipo de recursos para poder aprender y crecer con ellos como desarrolladores, algo que me parece genial, pero en el desarrollo indie, los triple A quedan algo lejos, sobre todo cuando nos iniciamos, sobre todo si estamos solos o con un pequeño equipo, ya que la curva de aprendizaje de Unity es dura, mucho más que en otros engines.

Pero este escrito no va dirigido a evaluar Unity, no hace falta, sus juegos hablan por si solos, estas líneas tienen la intención de  “protestar” sobre ese mantra, repetido por muchos y aceptado por la mayoría, ¡pues me niego!, ni el mundo se termina en Unity, ni es necesario si o si terminar en Unity para ser un desarrollador de videojuegos independiente, ni es necesario que tu juego esté desarrollado en Unity para ser un buen juego, ni es peor juego por no estar desarrollado en Unity, ni se volverá mejor juego si lo desarrollas en él, los juegos son juegos, y su valor no depende de donde esté desarrollado, su valor depende del talento y trabajo de la persona que hay detrás, de los gustos personales del jugador final, el engine en este caso pasa a ser secundario, ya que hay muchas alternativas, más indicadas para según que propósitos, más efectivas para según que desarrollador, y sobre todo, más eficientes para según que cosas, lo cual no implica que sean mejores, pero tampoco peores si cumplen el propósito que buscamos.

Es imposible nombrar y comentar todos los engines que hay en el mercado, tampoco podemos destacar todas las necesidades de cada desarrollador, pues cada uno tiene unos objetivos y unas metas distintas, así que vamos a intentar explicar algunas alternativas a Unity, dependiendo de la meta que se quiera conseguir, y dar razones de por qué no es una “obligación” desarrollar en Unity para tener repercusión y/o hacer buenos juegos, pues aún a riesgo de parecer redundante, el resultado final de un juego no depende del engine, depende del/los  desarrolladores.

1.- Construct 3:

Como no podía ser de otra forma, ya que es el engine que llevo usando varios años,  Construct es una gran alternativa para según que fines. 

Es uno de los mejores engines para empezar en este mundillo, tanto por sus sistema de eventos, como por los plugins que trae, que facilitan muchas cosas cuando estamos empezando, con una interfaz limpia que además se puede simplificar para esconder opciones que no vas a empezar a usar hasta que ya tengas algo de experiencia, por tanto puedes dejar la interfaz con lo justo para empezar, para no liarte en opciones que cuando empiezas seguramente no entiendes para que sirven.

Es de los engines más sólidos para juegos HTML5, con un rendimiento altísimo, el propio Construct 3 corre desde el navegador, esto hace que sea una de las mejores opciones si tu intención es publicar tus juegos en portales web. Con la llegada de Construct 3, el rendimiento tanto para Android como para IOS es muy alto también, y el mismo engine se encarga de compilar la aplicación, y firmarla lista para subir.

Si quieres hacer juegos 3D o para escritorio, no es la mejor opción, pero si quieres hacer juegos para navegador, android o ios, es una de las mejores opciones, el rendimiento en HTML5 es incluso superior a Unity.

Han sido varios lo desarrolladores que he leído ya, que siendo Unity su engine, usan Construct para prototipar, por su rápido desarrollo, para ver si la idea funciona y entonces pasar el proyecto a Unity, esto nos da una idea del potencial de Construct.

También para diseñadores, es una herramienta fabulosa para llevar a un videojuego sus mundos, de una forma sencilla, y poder centrarse en el diseño.

Y si quieres aprender a programar escribiendo código, con Construct 3 tienes la opción de hacerlo en JavaScript, aunque el engine está pensado y creado para usar los eventos, puedes escribir el juego completo en JavaScript si lo deseas, quitando así las limitaciones que algunos auguran a este tipo de engines.

En constante desarrollo, con actualizaciones semanales, es una estupenda opción para el desarrollo web y móvil, siempre que el objetivo sea en 2D.

Una de sus mayores contras, es sin duda el método de suscripción, ya que para usar Construct 3 debes pagar anualmente alrededor de 90€, algo que por desgracia, cada vez es más común en las herramientas de desarrollo de cualquier ámbito, así como su rendimiento fuera de Html5 y/o plataformas móviles, que está bastante lejos de otras herramientas.




2.- Clickteam Fusion 2.5:

Es el sucesor de Multimedia Fusion 2 (2006) Multimedia Fusion (1998), Games Factory, Click and Create (1996) y Klik & Play (1994).

Klik & Play fue el precursor de la programación visual por eventos mediante un editor de rejilla que permite codificar los eventos y acciones de una manera limpia y ordenada por objetos, en posteriores versiones se añadió otro editor para ver toda la lista de eventos/condiciones y sus acciones que proporciona una mejor visión de todo el código visual.

Fusion 2.5 se caracteriza por sus diferentes editores, que ayudan y facilitan la creación de aplicaciones y videojuegos:

-Storyboard Editor
-Frame Editor
-Event Editor
-Event List Editor
-Expression Editor
-Editor Gráfico/Animaciones

También por sus numerosas extensiones que permiten ampliar las posibilidades del engine, hay extensiones para fisicas, movimiento, plataformas, gráficas, 3D, audio, interface, etc.. 
hay extensiones para prácticamente cualquier cosa que puedas imaginar.

Dispone de exportadores que permiten exportar el proyecto a varias plataformas (Windows, Mac, HTML5, Android, iOS, Flash, UWP) 
La mayor parte de los exportadores hay que comprarlos aparte, Fusión trae únicamente el de Windows y un versión limitada de HTML5.

Es una magnífica elección si vas a empezar en el desarrollo de videojuegos por su facilidad de uso, su curva de aprendizaje es realmente baja, con tan sólo unos pocos clics puedes ver resultados y crear rápidamente un videojuego, la productividad es realmente alta gracias a su programación visual, No necesitas saber programar, ni aprender el nombre de funciones, tan sólo aplicar la lógica.

El punto fuerte Fusion es la creación de Videojuegos y Aplicaciones para Windows, pero el marketing de Clickteam no ha sido ni es siempre el mejor…

El continuo cambio de nombre entre sus diferentes versiones a lo largo de los años no le ha permitido crear una marca estable, y el trato que proporciona a sus cliente es muy mejorable.

Se ha llegado a banear del foro a usuarios/clientes por quejarse de la tardanza en el desarrollo de Fusion 3, el cual estaba planeado para lanzarse en 2016, 2017 pero a día de hoy tras incumplir reiteradamente las fechas, no hay una fecha clara de lanzamiento, la última noticia es que no hay que esperar nada hasta finales 2020…

Y es que las actualizaciones del producto son muy lentas, el ritmo de desarrollo de Clickteam ciertamente es muy lento.

Muchos de estos inconvenientes han propiciado que muchos usuarios hayan abandonado el engine, para irse a Construct el cual está inspirado en Fusion.

Juegos muy conocidos se han hecho con Fusion, seguramente todos conoceréis FNAF
Five Nights at Freddy’s, o el videojuego The Escapists.

También varios desarrolladores indie han publicado juegos en la tienda de Nintendo Switch hechos con Fusion, como Oniken o Odallus entre otros.

Así que si quieres convertirte en un Desarrollador Indie pero no sabes programar, con Fusion nada te impide conseguir tu sueños de crear un Videojuego y que se convierta en un gran éxito.


3.- Game Maker:

Game Maker es quizás una de las pocas herramientas que le puede discutir la fama a Unity, un engine que lleva muchos años en el mercado y ha permitido a muchos desarrolladores llevar a cabo sus ideas en forma de juegos, muchos de ellos realmente impresionantes, y está consolidada como una de las mejores herramientas tanto para principiantes como para programadores.

Dispone de un sistema de programación visual, que si bien es funcional, está muy por debajo de lo que ofrecen otras herramientas, como  Construct o Fusión, pero lo compensa con un lenguaje de programación, GML, muy sencillo de aprender y con infinitas posibilidades, adaptado perfectamente para el engine, que hace que Game Maker sea uno de los engines más usados por todo tipo de desarrolladores.

En la última versión, Game Maker 2, se ha mejorado la interfaz, haciendo todo mucho más intuitivo, muy bien pensado, y con un editor de sprites que nada tiene que envidiar a programas dedicados a pixel art, una interfaz limpia, funcional y por qué no decirlo, posiblemente la interfaz más bonita que he visto en un engine de videojuegos.

Game Maker está pensado para juegos 2D, aunque es posible hacer cosas en 3D, no es muy recomendable, ya que para 3D mejor otras opciones, como no sé, Unity? ;)

Gran rendimiento en juegos para escritorio, android, iOS y html5, y siendo una de los engines más famosos y usados, hay mucha documentación para aprender tanto a usar el programa, como para aprender su fantástico lenguaje GML.

Si quieres hacer juegos y no tienes claro a que plataformas, no quieres limitarte a html5 por temas de rendimiento, o simplemente porque quieres una herramienta todoterreno, Game Maker se convierte en una de las mejores opciones, con un rendimiento altísimo para prácticamente cualquier plataforma, un lenguaje muy fácil de aprender, una de las mejores y más bonitas interfaces, toneladas de documentación, un decisión acertada seguro, te dirijas a la plataforma que te dirijas.

Game Maker exporta a prácticamente todas las principales plataformas, android, ios, html5, escritorio y consolas, pagando por cada módulo de exportación aparte.

A día de este escrito, el precio de Game Maker son 99$, licencia permanente que te permite exportar para escritorio, si quieres exportar para html5 son 149$ más, y 199$ más si quieres exportar para plataformas móviles.

El precio, junto a lo poco funcional de su sistema de nodos, cosas como no saber en que orden exacto ejecuta el código son algunas de las pegas de este engine, que como todos, no es perfecto, pero es una opción muy a tener en cuenta.


4.- Phaser 3:

Si vienes del mundo del desarrollo web o eres una persona con una base de programación y quieres hacer juegos HTML5 para web o móviles este framework es para ti.

Phaser es gratuito y de código abierto por lo podrás usarlo sin problema en tus proyectos, además cuenta con múltiples módulos que te ayudarán a construir tus preciados juegos.

Tienes la posibilidad de crear tus propios juegos web 2D y 3D con uso de Three.js y gracias a eso y al uso de HTML5 puedes exportar tus juegos con Capacitor a Android y a escritorio con Electron.

Hay que tener presente que este framework no cuenta con un entorno de desarrollo integrado como Unity o Construct 3 y se tiene que escribir el JavaScript directamente desde un editor de código como Visual Studio Code pero no te dejes llevar por eso ya que tienes un excelente control de todo lo que haces y cuentas con todo el poder que presentan las APIS nativas de JavaScript y HTML5.

Hacer juegos nunca fue fácil y si eres una persona que busca hacer juegos fáciles o no tienes conocimientos de programación este framework no es para ti es mejor que uses otra alternativa como Construct 3, pero si quieres avanzar porque eres un programador genial y quieres sentir que tienes el control de tu código y quieres que el resultado de tus juegos sea bastante pequeños pues bienvenido seas.

A pesar de todo lo complejo que pueda parecer una vez que pases la etapa de aprendizaje todo se hace mucho más cómodo y hasta más rápido de lo que podría parecer al inicio ya que contamos con muchas funciones matemáticas, componentes para cualquier tipo de animación, transiciones y uso de un poderoso emisor de eventos similar a NodeJS. Si vienes de Godot te será fácil entrar a Phaser ya que prácticamente tiene casi los mismos elementos, así que bienvenido seas a Phaser.


5.- Godot Engine:

Godot engine es relativamente joven, aunque lleva varios años en el mercado, en los últimos años está cogiendo mucha fama y atrayendo a muchos usuarios, gran parte desde Unity, por su simpleza, tanto por su sistema de nodos como por su lenguaje de programación, GDScript, una variación de Python adaptada a Godot, aunque también es posible en las últimas versiones usar el lenguaje C#.

Godot, al igual que Phaser, es completamente libre, no tendrás que pagar nada nunca por nada, todo lo que hagas con el engine es tuyo, eso es un punto muy a su favor, un software tan potente y bien pensado completamente gratis, pero no es su única virtud.

Este engine usa un sistema de nodos que se sale un poco de lo común en el desarrollo de juegos, con un lenguaje de programación muy parecido a Python, lo que facilita mucho el aprendizaje, puedes hacer juegos en 2d o 3d, tiene una gran comunidad detrás que sigue creciendo a gran velocidad, y es potente, muy potente.

Nodos para cualquier cosa 2D y 3D, creación de tilemaps, animación de sprites, luces dinámicas, y todas las posibilidades que te ofrecen los nodos para organizar de manera eficiente cualquier proyecto, grande o pequeño, hacen de Godot uno de los engines más prometedores a medio-largo plazo para todo tipo de usuarios.

Con Godot puedes exportar a casi cualquier plataforma, escritorio, android, ios, HTML5 etc… y aunque quizás, por su sistema de nodos, cueste un poquito más iniciar con este engine si eres principiante, pero si sabes un poquito de programación, o le das unos días, una vez que entiendes como funcionan los nodos, te das cuenta de las posibilidades que encierra este engine.

Uno de los puntos flacos de Godot es su documentación, un poco confusa por el tema de las versiones, aunque cada vez hay mas tutoriales por la comunidad, y como comento arriba, la curva de aprendizaje quizá sea algo más durilla que otros engines como Construct o Fusión, pero mucho más sencillo que Unity para iniciarse o elegir Godot como tu engine.


CONCLUSIÓN:

Este escrito, no trata de atacar a Unity como engine, para nada, es un referente y los datos hablan por si solos, simplemente es para explicar, sobre todo a los desarrolladores nuevos o no tan nuevos, que no es “obligación” usar Unity para ser un desarrollador  de videjojuegos, y no es cierto que tengas que desarrollar en Unity para que valoren tu juego, hay muchas alternativas y todas son válidas, es posible que según que metas quieras conseguir puedas escoger un engine que cubra tus necesidades sin necesidad de pasar o terminar en Unity, por ejemplo, si no vas a hacer juegos 3D, no necesitas Unity, si ya sabes JavaScript tienes Phaser o Construct, si quieres aprender un lenguaje de inicio, nada más sencillo que GDScript o GML, si quieres programar por eventos Construct o Fusión, y esto son solo ejemplos, hay muchos engines que como podrá comprender nuestro querido lector, es imposible nombrarlos todos, pero si algunos, como Scratch, RPGMaker, Cocos2d, Gdevelop o incluso Pico8, hay muchas alternativas, y se hacen grandes cosas en todas ellas ;)

Si quieres usar Unity adelante, una gran elección, si no quieres usar Unity por la razón que sea, hay muchas alternativas, la mayoría con una curva de aprendizaje mucho más liviana.

Sin más nos despedimos, y digo nos, porque he tenido el placer de contar con Zonacas ( OskyStudios ), desarrollador de videojuegos con Fusión 2.5 que ha escrito la parte de Fusión 2.5, como no podía ser de otra manera, y también con la colaboración de Gammafp, programador y maestro en JavaScript, desarrollador de videojuegos con Phaser, que nos ha contado sobre el mismo, y por último el que suscribe, un enamorado de Construct 3, Ixel Games ;) 



Comentarios