Creación de juegos multiplataforma con Cocos2d-x

En esta guía mostraremos cómo crear un juego sencillo con el uso del marco de trabajo Cocos2d-x en un entorno de desarrollo Windows y cómo compilarlo para que se ejecute en Windows 8 y Android.

¿Qué es Cocos2d-x?

Cocos2d-x es un marco de trabajo multiplataforma para juegos (y otras aplicaciones gráficas, tales como libros interactivos) basado en el cocos2d para iOS*, pero que usa C++, JavaScript* o Lua* en lugar de Objective-C*.

Una de las ventajas de este marco de trabajo es que con él es posible crear juegos que se pueden implementar en diferentes plataformas (Android*, iOS, Win32*, Windows* Phone, Windows* 8, Mac*, Linux*, etc.), manteniendo la misma base de código y con pocas adaptaciones específicas para cada plataforma.

El código fuente se puede usar bajo la licencia MIT y se descarga desde aquí.

Para conocer más acerca de Cocos2d-x y su documentación, recomendamos visitar: http://www.cocos2d-x.org/.

El primer juego

1. Descargue la versión más reciente del marco de trabajo desde el sitio y descomprima el archivo en su entorno de desarrollo. En esta guía, se usó la versión 2.2.2, y el archivo se descomprimió en el escritorio (C:Usersfelipe.pedrosoDesktopcocos2d-x-2.2).

2. Para crear un nuevo proyecto en cocos2d-x, vamos a usar un script de Python* (create_project.py) que crea toda la estructura del proyecto dentro de la carpeta donde se descomprimió el marco de trabajo. Si no tiene instalado el runtime de Python, descargue la versión 2.7.6 desde este vínculo:http://www.python.org/download/.

3. Abra el símbolo del sistema (cmd.exe) y ejecute las siguientes instrucciones:

  • Vaya a la carpeta del script (es importante ejecutar el script dentro de la carpeta “project-creator”)
    cd C:Usersfelipe.pedrosoDesktopcocos2d-x-2.2toolsproject-creator
  • Ejecute el script con la siguiente instrucción:
    python create_project.py -project MyFirstGame -package com.example.myfirstgame -language cpp

Los parámetros son los siguientes:
project: nombre del proyecto o juego
package: nombre del paquete de la aplicación (p. ej., com.myCompany.MyFirstGame)
language: lenguaje de programación del proyecto (cpp, lua y JavaScript)

Atención: para ejecutar la instrucción de Python desde el símbolo del sistema, agregue la carpeta donde se instaló Python a la ruta de la variable de entorno.

El proyecto creado contendrá el código de base del juego (Classes), los recursos (imágenes, audio, etc.) y un proyecto por cada plataforma admitida por el marco de trabajo.

Compilación como aplicación Win32 (Windows* 7 o modo de escritorio de Windows 8)

Requisitos:

1. Abra con Visual Studio el archivo MyFirstGame.sln que está dentro de la carpeta proj.win32 del directorio del proyecto.

2. Presione F6 (o use el menú Build -> Build Solution) para compilar el proyecto y presione F5 (o use el menú Debug -> Start Debugging) para ejecutarlo.

Si nada salió mal, verá la siguiente ventana:

Compilación como aplicación de la Tienda Windows

Requisitos:

Para compilar el proyecto como aplicación de la Tienda Windows, abra el archivo MyFirstgame.sln que está dentro de la carpeta proj.winrt y compílelo con el mismo procedimiento que se usó en el proyecto para Win32.

Después de la compilación y la ejecución, verá la siguiente pantalla:

Atención: el cocos2d-x que se usó en esta guía no funcionó con Windows* 8.1.

Compilación como aplicación de Android

Requisitos:

De la misma manera en que se agregó Python a la ruta de Windows, agregue los directorios, las herramientas y las herramientas de plataforma del SDK de Android, el directorio raíz del NDK y el directorio bin de Apache Ant para compilar su aplicación.

1. Abra un nuevo símbolo del sistema (cmd.exe) y ejecute las siguientes instrucciones para configurar las variables de entorno necesarias para compilar la aplicación de Android:

set COCOS2DX_ROOT=C:Usersfelipe.pedrosoDesktopcocos2d-x-2.2
set NDK_TOOLCHAIN_VERSION=4.8
set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%cocos2dxplatformthird_partyandroidprebuilt

Las variables que usamos son:

COCOS2DX_ROOT: directorio en el que se descargó el marco de trabajo NDK_TOOLCHAIN_VERSION: versión de la cadena de herramientas del NDK que se usará para compilar el proyecto
NDK_MODULE_PATH: módulos que es necesario incluir en el NDK build. En este caso, usamos los módulos precompilados de cocos2d-x

2. Con las variables de entorno compiladas, vaya a la carpeta del proyecto para Android:

cd C:Usersfelipe.pedrosoDesktopcocos2d-x-2.2projectsMyFirstGameproj.android

3. Copie los recursos del juego (imágenes, sonidos, etc.) a la carpeta “assets”:

rmdir /S /Q assets
mkdir assets
xcopy /E ..Resources .assets

4. Ejecute la siguiente instrucción para compilar los módulos nativos:

ndk-build.cmd -C . APP_ABI="armeabi armeabi-v7a x86"

Con esta instrucción, se generarán las bibliotecas nativas para tres arquitecturas diferentes: ARM, ARM-NEON* y x86. De este modo, el juego se podrá ejecutar en estas arquitecturas y las aprovechará al máximo.

5. Después de terminar el proceso de compilación, compile la aplicación de Android con la instrucción “ant”:

ant debug

Ahora, para instalar la aplicación en un dispositivo o un emulador, use la instrucción:

adb install -r binMyFirstGame.apk

Después de este paso, solo necesita ejecutar su aplicación:

Ahora el juego puede ejecutarse en tres plataformas como mínimo: ¡Android, Windows 7 y Windows 8!

Para obtener información más completa sobre las optimizaciones del compilador, consulte el Aviso de optimización de Intel.

Fuente: Zona para Desarrolladores Intel