Home » Noticias » Cocos2D-Swift V4 presentado, repasamos sus novedades
Cocos2D-Swift V4

Cocos2D-Swift V4 presentado, repasamos sus novedades

Si hay un framework que se ha ganado el derecho propio de ser pionero en el desarrollo de juegos 2D bajo tecnología móvil, es sin duda Cocos2D. Concebido en 2008 como una librería de código abierto que facilita el uso de OpenGL enfocado en el desarrollo 2D y desarrollado inicialmente en Phyton, no fue hasta finales de 2010 cuando apareció una versión desarrollada sobre Objective-C compatible con iOS.

Desde entonces, innumerables juegos de la App Store han sido desarrollados con él o con versiones propias de este que crean las empresas. Y ahora, tras los importantes cambios que ha ido adquiriendo en su nueva versión bautizada como Cocos2D-Swift y la integración con la herramienta SpriteBuilder, ayer el equipo dirigido por Lars Birkemose anunció el roadmap u hoja de ruta de la nueva versión 4 de Cocos2D-Swift para iOS y OS X que ya tiene repositorio oficial y primera versión de pruebas, no estable.

Novedades en gestión de resoluciones y recursos

Actualmente una app Universal en iOS implica tener en cuenta 6 resoluciones diferentes, siempre y cuando el desarrollo sea para iOS 8: iPad, iPad Retina, iPhone 6, iPhone 6 Plus, iPhone 5/5s/5c y iPhone 4s. Y si hacemos caso de los rumores, este año tendremos una séptima a tener en cuenta con la llegada del esperado iPad Pro de 12’9″ a finales de año.

La gestión de dichas resoluciones, donde se mezclan 3 relaciones de aspecto diferentes, es fundamental. Por ello, la más importante novedad de Cocos2D-Swift V4 radica en cómo gestionará los recursos gráficos. Hasta ahora, si queríamos hacer bien las cosas, debíamos proporcionar un set de gráficos para cada resolución en función del dispositivo. Pero con esta nueva versión no será necesario.

¿Y que pasa con el uso de memoria? A poco que hayamos indagado en el desarrollo de videojuegos sabemos que si cargamos recursos gráficos de iPad Retina o iPhone 6 Plus en un iPhone 4s, estamos usando excesiva memoria pues aunque los gráficos se re-escalen en tiempo real, en la memoria están almacenados al total de su resolución lo que se considera una mala práctica en términos de rendimiento, carga y funcionamiento.

Cocos2D-Swift solucionará esto en tiempo de carga. Si proporcionamos un único set en resolución @4x (para iPad con resolución Retina), la librería se encargará de re-escalar en tiempo de carga el recurso, de forma que aunque en los recursos gráficos del juego la imagen sea de 400×400, lo que cargaremos en memoria en un iPhone 4s será una imagen de 200×200 ya re-escalada. Y todo esto, simplemente llamando a la imagen en sí sin preocuparnos de nada más.

Nuevas funcionalidades

Otras importantes mejoras que incorpora o incorporará esta nueva versión están en el manejo de ficheros. La primera y más importante, derivada del cambio que ya hemos comentado en la gestión de resolución. La gestión de la carga de recursos con CCFileUtils será más inteligente y efectiva. Así mismo CCFile permitirá cargar ficheros desde servidores remotos (no solo desde el almacenamiento local del dispositivo) e incorporará soporte nativo de ziputils de forma que podremos cargar contenido comprimido.

Se crea una nueva clase CCImage para gestionar imágenes que sean simplemente eso, sin tener por qué ser sprites cuya funcionalidad y carga para el sistema son mayores. Además, se incorpora un nuevo CCViewPortNode que permitirá mover la cámara 2D del nodo para conseguir interesantes efectos de zoom, traslación, efectos 3D y mucho más.

Se incorporan así mismo nuevas funciones para el trabajo con texturas, donde se usa CCImage* para cargar texturas no cacheadas, mapas de cubos para uso con shaders o nodos **CCEffects y se mejora considerablemente la multitarea para que los procesos en background (como la carga de nuevas escenas) sean mucho más óptimos.

Cambios en el código

Multitud de métodos como CCSpriteBatchNode, CCTexturePixelFormat o CCSpriteFrameCache desaparecen o se hacen privados, mientras algunas propiedades cambian de nombre y se adaptan. La parte negativa de estas actualizaciones es que requerirán la re-escritura y adaptación de parte del código no solo para conseguir la compilación, sino para aprovechar las nuevas e interesantes funciones.

Podéis desde ya echar un vistazo a todas las novedades de esta nueva versión de las que hemos destacado las más importantes. Lógicamente, la app SpriteBuilder va de la mano de esta nueva versión y los desarrolladores trabajan para que la enorme cantidad de ficheros y recursos que tendrán que borrarse o adaptarse para esta nueva versión se haga de la manera más automática para los proyectos.

Os iremos informando de la progresión de esta nueva versión y su funcionamiento. Hasta entonces, podéis ir practicando con la lección de introducción y conceptos de Cocos2D que tenéis en la web. Hasta la próxima, Good Apple Coding.

Cocos2D-Swift V4 roadmap | Enlace a Google Docs
Cocos2D-Swift V4 Develop Tree | Enlace en Github
SpriteBuilder V4 Develop Tree | Enlace en Github

Acerca de Julio César Fernández

Analista, consultor y periodista tecnológico, desarrollador, empresario, productor audiovisual, actor de doblaje e ingeniero de vídeo y audio.

Otras recomendaciones

App Store Review Guidelines iOS 11

Cambios en las normas del App Store en iOS 11

Todos sabemos cómo son las normas del App Store (o deberíamos saberlas) y la importancia …