DESENVOLVIMENTO DE JOGOS
UTILIZANDO COCOS2D
Rafael Martins <ra.martins13@gmail.com>
Agenda
 Introdução
 Conceitos Gerais
 Jogos/Estudo de Caso
 Futuro e Considerações
 Dúvidas
 Agradecimentos
Rafael Martins <ra.martins13@gmail.com>
Introdução
 Framework para desenvolvimento de jogos multi-
plataforma 2D
 Um projeto Open-Source (framework +
comunidade)
 Site oficial: http://www.cococs2d-x.org
 Não é:
 Full Game Engine
 Framework 3D
 Uma ferramenta para desenvolver aplicativos
Rafael Martins <ra.martins13@gmail.com>
Plataformas
Rafael Martins <ra.martins13@gmail.com>
http://www.cococs2d-x.org
Branches
cocos2d-x (v2.14 – 18/06/2013)
cocos2d-html5 (v2.14 – 12/06/2013)
cocos2d-xna
Rafael Martins <ra.martins13@gmail.com>
Download em: http://www.cocos2d-x.org/projects/cocos2d-x/wiki/Download
Alguns Dados
 Plataformas: 10
 Jogos: 340+
 Developers: 8.500+
 Mensagens: 11.000+
 147mi downloads
Rafael Martins <ra.martins13@gmail.com>
Conceitos Básicos
 CCScene
 CCDirector
 CCLayer
 CCSprite
Rafael Martins <ra.martins13@gmail.com>
CCScene
 Cenas ou “Telas”
 Possuem uma ou mais camadas (CCLayer)
CCScene* pScene = MenuScene::create();
Rafael Martins <ra.martins13@gmail.com>
CCDirector
 Singleton
CCDirector::sharedDirector()-> … // acesso
 Controle de cenas
CCDirector::sharedDirector()->replaceScene(
CCTransitionSlideInB::create(1.0f, Menu::scene()));
 Ciclo de vida
CCDirector* pDirector = CCDirector::sharedDirector();
CCEGLView* pEGLView = CCEGLView::sharedOpenGLView();
pDirector->setOpenGLView(pEGLView);
Rafael Martins <ra.martins13@gmail.com>
CCLayer
Rafael Martins <ra.martins13@gmail.com>
 Camadas contidas em uma Cena
 Eventos e Render
CCLayer* pLayer = ParallaxLayer::create();
this->addChild(pLayer); // adiciona à cena
CCSprite
 Imagens 2D
 Propriedades de rotação, escala,
posicionamento, etc..
 CCSprite* sprite =
CCSprite::create(“falcao.png”);
Rafael Martins <ra.martins13@gmail.com>
Funcionamento
 A
Rafael Martins <ra.martins13@gmail.com>
Texture Packer
Rafael Martins <ra.martins13@gmail.com>
Ref.: http://www.gamua.com
Download: http://www.codeandweb.com/texturepacker
Tiled/Physics Editor
Rafael Martins <ra.martins13@gmail.com>
Download: http://www.mapeditor.org/
Download:
http://www.codeandweb.com/physics
editor
Project-Creator
 ../COCOS_ROOT/tools/project-creator
 python create_project.py –project GameName –package
com.cocos.gamename –language cpp
Rafael Martins <ra.martins13@gmail.com>
Mad Squirrel (Moc Interactive)
 Cortesia: Moc Interactive
Rafael Martins <ra.martins13@gmail.com>
Mad Squirrel (Moc Interactive)
 Links: Google Play / AppStore
 Gameplay:
http://www.youtube.com/watch?v=8_bAeeW
boQ4
Rafael Martins <ra.martins13@gmail.com>
Mad Squirrel (Moc Interactive)
 Post-mortem
 Desenvolvimento: 3 meses
 Equipe: 1 artista / 1 developer
 Plataformas: iOS/Android/Windows
Phone/Windows Metro
 Downloads: 260k
Rafael Martins <ra.martins13@gmail.com>
Awol (EA 2DLabs)
 Cortesia: Electronic Arts
Rafael Martins <ra.martins13@gmail.com>
Awol (EA 2DLabs)
 Post-mortem
 Porting paraWindows Phone 7 em 8 dias
 Code Refactoring
 Device: HTC Surround
Rafael Martins <ra.martins13@gmail.com>
Awol (EA 2DLabs)
 C++
 C#
Rafael Martins <ra.martins13@gmail.com>
Futuro
 Suporte a mais plataformas
 EditoresVisuais (CocosBuilder)
 Utilização Acadêmica ?
Rafael Martins <ra.martins13@gmail.com>
Dúvidas?
Rafael Martins <ra.martins13@gmail.com>
Agradecimentos
 Prof. Dra. Pollyana Mustaro
 André Kishimoto
 ElectronicArts
 Hive Digital Media
 Moc Interactive
 EquipeTDC
Rafael Martins
slideshare.net/rafaelmartins92167789
Rafael Martins <ra.martins13@gmail.com>

TDC2013 - Cocos2d-x