Games

22 abr, 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 aqui.

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 artigo 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)

image1

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.

image2

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.

image5

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: Visual Studio 2012

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

image6

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

image7_vs

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

image7_demo

Compilando para Windows* 8 (Windows* Store App)

Requisitos: Visual Studio 2012

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.

image8

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*

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:

image9_variables

[code]

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

[/code]

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

[code]

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

[/code]

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!

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