Desenvolvimento

7 out, 2014

Criando jogos multi-plataforma com Cocos2d-x

Publicidade

Neste artigo, 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.

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

image3

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)

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:

image7_demo

Compilando para Windows 8 (Windows Store App)

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:

image8_demo

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

Compilando para Android

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:

image9_variables

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:

image9_copy

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"

image9_ndkbuild

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

image9_antdebug

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

image9_install

adb install -r bin\MyFirstGame.apk

Depois é só abrir o app:

image9_demo

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!