Criando jogos multiplataforma com Cocos2d-x

Neste tutorial iremos demonstrar como criar um jogo simples usando o framework Cocos2d-x em um ambiente de desenvolvimento Windows* e como compilar o jogo em Windows e Android.

O que é o Cocos2d-x?


O Cocos2d-x é um framework multi-plataforma de desenvolvimento de jogos (e outros apps gráficos como livros interativos) baseado no cocos2d para iOS, mas que usa C++, Javascript ou Lua ao invés do Objective-C.

Uma das vantagens desse framework é permitir o desenvolvimento de jogos para diversas plataformas (Android*, iOS*, Win32*, Windows* Phone, Windows* 8, Mac*, Linux*, etc) mantendo apenas uma base de código (com algumas adaptações sendo feitas de uma plataforma para outra).

Ele é open-source sob a licença MIT License e seu código fonte pode ser encontrado aqui.

Para mais informações sobre o Cocos2d-x e sua documentação, acesse: http://www.cocos2d-x.org/

Criando seu primeiro game


1-  Faça o download da versão mais recente do framework no site e descompacte no seu ambiente de desenvolvimento. Para este tutorial foi utilizada a versão 2.2.2 e o framework foi descompactado na área de trabalho (C:\Users\felipe.pedroso\Desktop\cocos2d-x-2.2)

2- Para criar um novo projeto no cocos2d-x, iremos usar um script python (create_project.py) que cria toda a estrutura do projeto dentro da pasta aonde o framework foi descompactado. Caso não tenha o runtime do Python instalado, faça o download da versão 2.7.6 no seguinte link: http://www.python.org/download/.

3-  Abra o prompt de comando (cmd.exe) e execute os seguintes comandos:

-   Navegue até a pasta do script (é importante que o script create_project.py seja executado de dentro da pasta project-creator)
    
    cd C:\Users\felipe.pedroso\Desktop\cocos2d-x-2.2\tools\project-creator
    
-   Execute o script com seguinte comando:
    
    python create_project.py -project MyFirstGame -package com.example.myfirstgame -language cpp
    

Explicando os parâmetros:
    project: Nome do seu projeto/game
    package: Nome do pacote da sua aplicação (ex.: br.suaempresa.MyFirstGame)
    language: Linguagem de programação a ser utilizada (cpp, lua e javascript)

Obs.: para executar o comando 'python' na linha de comando, adicione a pasta aonde o Python foi instalado na variável de ambiente Path

-   Se tudo funcionar corretamente, seu projeto será criado na pasta projects, dentro do diretório onde o framework foi descompactado.

O projeto criado contém o código base do jogo (Classes), os recursos (imagens, áudio, etc) e projetos para cada uma das plataformas suportadas pelo framework.

Compilando para Win32 (Windows* 7 ou Windows* 8 modo desktop)


Requisitos:

Dentro do diretório do projeto, abra o arquivo MyFirstGame.sln que está na pasta proj.win32 com o Visual Studio.

Compile o projeto pressionando F6 (ou menu Build -> Build Solution) e execute o projeto pressionando F5 (ou menu Debug->Start Debugging).

Se tudo der certo, você verá a seguinte janela:

Compilando para Windows* 8 (Windows* Store App)


Requisitos:

Para compilar o projeto como uma Windows* Store App, abra o arquivo MyFirstGame.sln da pasta proj.winrt e compile da mesma maneira do projeto Win32.

Após compilar e rodar, você verá a seguinte tela:

Obs.: a versão do cocos2d-x utilizada no tutorial não funcionou no Windows* 8.1

Compilando para Android*


Requisitos

Da mesma forma que o Python foi adicionado no Path do Windows*, adicione os diretórios tools e platform-tools do Android SDK,o diretório raiz do NDK e o diretório bin do Apache Ant para poder usar os comandos para fazer build do app.

Abra um novo prompt de comando (cmd.exe) e execute os seguintes comandos para configurar as variáveis de ambiente necessárias para a compilação do app Android:

    set COCOS2DX_ROOT=C:\Users\felipe.pedroso\Desktop\cocos2d-x-2.2
    set NDK_TOOLCHAIN_VERSION=4.8
    set NDK_MODULE_PATH=%COCOS2DX_ROOT%;%COCOS2DX_ROOT%\cocos2dx\platform\third_party\android\prebuilt

    
Explicando as variáveis:

    COCOS2DX_ROOT: diretório aonde o cocos2d-x foi extraído
    NDK_TOOLCHAIN_VERSION: versão do toolchain do NDK que será utilizado para compilar o projeto
    NDK_MODULE_PATH: Módulos que devem ser incluídos na compilação do NDK. No caso do exemplo, estamos utilizando os módulos pré-compilados do cocos2d-x

Com as variáveis de ambiente configuradas, navegue até o diretório do projeto:

    cd C:\Users\felipe.pedroso\Desktop\cocos2d-x-2.2\projects\MyFirstGame\proj.android

Copie os resources do jogo (imagens, sons, etc) para a pasta assets:

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

Execute o seguinte comando para compilar os módulos nativos:

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

O comando irá gerar as bibliotecas nativas para três arquiteturas diferentes: ARM, ARM-NEON e x86. Isso permitirá que seu jogo rode em diversas arquiteturas aproveitando o que elas oferecem de melhor. .Após finalizar a compilação dos módulos nativos, compile o app Android com o comando ant:

    ant debug


    
Agora para instalar o aplicativo em um device ou emulador use o comando:

    adb install -r bin\MyFirstGame.apk

Depois é só abrir o app:

Pronto, agora seu jogo já pode rodar em pelo menos três plataformas: Android* (em três arquiteturas), Windows* 7 e Windows* 8! 

Até a próxima!

* Other names and brands may be claimed as the property of other

Para obter informações mais completas sobre otimizações do compilador, consulte nosso aviso de otimização.