El pasado 30 de agosto, el equipo que trabaja en Cocos2D Swift, el port compatible con iOS y OS X del framework de código abierto Cocos2D para desarrollo de juegos 2D sobre OpenGL ES, tomó una importante e interesante decisión al respecto de cómo iban a funcionar los proyectos Cocos2D a partir de ahora.

Hasta ahora, Cocos2D permitía crear un proyecto a partir de plantillas dentro de Xcode cuando generábamos un nuevo proyecto. Luego, si había una actualización del mismo motor, había que entrar directamente en los archivos, borrar las carpetas manualmente y ponerlo todo de nuevo en su sitio, cruzando los dedos, y esperando que el proyecto no se corrompiera.

SpriteBuilder + Cocos2D

Ahora, cuando queremos crear un proyecto Cocos2D no vamos a usar Xcode nunca más ni tampoco las plantillas que nos instalaba el instalador de Cocos2D. De hecho, ya no se existe instalador de Cocos2D. La única forma de trabajar y actualizar Cocos2D pasa ahora mismo por la herramienta SpritBuilder cuyo ciclo de actualización dependerá exclusivamente de la Mac App Store. Esta hará las veces de IDE de los proyectos y se encargará de su actualización a nuevas versiones.

Tenemos que abrir SpriteBuilder, ir a File, New y Project. Creamos una carpeta donde queramos que se guarde todo el proyecto y listo. Se creará una carpeta con la extensión .spritebuilder y dentro irá todo lo necesario para abrirlo posteriormente en Xcode.

Tendremos el fichero del proyecto .xcodeproj, y además veremos que hay una carpeta .approj preparada pues los proyectos de SpriteBuilder también generan la pre-estructura que necesita la herramienta Apportable para poder compilar una versión de nuestro juego en Android gracias a esta.

Actualización simple

A partir de ahora, tampoco tendremos que preocuparnos de las actualizaciones. Cuando abramos un proyecto con SpriteBuilder y este detecte que nuestra versión de Cocos2D es más antigua, nos sugerirá que la actualicemos desde la versión anterior. Como es lógico, hace una copia de seguridad de nuestra librería actual y actualiza.

Cocos2D Update

Hemos de tener presente que muchas veces las actualizaciones de este framework requieren cambios en el código fuente por diferentes cambios en determinados métodos, aunque el equipo de Cocos2D ya ha prometido que va encaminado hacia una estructura de definición fija que le permita evitar los cambios grandes en los métodos.

Actualización manual

En caso que vuestro proyecto de Cocos2D v3 no haya sido creado con SpriteBuilder, la actualización pasa por borrar los fuentes de Cocos2D antiguos y sustituirlos por los nuevos. Para ese caso, en la web puede seguir descargándose una instalación de Cocos2D que podemos usar para esto. Para actualizar seguimos los siguientes pasos:

Si hemos seguido los pasos, con precaución, borrando y copiando en el orden indicado, ahora ya podemos abrir Xcode y tendremos nuestro proyecto actualizado a la última versión de Cocos2D sin tocar una sola línea de código ni hacer extraños dentro de Xcode.

Es importante que antes de hacer nada, limpiéis el proyecto con Product -> Clean. Luego, revisad la estructura de archivos de Cocos2D. En nuestro caso, la desaparición de algunos archivos como CCEffectColor provocó un error tan simple de solucionar como borrar los archivos del nodo de Xcode que están en color rojo (indicando que ya no existen) y que además GIT habrá marcado con una D mayúscula.

Si estamos usando GIT, el propio motor se dará cuenta de qué archivos han cambiado y los actualizará en nuestros repositorio automáticamente, como si la actualización hubiese tenido lugar en el propio Xcode. Por lo tanto es recomendable hacer un commit.

Mejoras importantes, aun sin soporte de iPhone 6

Cocos2D Swift ha dado un salto de gigante, importante, pero que puede ser complejo para gente que viene trabajando con un flujo diferente. No obstante, el uso de SpriteBuilder es opcional, como siempre. Podemos crear el proyecto y luego hacerlo todo con Cocos2D, usando la herramienta solo para actualizar en caso de ser necesario.

SpriteBuilder permite la inclusión de diferentes assets gráficos para cada dispositivo, de forma que con nuevos paquetes podemos crear aplicaciones universales sin problema. No obstante, aun no tiene soporte para las nuevas resoluciones 1334×750 del nuevo iPhone 6 y 2208×1242 del iPhone 6 Plus (que luego es reducido a 1080p por hardware).

SpriteBuilder para OS X (Gratis) | Descargar
Cocos2D 3.2.1 zip | Descargar