Cocos2D es una de las soluciones de desarrollo de videojuegos más utilizadas. No solo para iPhone, sino para desarrollo cruzado entre plataformas (un mismo desarrollo que se ejecuta en Android e iOS, por ejemplo). OS X, Linux, Windows, Windows Phone, Firefox OS o incluso navegadores con soporte de HTML5 Canvas tiene soporte.
Está basado en el estándar OpenGL y lo que hace es crear una forma sencilla e intuitiva de programar un entorno bidimensional dentro de un entorno 3D con cámara fija. Juegos muy conocidos, como el premiado Badland, están desarrollados con esta librería.
Cocos2D, como proyecto de código abierto, ha sufrido varios cambios y actualmente se divide principalmente en dos grandes proyectos: Cocos2D-X basado en código C++ y que permite la creación de juegos en casi todas las plataformas con un solo desarrollo y este Cocos2D para iPhone que nos ocupa hoy, que está basado enteramente en código Objective-C (el que se usa nativamente para programar en Apple) y que funciona desde el programa Xcode. Hay otras versiones, pero estas son las más importantes.
La buena noticia es que tras meses de desarrollo y cambios en sus responsables (además de la aparición de la solución de Apple, Sprite Kit cuya base es esta librería), acaba de ver la luz la primera versión previa en su versión 3.0. Una versión que permite a los desarrolladores o aspirantes a ello poder trastear y jugar con las nuevas posibilidades que ofrece.
Bienvenido ARC
El cambio más importante de esta nueva versión es el soporte de ARC o Automatic Reference Counting (conteo automático de referencias). Cuando creamos un objeto para un programa de iOS u OS X (una imagen, una variable, una matriz… lo que sea) lo que hacemos es reservar memoria para él y guardarlo.
Hasta hace un tiempo, con el modelo llamado MRC o Manual Reference Counting (conteo manual de referencias) una vez se había usado ese objeto teníamos que “liberarlo” o borrarlo de memoria, dejando dicho espacio libre para otros posibles usos. Si no se hacía correctamente, generaba leaks o pérdidas de memoria que podían dar al traste con el rendimiento y uso de memoria de tu aplicación, provocando incluso cuelgues de la misma.
Lo que ARC hace es crear, analizar y generar automáticamente las liberaciones de memoria de todo lo que vamos declarando cuando el compilador detecta que ya no va a ser útil, ahorrándonos muchísimo tiempo de desarrollo y el tedioso trabajo de tener que ir “limpiando” todo lo que habíamos dejado a nuestro paso. Hasta ahora, Cocos2D no soportaba esta forma de programación y había que “parchear” nuestro juego para que las librerías funcionaran manualmente, aunque nuestro código sí lo hiciera de manera automática.
Funciones actuales y futuras
Las funciones que Cocos2D 3.0 incorpora o irá incorporando, y que harán mucho más fácil el trabajo del día a día son:
– Desarrollado cumpliendo con el versionado semántico, lo que hará que futuras actualizaciones no requieran adaptaciones ni cambios en nuestro código para que funcionen. – Limpieza de código, nombres mejor definidos y eliminación de clases obsoletas o no usadas. Todas las partes privadas ya no se muestran para resultar más cómodo en cuánto a qué podemos usar. – Mejoras en la detección de pulsaciones, haciendo que cada nodo pueda detectar sus propios toques o múltiples toques. – Físicas integradas con los sprites y los nodos, usando para ello Objective-C (hasta ahora la física debía ser programada en C o C++). – Integración con UIKit, pudiendo integrar cualquier elemento de este como botones, listas, campos, desplazadores… solo con una simple instrucción y pudiendo controlar sus propiedades como objeto de Cocos2D. – Soporte de multi-resolución mejorado, para que podamos desarrollar una única vez y se adapte solo a cualquier tableta o smartphone. – Mejor soporte de fuentes truetype con integración de sombras o realzado. – Soporte oficial para desarrollo cruzado a través de Apportable, compilando los juegos directamente para Android sin tocar una sola línea de código. Hay que notar que aunque esta función podría requerir una licencia de pago de la SDK que permite la conversión a Android 2.2 o superior, la cual es comercial y no de código abierto, la conversión de Cocos2D 3.0 será gratuita.
Además de esto, el equipo de desarrollo está trabajando en una serie de herramientas que facilitarán aun más la creación, como la herramienta SpriteBuilder que permitirá manejar los recursos de un proyecto de manera centralizada, construir gráficamente las escenas o niveles, probar y definir animaciones o sistemas de partículas e infinidad de más cosas.
Como podéis ver, el futuro es prometedor y ahora mismo podemos desde ya, instalar y probar un adelanto del mismo con todas sus posibilidades y empezar a ver qué tal funciona. Tal vez en poco tiempo podamos ver tu nuevo juego realizado en Cocos2D 3.0 en nuestra sección de aplicaciones de la semana.
Cocos2D v3 | Descarga de Cocos2D v3 Preview