Comencé a desarrollar videojuegos usando un viejo IDE llamado RPG Maker. Permitía hacer, como suena, RPGs clásicos, pero también podías adaptar las reglas y sprites para hacer un juego de plataformas en 2D. Las posibilidades eran infinitas. Años más tarde, comencé a desarrollar con Unity.

Un IDE fácil de entender, que te ahorra muchos pasos y con varias integraciones. Sin embargo, usar Unity representa para mí muchos esfuerzos…

El costo de la potencia: Hardware y tiempos de carga

Primero, tiene que estar instalado en tu equipo y, por tanto, es un software que se debe “arrancar”. Así que, si apagas tu equipo o simplemente cierras el IDE, tendrás que esperar un rato al volver a abrirlo, sobre todo si no cuentas con SSD. Además, en más de una ocasión olvidé guardar la escena, haciéndome retomar mis sesiones dando pasos hacia atrás en mi proyecto.

Algunas otras veces, tu equipo entrará en reposo por múltiples razones que te alejan de la pantalla en mitad del desarrollo. Cuando reactivas el equipo, aunque no hayas cerrado el proyecto, es posible que ocurra algún error, llevándote asimismo a perder lo que no hayas guardado. En fin, aunque con Unity estaba creando algo bueno (Imperios Mexicanos), me estaba haciendo perder los cabales y fastidiándome la experiencia. Al grado que, después de abandonar el proyecto unos pocos días, retomarlo me estresaba tanto que mejor preferí iniciar un nuevo proyecto con un nuevo IDE que me recomendaron unos amigos que trabajan en modelos 3D para agencias de autos: Play Canvas.

La promesa de Play Canvas y la Inteligencia Artificial

Lo mejor de Play Canvas es que es totalmente online. Por lo tanto, no tendrás tiempos de carga salvo el de tu conexión a internet. Podrás seguir con tu desarrollo independientemente de si tienes a la mano tu equipo principal. Además, te permite publicar inmediatamente en web. El principal punto malo que le vi al principio es que no puedes crear apps nativas para sistemas operativos móviles, pero en estos tiempos las apps progresivas (PWA) han roto la necesidad estricta de crear apps para las App Stores.

En estos tiempos en que la IA es parte de nuestros proyectos más frecuentemente, les aclaro que pueden integrar Play Canvas con VS Code y así poder utilizar GitHub Copilot o cualquier otra herramienta incorporada de programación asistida por IA. Y debo decir que las instrucciones se dan más claramente para Play Canvas que para Unity; esto lo sé porque Play Canvas era perfecto, salvo por un último detalle…

El error de build y el regreso a Unity

Tenía un juego listo para publicarse (El Libro del Águila), así que realicé los pasos de build y publicación. Y entonces, las únicas dos entidades del juego que usaban un spritesheet animado aparecieron no como el personaje que debían ser, sino como un recorte mal hecho de sus spritesheets.

Pasé por todas las optimizaciones posibles (Power of two, mipmaps, etc.) y simplemente no logré hacer que el personaje principal y el enemigo más común se vieran como debían en ningún servidor.

Por tanto, después de la feliz experiencia con Play Canvas, que terminó tan amargamente, he vuelto a Unity. Valorando más la estabilidad que te da durante el desarrollo e incluso al compilar tu proyecto, ya que se asegura de que accidentes como este no sean limitados por tecnologías de browsers o dispositivos. He tenido que enfrentar la necesidad de ser paciente para abrir el IDE y recordar guardar seguido, pero sé que cuando termine de migrar El Libro del Águila, tendré un poco más de herramientas y garantías de que funcione como es debido.

¿Volver a Play Canvas?

Si trabajas un poco como yo, concretando la idea mientras desarrollas un MVP (Producto Mínimo Viable), te lo recomiendo mucho. Tendrás que migrar en algún momento, pero mientras realizas rápido tu maqueta, se irán definiendo algunos assets como JSONs, XMLs o sprites que usarás en tu desarrollo principal con mucha probabilidad.