El 13 de septiembre Unity Technologies, creadores del motor de videojuegos más popular del mundo, anunció un cambio de condiciones de contratación para sus usuarios que cayó como un baldazo de agua fría. De ahora en más, todo aquel que desarrollara una obra con dicha herramienta, debería empezar a pagar una tarifa cada vez que alguien instale su juego.
Y una de las reacciones más comunes en el mundo indie fue buscar una alternativa, sea para el futuro inmediato (como plantearon los devs de Among Us, considerando portear todo el juego a otro engine en vez de pagar la tarifa) o para el próximo proyecto.
Unos días más tarde, Unity dio marcha atrás con muchos de sus cambios y morigeró otros. Pero el problema es que no es fácil recuperar la confianza. ¿Qué impide que lo intenten nuevamente?
Por ese motivo, innumerables personas comenzaron a levantar la bandera de Unreal Engine y Game Maker, pero desde este lado me gustaría ofrecer otras alternativas: el software libre. Porque el problema no es Unity ni sus ejecutivos, sino su modelo de desarrollo privativo. No hace falta reinventar la rueda.
¿Qué quiere decir “software libre”?

El software libre es aquel que da a sus usuarios cuatro libertades:
- La libertad de usar el programa para cualquier propósito
- La libertad de estudiar cómo funciona internamente el programa, y de modificarlo para que resuelva tus problemas específicos
- La libertad de redistribuir copias para ayudar a otras personas
- La libertad de distribuir tus modificaciones a los demás
Esto puede sonar muy idílico, pero es un modelo de desarrollo que existe hace décadas y que es utilizado tanto por proyectos comunitarios (Linux, Mozilla Firefox, Apache), como por grandes corporaciones (Google, IBM, Apple, Oracle y hasta Microsoft).
¿Por qué es importante el uso de software libre especialmente en herramientas de desarrollo?
Hay una máxima de la sabiduría popular que dice que “no se construye en el terreno de tus suegros”. El motivo es sencillo: si te separás de tu pareja, su familia se queda con todo lo construido. Con el software sucede lo mismo: si construís sobre una plataforma cerrada, tu proyecto no es realmente tuyo. Por lo que es un peligro que la viabilidad de tu obra dependa de la buena voluntad de una persona o empresa.
Si un individuo (llámese John Riccitiello, Tim Sweeney o quien sea) puede decidir cambiar de la noche a la mañana los términos acordados para el uso de su producto, su viabilidad pende de un hilo. Incluso sin llegar a los extremos de Unity, una empresa puede cerrar o cambiar de rubro.
Puede que confíes en quien hoy está a cargo, pero esa persona no es eterna. En algún momento el proyecto pasará a otras manos, y no sabés las de quien.
Here is a thread of threads with posts with design and architectural information to aid in migration to Godot for new users. Please share!
(read below 👇🧵)..— Juan Linietsky (@reduzio) September 17, 2023
Una vez más, esto no es un llamado al jipismo. Fuera del ámbito de los videojuegos el uso de herramientas libres es lo más normal del mundo. Python es software libre desde su concepción. Lo mismo PHP, uno de los lenguajes más usados en programación web. Javascript y todos sus frameworks de moda (React, Node) también son libres. Incluso plataformas como Java, de Oracle y .NET, de Microsoft, se han convertido en proyectos libres.
¿Puedo crear juegos de consola con un engine libre?
En abstracto, la respuesta es SI: numerosos juegos de consola se han hecho con herramientas libres, incluyendo títulos como Brotato, Dead Cells o Vampire Survivors.
Sin embargo, ningún engine de código abierto permite la exportación directa a consola. Esto surge de una imposibilidad legal: los fabricantes de consolas son extremadamente celosos de sus herramientas de desarrollo y solo las entregan a estudios que hayan aprobado especialmente. Por lo tanto, no hay manera de que sean integradas directamente en motores abiertos.

Recién una vez que seas un desarrollador aprobado, o que consigas el apoyo de un publisher que lo sea, hay caminos para publicar tu juego en consola. Si tenés la capacidad técnica, podés realizar el port del engine a las distintas consolas. Si no, hay empresas que lo pueden hacer por vos. De cualquier manera, ese es un problema para considerar cuando hayas atraído la atención de un publisher.
Ahora sí, hablemos de los cinco (5) motores libres para reemplazar a Unity
1 – Godot

Godot fue uno de los grandes nombres que estuvieron en boca de todo el mundo apenas el rechazo a las medidas de Unity se fue tornando masivo, y por buenos motivos: el engine de origen argentino es robusto, con amplias capacidades 2D y 3D, y tiene muchísimo soporte de la comunidad indie. Además, es uno de los favoritos de los participantes de jams, espacio en el que viene creciendo año a año.
Además, es multiplataforma en ambos sentidos: corre en Windows, Mac, Linux y hasta Android, y permite exportar a esos mismos sistemas operativos así como a iPhone y juegos web HTML5.
El editor es muy liviano (¡en el orden de los 30 mb!), y tiene soporte para múltiples lenguajes. GDscript, el suyo propio, permite programar en C# (el mismo utilizado por Unity) y en C++ nativamente, y en muchos otros populares a través de extensiones mantenidas por la comunidad.
Entre los ejemplos de juegos exitosos realizados con Godot, co-creado por Juan Linietsky y Ariel Manzur, podemos encontramos Cassette Beasts, un RPG tridimensional inspirado en Pokémon; y Brotato, un shooter roguelike multidireccional.
2 – Open 3D Engine

O3DE es un engine libre con un linaje muy particular. En el año 2015 Amazon licenció CryEngine (el motor de Crytek, utilizado para la serie Crysis) para sus estudios internos. La versión modificada de CryEngine recibió el nombre de Amazon Lumberyard. En 2021 el gigante tecnológico decidió liberar el código, dejándolo a cuidado de la Open 3D Foundation, una subsidiaria de la Linux Foundation. El resultado es Open 3D Engine, un motor 3D orientado hacia la producción triple-A.
Su lenguaje para scripting es Lua, e incluye un sistema de programación visual. Corre en Linux y Windows, pero ojo: los requisitos de sistema son INTENSOS. Por su enfoque en el 3D de alta fidelidad gráfica y el juego online, O3DE parece existir en un espacio más cercano al de Unreal Engine que al de Unity. Habrá que ver si gracias al éxodo que estamos viendo algún dev se anima a experimentar con él y lanzar un juego que le haga justicia.
3 – Defold

Defold tiene su origen como el motor in-house de King. Si, los creadores de Candy Crush.
Como es de esperar, está muy orientado a juegos mobile, pero también permite crear juegos web (HTML5), para PC, e incluso para Playstation 4 y Switch (como siempre, sólo para quienes posean el SDK proporcionado por los fabricantes de consolas).
Su soporte 3D es mínimo, sin embargo para 2D puede ser una buena opción. Es extremadamente liviano (pesa incluso menos que Godot) y su lenguaje de scripting es Lua.
Un detalle: TÉCNICAMENTE no cumple con todos los requisitos para ser software libre, porque no admite que terceros redistribuyan comercialmente versiones modificadas del engine. Sin embargo, a los efectos de esta nota, está lo suficientemente cerca.
Y aclaración por las dudas: estas restricciones no aplican a tus juegos, esos pueden ser tan comerciales como quieras. Mientras no te dediques a vender EL MOTOR vas a estar bien. Podés descargar Defold desde el sitio web de sus creadores.
4- Gdevelop

Gdevelop es un engine 2D atípico. Por un lado, porque es posible usarlo totalmente en la nube, como una aplicación web desde cualquier navegador. En serio, ni siquiera necesitás instalarlo si querés hacer una prueba rápida.
Pero sobre todo, lo que diferencia a Gdevelop de sus competidores es que es un sistema diseñado para la programación “no code”. Si bien distintos engines tienen alternativas para programar visualmente (como los Blueprints de Unreal Engine), Gdevelop utiliza este sistema como mecanismo principal para crear la lógica de sus juegos, haciéndolo muy accesible para quienes llegan al desarrollo de juegos desde otras disciplinas como el arte o la narrativa.
Ahora bien, quienes necesiten programar en mayor profundidad pueden sumar componentes personalizados utilizando Javascript.
Gdevelop es libre y podés descargar y correr tu propia versión, pero si pagás una cuota mensual podés acceder a beneficios para trabajar en la nube. Tiene aplicaciones nativas para Windows, Mac, Linux, iOS y Android, y permite exportar a esos mismos sistemas. Entre los usuarios profesionales de Gdevelop podemos encontrar a Slumber Party Studios, una empresa de Barcelona que desarrolló varios videojuegos promocionales para series de Amazon Prime como Invencible, The Boys y Fleabag.
5- Cocos Creator
Cocos es otro caso medio al límite, pero lo incluyo porque su origen está en nuestro país.
Se originó en 2008 como Cocos2D, un framework de Python para desarrollar videojuegos cuyo desarrollador original fue Ricardo Quesada. Y el proyecto surgió de un Pycamp realizado en Los Cocos, provincia de Córdoba, de donde toma su nombre.
El proyecto fue porteado para funcionar con otros lenguajes, notoriamente Objective-C, lenguaje de desarrollo para iPhone por su éxito en el segmento mobile (Farmville, por ejemplo, fue realizado en Cocos). Y el framework por supuesto llamó la atención de capitales chinos. Hoy existe Cocos Creator, un engine completo creado sobre la base del framework Cocos.
¿Por qué digo que es un caso medio límite? Porque si bien el engine es libre, el editor no lo es (aunque se puede conseguir de manera gratuita). Igualmente es una apuesta más segura porque nada impide que la comunidad cree su propia versión, o usar herramientas gráficas como Hyperlap2D manteniendo Cocos Engine para gestionar la lógica del juego.
Hoy en día, la suite Cocos Creator es usada por grandes estudios. Por ejemplo, Ubisoft Nano, subsidiaria orientada a juegos web y mobile de la multinacional francesa, que lo usó para crear Rabbids Wild Race, un endless runner multiplayer basado en los populares personajes.
Podés descargar Cocos Creator gratuitamente aquí.
Anexo: Frameworks libres
Esto me está quedando larguísimo, pero no quería dejar de decir que además de engines completos, hay otra posibilidad. En muchos casos, en vez de una solución completa, podés utilizar un framework, un conjunto de librerías orientadas al desarrollo de juegos para un lenguaje de programación que te ahorran el tiempo de crearlas por tu cuenta.
Algunos ejemplos de esto son Phaser, para Javascript y Typescript (utilizado para crear Vampire Survivors, por ejemplo), Heaps, para Haxe (cuenta a Dead Cells entre sus mayores éxitos), FNA (Terraria y TMNT: Shredder’s Revenge le deben su existencia) y Monogame (usado en muchos de los indies más reconocidos, como Fez, Stardew Valley, Celeste o Bastion) para C# y Libgdx, para Java (con Slay The Spire como su portaestandarte).
Estos frameworks no incluyen sus propias herramientas de edición: vas a necesitar tu propio editor de código y herramientas gráficas. Por ejemplo, podés usar el editor de niveles libre Tiled, o el ya mencionado Hyperlap 2D. Claramente son opciones para devs con mayores conocimientos de programación, pero no quería dejar de mencionarlas.
Conclusión
Como se ha visto, herramientas libres para el desarrollo de videojuegos no faltan, y están a la altura de las exigencias de la industria. Que una sola empresa sea una pieza indispensable en el ecosistema de desarrollo es malo para todo el mundo. Así que si tenés tiempo y/o curiosidad, te invito a que pruebes alguna de estas herramientas. Como mínimo, tendrás la garantía de que lo que produzcas con ellas siempre va a ser tuyo.
(Crédito de imagen de portada: I G via Flickr)
Muy buen artículo, y de largo nada, porque informas muy bien, gracias.
La verdad buenísima la info, gracias por comparti