La librería de videojuegos Cocos2d-x lanza su versión 4.0 con soporte de Metal y mejoras en iOS y macOS

La librería de videojuegos Cocos2d-x lanza su versión 4.0 con soporte de Metal y mejoras en iOS y macOS

1 comentario Facebook Twitter Flipboard E-mail
La librería de videojuegos Cocos2d-x lanza su versión 4.0 con soporte de Metal y mejoras en iOS y macOS

Cocos2D es uno de los motores de videojuegos más longevos para programación de estos en dispositivos móviles. Y ahora, una de sus versiones, acaba de lanzar la versión 4.0. Más concretamente de la librería Cocos2d-x. Una librería que hoy día sigue muy viva y en la que se han desarrollado juegos como el famoso Geometry Dash o 8 Ball Pool. U otros de grandes estudios como Fire Emblem Heroes, Dragon Ball Z, Magic Rush...

Hoy Cocos es propiedad de la compañía china YAJI Software, después de haber pasado por varias manos como Zynga y por diferentes versiones. Pero sigue siendo una de las soluciones más solventes para realizar videojuegos 2D multiplataforma, con soporte de física de objetos y todo tipo de integraciones nativas con los diferentes sistemas móviles y de escritorio que soporta, entre ellos iOS, Android, Mac, Windows e incluso HTML5 y Facebook.

Cocos2D, un poco de historia

Si echamos la vista atrás a los inicios del App Store, veremos que su verdadero boom, que la pobló de infinidad de nuevas apps y juegos fue a partir del año 2010. Salvo excepciones, solo empresas con inversión y experiencia podían invertir en desarrolladores que supieran Objective-C, y fue en los años 2010 y 2011 cuando llegó la explosión y todo el mundo quería estar presente en la plataforma de Apple. No por nada, en esos dos años, el índice TIOBE que mide la popularidad de los lenguajes de programación, sitúa a Objective-C como el lenguaje número 1.

El boom del desarrollo para iPhone se produjo en 2010 con la llegada del iPad, y durante 2010 y 2011 Objective-C fue el lenguaje de programación con mayor proyección y números de recursos disponibles, según el índice TIOBE que mide la popularidad de los lenguajes en la red.

Dos años antes, Ricardo Quesada, desarrollador argentino que hoy trabaja en Google, inició un proyecto personal con la idea de adaptar el concepto del motor Pyglet de construcción de juegos 2D en Python, para hacerlo funcionar en plataformas móviles. Y así fue como nació Cocos2D. Luego Quesada se puso a trabajar para darle soporte más directo a iOS, y lanzó Cocos2D-ObjC, el motor que revolucionó la industria y permitió a miles de estudios y desarrolladores independientes crear sus primeros juegos para la plataforma de Apple.

Juegos en Cocos2D

La historia de Cocos2D, como proyecto de código abierto y sin necesidad de pagar licencias o royalties por su uso, incluso en productos comerciales, no ha estado carente de polémica. De hecho, Cocos2D es un concepto del que parten varias librerías que lo implementan. Y hoy día NO existe la versión pura para iOS que en su día fue Cocos2D-ObjC que quedó en obsolescencia con su versión 3.5 en el año 2016. La salida de Swift, los cambios de modelo de memoria del lenguaje y, sobre todo, la aparición de una librería propia de Apple llamada SpriteKit que se basa exactamente en las mismas premisas, hundió este proyecto.

Tampoco ayudó mucho el hecho que en 2013, Ricardo Quesada y Rolando Abarca, dos de los colaboradores más importantes de Cocos2D, fueran contratados por Zynga quien intentó hacer suya la plataforma para (aún manteniendo el proyecto en código abierto) darle financiación y aprovechar el motor para sus propios desarrollos. Pero Zynga comenzó a perder fuerza y capacidad de inversión y al final el producto quedó mantenido por unos pocos desarrolladores que siguieron apostando.

Badland es uno de los juegos hechos en Cocos2D
Badland es uno de los juegos hechos en Cocos2D

En 2016, un desarrollador que formaba parte del proyecto de Cocos2D para iPhone, intentó crear una versión completamente fuera de Zynga, pura en Swift y que permitiera muchas más funciones. Pidió financiación en Kickstarter para sacarlo adelante, pero su proyecto no llegó a buen puerto y por desgracia el proyecto de Cocos2D para iPhone murió. Ha habido otros intentos como Fiber2D, que pretendía crear una versión de Cocos2D para iPhone pura en Swift pero con soporte multiplataforma para Android o sistemas de escritorio como Windows, pero que lleva desde 2016 sin ser actualizado por falta de soporte. Una verdadera lástima.

Cocos2d-x, la versión que sobrevivió

Mientras, en 2010, el desarrollador chino Zhe Wang lanzaba Cocos2d-x. Una librería que seguía las mismas premisas de Cocos y el proyecto general abierto, con elementos clave en su desarrollo como los sprites, las acciones sobre estos, la física de objetos y demás elementos. Pero esta versión de la librería no funcionaba en Python como la original ni en Objective-C. Funciona en C++ y se lanzó como solución multiplataforma para todos los sistemas móviles y de escritorio.

Solo Cocos2d-x, como librería en C++, Lua, Javascript o TypeScript, ha conseguido sobrevivir a los muchos cambios en la industria y a la invasión de los motores genéricos como Unreal Engine o Unity.

En 2011 este equipo funda YAJI Software, y se hace con el control del único proyecto de Cocos que sigue vivo a día de hoy: Cocos2d-x como librería, Cocos Creator como solución frontend de creación de escenas de videojuegos y una serie de servicios opcionales que se han ido agregando con el tiempo. YAJI ha conseguido cerrar acuerdos en estos años con grandes como Bandai/Namco, Nintendo, Line o la famosa Ketchapp y ha permitido que haya más de 25.000 juegos desarrollados con este motor en todas las tiendas de apps.

Algunos estudios que apuestan por la librería Cocos2d-x en sus desarrollos
Algunos estudios que apuestan por la librería Cocos2d-x en sus desarrollos

Hoy día, tenemos dos herramientas para poder desarrollar videojuegos con esta plataforma. Por un lado Cocos Creator, que es una app que nos permite gestionar gráficos, crear escenas, definir comportamientos, acciones... básicamente es la interfaz gráfica que nos permite crear los juegos y ahorrarnos bastantes líneas de programación. Luego esas escenas podemos cargarlas directamente en nuestro proyecto e incluso se puede dar una jugabilidad básica desde este editor.

La otra pata, la que acaba de actualizarse, es la librería en sí: Cocos2d-x. Una librería que puede programarse en C++ o en los dos lenguajes de scripting Lua, Javascript e incluso TypeScript.

Cocos Creator

Esta nueva versión incorpora muchas pequeñas mejoras internas, pero su objetivo principal son las plataformas de Apple porque Cocos2d-x abandona OpenGL como librería gráfica y se pasa a Metal en iOS y Mac. De esta forma, permite que sus desarrollos se ejecuten en las últimas versiones del sistema, que han eliminado el soporte del estándar abierto OpenGL en iOS 13 y Catalina.

Se ha limpiado el motor, eliminado las partes deprecadas y hecho las adaptaciones apropiadas para que todo funcione en iOS 13 y Xcode 11, como cambiar la librería de reproducción de vídeo de la antigua MPMoviePlayer hacia la recomendada por Apple AVPlayerController. También han cambiado el contenedor de contenido web por defecto al nuevo y recomendado por Apple WKWebView. Se ha dado soporte a CMake en todas las plataformas y se ha corregido un problema de compatibilidad con las fuentes en macOS Catalina.

Cocos2d-x 4.0 da soporte completo de Metal en todas las plataformas Apple, eliminando OpenGL y siguiendo el camino tomado por Apple a este respecto en todos sus sistemas.

En esencia, esta versión 4.0 pone al día la librería para soportar todos los últimos cambios que Apple ha hecho en los últimos años, y permitiendo que cualquier desarrollador pueda apostar por esta plataforma para sus desarrollos.

Cocos2d-x

Las herramientas y librerías son totalmente gratuitas y libres de royalties, e incorporan la opción de usar algunos componentes que sí son de pago como servicios de analíticas, soluciones backend para los juegos o un motor de sonido para red que permite comunicación en tiempo real entre jugadores en videojuegos con capacidad online.

Si estás pensando en hacer videojuegos multiplataforma 2D y no quieres ir hacia una solución demasiado grande como Unity, que resulta demasiado tosca para jugabilidades más sencillas, te invitamos a que le eches un vistazo a este motor y librería porque realmente merecen la pena.

Puedes consultar y descargar todas sus soluciones en su web oficial, compatibles con Mac o Windows, pulsando aquí.

Comentarios cerrados
Inicio