martes, 14 de enero de 2014

Cocos2dx (Introducción)

Categoría: Cocos2dx

Nivel: Básico


Tras un tiempo de inactividad por falta de tiempo, voy a comenzar una serie de artículos relacionados con la programación de videojuegos, un tema en el que he estado aprendiendo desde que era pequeño con mi zx spectrum, tiempo en el que se ha avanzado tecnológicamente en gran medida y solo he dispuesto de un poco de tiempo libre para mantenerme un poco al día.

Actualmente con los Smartphone, la cosa ha cambiado y ya no hace falta un gran equipo de desarrollo y dos años de trabajo para poder crear un juego competitivo en el mercado, además de facilitar el despliegue del mismo mediante las diferentes tiendas existentes en los terminales.

A lo largo del tiempo, he visto y trabajado con multitud de lenguajes, frameworks, engines, etc. para el desarrollo de videojuegos y otras áreas, incluso he creado algunos propios, pero son pocos los que sigo usando por su madurez, flexibilidad y potencia. En este y los siguientes artículos voy a relatar mi experiencia con un engine 2d que he estado siguiendo de cerca viendo su progreso y ahora que empieza a ser lo suficientemente maduro, he decidido darle una oportunidad y por lo que he visto hasta el momento, creo que es uno de esos que llegan para quedarse por mucho tiempo, su nombre: Cocos2dx

Introducción:

Cocos2dx como su nombre indica, es un framework para la creación de videojuegos en 2 dimensiones y está basado en el famoso Cocos2d que fue creado en Python en el año 2008, cocos2d tiene muchas ramas que lo implementan en diferentes lenguajes, cocos2d-android, cocos2d-iphone, cocos2d-xna, etc. Las cuales se pueden encontrar en github.

Existe multitud de framework y engines para la creación de juegos, dependiendo de la finalidad de un producto debe escogerse uno u otro, en esta serie de artículos la finalidad es la creación de juegos para dispositivos móviles y este es una buena elección por lo siguiente:

  • Esta implementado en c/c++. A diferencia de las ramas de lenguajes específicos, cocos2dx esta implementada en c/c++ y es por ello que puede ser usado en cualquier plataforma para la cual se pueda compilar, y aseguro que hoy día c/c++ es el lenguaje que se puede compilar en mayor número de plataformas diferentes incluidos microcontroladores. Además es el lenguaje más cercano al ensamblador y el que más rápido ejecuta un procesador.

    El orden de los lenguajes en cuanto a velocidad básicamente es el siguiente:

    Ensamblador -> c/c++ -> .net, java -> lenguajes de script.

    En cada uno de ellos se pierde algo, no hay mejor ni peor, cada uno tiene sus ventajas y desventajas, los primeros tienen mayor velocidad pero son más duros de trabajar con ellos, mientras que los últimos tienen menos velocidad pero una mayor productividad (aunque esto puede ser relativo).

    En cuestión de juegos personalmente doy preferencia a la velocidad de código ya que otorga una mayor experiencia de usuario y ofrece menor consumo lo que en un dispositivo móvil se traduce en mayor duración de batería.

  • Es open source y libre de comercializar, lo cual es una gran ventaja para los desarrolladores libres que cuentan con poco o nada de presupuesto para pagar licencias.

  • Tiene multitud de herramientas de desarrollo. Si la experiencia me ha enseñado algo es que un lenguaje, framework, etc. Solo tiene éxito si existen herramientas para facilitar el desarrollo, cuantas más y mejores herramientas existan, mejor adopción tendrá en los desarrolladores lo que hará que aumente la comunidad y los recursos disponibles para el desarrollo.

  • Como la base es la de cocos2d, tiene más de 5 años de seguimiento con multitud de recursos y una gran comunidad.

  • Es multiplataforma para los dispositivos móviles predominantes en el mercado que actualmente son Android, IPhone y Windows Phone, de modo que el mismo código puede compilarse para sistemas Android (Smartphone y Tablet), IOS (iPhone, iPad), Windows Phone 8 y WinRT, además de las plataformas de escritorio Windows, Linux y Mac. Todas estas plataformas sin ningún tipo de complemento o librería adicional.


Para terminar, dejo el link a la página oficial donde se puede ampliar información sobre cocos2dx:

Página oficial Cocos2dx:


Saludos y… “a fluzear”

 

No hay comentarios:

Publicar un comentario