domingo, 26 de octubre de 2014

Unity 3D - Y abandonar los principios OpenSource

Me gustan mucho los proyectos de código abierto. De verdad. Ver como funcionan, aunque no entienda ni ñe, me agrada. Aunque al final del día, después de leer y leer. Cuando quiere hacer algo, quieres hacerlo y ya. Yo quiero hacer juegos la verdad. Siempre me ha interesado este mucho y cada vez que me adentro más, me doy cuenta de que no es tan fácil como parece desde afuera. La verdad, es mucho más complejo. Pero como dije en el otro post, existen herramientas. Una de esas herramientas, es Libgdx.

Libgdx como ya he mencionado, es una librería de desarrollo multiplataforma y open source, que permite de una forma más o menos simple, desarrollar juegos y aplicaciones. He estado trabajando con Libgx desde hace ya más de un año, creo que dos. Desde la versión 0.9.7. Y me gusto. Porque no puedo decir lo contrario. Básicamente porque lo que había que hacer era programar y para juegos tontos, estaba genial. Para juegos tontos.


¿Que es un juego tonto?

Un juego tonto para mi, es algo que no tiene mucho sentido. Un arcade. Una nave disparando marcianitos o un tetris. Es un juego tonto. No requiere mucho esfuerzo pensar en eso y ya hay muchos como esos de donde apoyarte. Hacer un juego tonto en Libgdx me tomo poco más de dos meses. Siguiendo un tutorial paso a paso, con algunas modificaciones, pools y cosas así.

El mismo juego, más o menos, en Unity me tomo una semana. Y dirán que es porque ya tenía el código de Libgdx, pero la verdad es que cada plataforma tiene incluso su propio lenguaje de programación y aunque tuviera el algoritmo, la forma de trabajar de Unity y Libgdx son totalmente distintas.

Entonces ¿Por que tanta diferencia de tiempo? Con Libgdx debes hacer tu mismo todo. Programar cada parte del programa. Incluyendo programar la forma en la que se van a ver los sprites. En Unity no. Tú pones el sprite en el escenario y simplemente te encargas de decirle que va a hacer según que. Incluso tiene un sistema de animaciones muy completo. 

Empecé con Libgdx por...

Porque soy pobre principalmente. Además de que Unity no soportaba desarrollar juegos en 2D hasta la versión 4.3 que no es muy vieja. Versión que dicho sea de paso, vino con incontables errores de los pude leer mucho en la red. Cuando empece con Libgdx, Unity estaba en la ultima versión de la 3.x. Lo recuerdo porque me regalaron una licencia por un mes de Unity para Android y para iOS. Sí, desarrollar para Android y para iOS era pago. ¿No les dije que había escogido Libgdx porque soy pobre?

Empece con Unity por...

Porque ahora es gratis. Y permite trabajar en 2D de forma muy fácil. Ademas que con la nueva forma de hacer la interfaz, está super genial. No es gratis del todo, tienen paquetes pro si necesitas algo más, pero puedes desarrollar y publicar un juego en todas las plataformas que puedas pensar actualmente sin pagar un duro. Además que también puedes desarrollar para consolas, eso sí, pagando la licencia de desarrollador para esa consola y el plugin para Unity que barato no creo que sea. 

¿Por cual deberías empezar tú?

Bueno la verdad, esa pregunta solo la puedes responder tú. Si te gustan las cosas fáciles, posiblemente Unity sea tu respuesta. Aunque hay herramientas que te la ponen más fácil que Unity. Si lo que quieres es aprender como funcionan los juegos, más que a hacer un juego, quizás Libgdx aclare un poco tus dudas. No, estoy seguro de que lo va a hacer. Podrás incluso mirar código para buscar lo que quieras entender. Es bastante completo y aunque no tiene todas las plataformas de despliegue que tiene Unity, de verdad que vale la pena. 

No me arrepiento de nada. 

Ni de haber escogido a Libgdx en primer lugar, ni de escoger ahora Unity. Con Libgdx aprendí abstracción y con Unity estoy aprendiendo de verdad como hacer un juego. Así que cada cosa tiene sus pros y sus contras. 

¿Con cual te quedas tú? - Déjalo en los comentarios. 

No hay comentarios:

Publicar un comentario