SlideShare ist ein Scribd-Unternehmen logo
1 von 33
Downloaden Sie, um offline zu lesen
Overview da apresentação
 • Mercado de jogos wireless
 • Jogos de sucesso
 • Bboy : desenvolvendo jogos wireless
        –   Criação
        –   Tecnologia
        –   Lidando com as limitações
        –   Usabilidade e curva de aprendizado
        –   Analisando o processo
        –   Ferramentas
        –   Lições aprendidas
        –   Bboy em ação
Mercado de jogos Wireless no mundo
 • Já está acontecendo:
     Mercado global de jogos / 2001: $28b
     (Jogos wireless: $.0007b)
      $30b em 2006 (Jogoswireless $3.6b)

     Ovum Research:
     em 2006 jogos wireless games serão $4.4b

     Strategy Analytics:
     $1b+ em 2003, $7b+ em 2008

     IDC:
     7.0 milhões de jogadores wireless em 2002/3
     71.2 milhões de jogadores wireless em 2007
Mercado de jogos Wireless no mundo
 • Ainda há espaço para os pequenos

      • Grandes nomes ainda estão tímidos
      • Baixo custo de desenvolvimento
      • Possibilidades de distribuição
      • Média de preço : 3 US dólares

      • No Brasil:
      • Mão de obra abundante
      • Criatividade abundante
      • Ferramentas gratuitas
Sucesso mundo a fora : Simplicidade!
 • Divertir é a palavra chave
      • Um bom jogo não é feito somente de :

         – Bons gráficos
         – Engines 3D de última geração
         – Milhares de fases diferentes


      • Um bom jogo é feito de:

         –   Uma boa e bem contada história
         –   Personagens cativantes
         –   Desafios balanceados
         –   Fatores “viciantes”
         –   Os fatores do primeiro item
Sucesso mundo a fora: Exemplos
 • Jogos que ganham pela simplicidade




      • Pontos fortes: Simplicidade e facilidade de uso
      • 3D não é garantia de sucesso.
      • 3D = custos mais altos, poucos aparelhos dão suporte
Sucessos Mundo a fora: Hits!
 • Qualidade acima da média




Limonade tycoon          Townsmen          Ancient Empires

    – Pontos fortes: Complexidade aliada facilidade
Mercado no brasil: Ainda engatinhando
 • Como comprar? Site das operadoras




      • Preço médio : 10 reais (!!!) jogos perfeitos para baixar esse custo :
        jogos 2D
      • Pouca variedade
Bboy : Desenvolvendo jogos Wireless no
Brasil
                      • INdT em parceira com
                        o C.E.S.A.R
                      • Conceito
                      •   Você é Bboy, um anjo querendo
                          provar seu valor e recebe a missão
                          de resgatar almas capturadas em 3
                          planos no mundo terreno. Sua
                          promoção para arcanjo depende
                          do seu desempenho!


                      • Referências:
                          Incredible machines
                          Lost Vikings
                          Lemmings
                          Krusty fun house
                          Marsupilami
Bboy: Equipe
 • Lerê: 9 pessoas ( 7 full time ) x 3 meses
 • Objetivo inicial: análise de processo
 • Equipe baseada no processo RUP

 Engenheiros de software: Mauro Vieira, Telmo Mota, Jorge Ae

 Designer gráfico:         Francisco Spencer

 Game Designer:           Marcelo Eduardo

 Gerente de projeto:      Neildes vieira / Aldenor Martins


 Analistas de negócios:    Ivan Patriota e Hilmer Neri
Bboy: Ferramentas
 • Eclipse Ide : experiência da equipe com ferramenta foi crucial.
   FREEWARE

 • Nokia Developer Suite: Emuladores e conversores. FREEWARE

 • WTK 1.4 ( wireless Toolkit da sun ). FREEWARE

 • Ant & Antenna : build . FREEWARE

 • Proguard: Obfuscador . FREEWARE

 • WinCVS. FREEWARE

 • Desenvolvimento proprio : Editor de cenário
Bboy : Processo de Criação
GAME DESIGN :
Criação do conceito , personagens e
    ambientação

1 e 2 semana : brainstorm para criação das
    regras macros.

Gera : Documento de Game Design

Cobre : Necessidades Técnicas e artisticas do
   jogo

Opcional : protótipo em game Maker

Atenção : às restrições.
Bboy: Personagens
 Diabinhos : antagonista, tentam evitar que bboy salve as almas
 Almas : Cegas e bobas morrem de medo dos diabinhos
 Foco: Busca por personagens engraçados e carismáticos. Sempre.
Bboy: Fluxo simplificado do jogo
  O jogador deve vencer 15 fases salvando o máximo que puder das 10 almas em cada uma delas.
  Detalhes que fazem a diferença: Cheat code pra abrir fases. Finais diferentes para 100% e menos que isso
  Não existe limite de vidas. O obstáculo mair do jogador é o próprio quebra-cabeça de cada fase.

     Tela de entrada              Seleção de fases
                                                         Fases 1 a 5        fases 6 a 10    fase 11 a 15


                                                                                                             Fim 1


                                                                                                             Fim 2




 O jogo mescla ação com puzzle
 Bboy deve correr a fase atrás de itens, protegendo sempre as almas, até que possa
 montar o caminho perfeito para que elas possam escapar.
Bboy: Ambientação
 Criar ambientes diferentes torna a experiência menos repetitiva e envolve
 pouco trabalho do time de programadores. Utilizando os 3 ambientes
 chegamos ao total de 15 fases.




                                                                   29 tiles de 16px
                                                                   20 tiles de 16px
                                                                   23 tiles de 16px
Bboy: Evolução gráfica da ambientação
 Foco no alvo: Divertido, carismático, estilo cartoon, não agressivo.
Bboy: Level design
 Criar fases com progressivo aumento da dificuldade.
 Não desanimar o usuário com fases impossíveis.
 Tarefa demorada e complicada. Perdura por todo projeto

 Ferramenta própria criada : Level Editor em Dhtml ( 2 dias )
Bboy: Level design
 Gerar fases com progressivo aumento da dificuldade.
 Não desanimar o usuário com fases impossíveis.
 Tarefa demorada e complicada. Perdura por todo projeto

 Ferramenta propria gerada : Level Editor em Dhtml ( 2 dias )
Bboy: Level design
 Exemplo de projeto de fase
Bboy: Recursos de imagens
 Grande quantidade de imagens necessárias:
 Observar limite ( geralmente da operadora )
Bboy: O processo
 •   Desenvolver jogo pra celular pede um processo enxuto, rápido e flexivel.

 •   RUP se mostrou inadequado pro jogo

 •   Sendo que em diversos momentos o projeto chegou a parar por culpa do
     processo, e os documentos do RUP foram pouco utilizados.

 •   Deve se ter em mente: Um processo simples, que se adeque a qualquer tipo de
     jogo, pois cada estilo tem suas particularidades e vão pedir documentos
     diferentes.

 •   No final um processo customizado mesclando alguns documentos do RUP e
     algumas filosofias do XP, foi criado e utilizado.

 •   Comunicação é extremamente importante no projeto. Toda equipe deve
     conhecer bem o jogo e tudo que se almeja com o produto.

 •   Mais sobre processo desenvolvimento na Revista: MundoJava
Bboy: Tecnologia
 • Escolha da plataforma: Symbian ou Java?
    – Por quê java?

       Grande expertise do C.E.S.A.R
       Prazo Curto e orçamento limitado
       Foco: analisar o processo de desenvolvimento jogos.
       Facilidade de desenvolvimento
       Possibilidade de porte para outros aparelhos

       Desvantagens :

        Performance
        Limitaçoes : sons, efeitos etc.
        Memória controlada pelo garbageCollector
Bboy: Lidando com as limitações
 •    Desenvolver pra celular é lidar com severas limitações:




 1.   Memória
 2.   Armazenamento
 3.   Processamento
 4.   GUI
Bboy: Lidando com as limitações
 •   Memória ( execução )

     Heap varia de 128kb até 10 megas

     Imagens coloridas : 2 Bytes/cor *W*H+68 bytes
     Ex: imagem 128x128 ( ~5kb em disco ) :     32kb no heap!!!

     Solução: Reutilização de imagens, DirectUtils da nokia.
Bboy: Lidando com as limitações
 Armazenamento ( em java )
 Somente RMS. Limite pequeno em vários aparelhos ( 20kb )
 Não pode salvar no sistema de arquivos
 Média de tamanho de .Jars = 64kb


 Processamento
 Grande variação do poder de processamento
 Series 60 : processadores ARM 100 mhz : sem suporte a ponto
      flutuante
 Bboy : Grande complexidade de redesenho, e grande numero de
      entidades na tela : ir até o limite da kvm
Bboy: Lidando com as limitações
 GUI – Interface Gráfica
 Diferentes celulares podem ter diferentes implementações
 Ex: 7650 3650 e Ngage
Bboy : Interface com o usuário 3650
Bboy : Interface com o usuário 7650
Bboy : Interface com o usuário Ngage
Bboy: Lições aprendidas
 • Se Precisa de alta perfomance, bluetooth ou outro recurso do
   sistema na serie 60 utilize C++ nativo

 • GC não funciona corretamente. Efeturar controle severo da
   memória : memory status

 • Teste no aparelho final sempre : 7650 tem RAM do que o 3650

 • Utilizar Menos Orientação a objeto : menos classes, evitar
   packages

 • Evitar uso de intefaces, metodos sincronizados e Strings

 • Cacheie a maior parte dos elementos
Bboy: Lições aprendidas
 • Quando utilizar jogos com tiles evitar utilizar todo o canvas

 • Utilize tiles maior que 16x16

 • Otimize seu metodo draw para evitar flicks

 • Midis consomem muita memória

 • Tons com oitavas baixas ( 0 ) não tocam com volume satisfatório

 • Evitar uso desnecessário de imagens

 • Controlar a equipe e gerentes para não se repetir :

 • “ Ah seria ótimo se ele pudesse voar...”
Bboy : Em ação!!!
If( Perguntas ){ goTo(“FORUM”) }



            OBRIGADO!

          Marcelo Eduardo Moraes
          Marcelo.e.oliveira@indt.org.br

Weitere ähnliche Inhalte

Was ist angesagt?

Desenvolvimento de Jogos - Mercado Parte 1
Desenvolvimento de Jogos - Mercado Parte 1Desenvolvimento de Jogos - Mercado Parte 1
Desenvolvimento de Jogos - Mercado Parte 1Fabio Moura Pereira
 
Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)
Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)
Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)Cícero Liberato
 
Metodologias de desenvolvimento de jogos e introdução a game design
Metodologias de desenvolvimento de jogos e introdução a game designMetodologias de desenvolvimento de jogos e introdução a game design
Metodologias de desenvolvimento de jogos e introdução a game designCaio Vinicius Marques Teixeira
 
Desenvolvendo Jogos com Scratch
Desenvolvendo Jogos com ScratchDesenvolvendo Jogos com Scratch
Desenvolvendo Jogos com ScratchDiogo Padilha
 
Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.
Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.
Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.Caio Vinicius Marques Teixeira
 
Quer fazer um jogo? Começe aqui!
Quer fazer um jogo? Começe aqui!Quer fazer um jogo? Começe aqui!
Quer fazer um jogo? Começe aqui!Luiz Nörnberg
 
Gamification, Gaming Concepts & Game Design
Gamification, Gaming Concepts & Game DesignGamification, Gaming Concepts & Game Design
Gamification, Gaming Concepts & Game Designvincevader
 

Was ist angesagt? (10)

Apresentação TCC Games
Apresentação TCC GamesApresentação TCC Games
Apresentação TCC Games
 
Desenvolvimento de Jogos - Mercado Parte 1
Desenvolvimento de Jogos - Mercado Parte 1Desenvolvimento de Jogos - Mercado Parte 1
Desenvolvimento de Jogos - Mercado Parte 1
 
Exemplo de GDD
Exemplo de GDDExemplo de GDD
Exemplo de GDD
 
Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)
Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)
Design de Jogos I - Fundamentos principais (Grupo de estudos ETEC)
 
The Makers
The MakersThe Makers
The Makers
 
Metodologias de desenvolvimento de jogos e introdução a game design
Metodologias de desenvolvimento de jogos e introdução a game designMetodologias de desenvolvimento de jogos e introdução a game design
Metodologias de desenvolvimento de jogos e introdução a game design
 
Desenvolvendo Jogos com Scratch
Desenvolvendo Jogos com ScratchDesenvolvendo Jogos com Scratch
Desenvolvendo Jogos com Scratch
 
Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.
Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.
Como criar jogos? Dicas, metodologias e etapas de desenvolvimento.
 
Quer fazer um jogo? Começe aqui!
Quer fazer um jogo? Começe aqui!Quer fazer um jogo? Começe aqui!
Quer fazer um jogo? Começe aqui!
 
Gamification, Gaming Concepts & Game Design
Gamification, Gaming Concepts & Game DesignGamification, Gaming Concepts & Game Design
Gamification, Gaming Concepts & Game Design
 

Ähnlich wie Mobile Game Case: Bboy in Heaven´s Mission

Jogos independentes
Jogos independentesJogos independentes
Jogos independentesPaulo Zucco
 
Mercado de Games no Espírito Santo - #UCLParty
Mercado de Games no Espírito Santo - #UCLPartyMercado de Games no Espírito Santo - #UCLParty
Mercado de Games no Espírito Santo - #UCLPartyLeonardo Zamprogno
 
Desenvolvimento de Games para Nokia Asha com software free/open source
Desenvolvimento de Games para Nokia Asha com software free/open sourceDesenvolvimento de Games para Nokia Asha com software free/open source
Desenvolvimento de Games para Nokia Asha com software free/open sourceMaurílio Silva
 
Desenvolvimento de Videojogos em Portugal
Desenvolvimento de Videojogos em PortugalDesenvolvimento de Videojogos em Portugal
Desenvolvimento de Videojogos em PortugalNelson Zagalo
 
The Makers - Revista Virtual
The Makers - Revista VirtualThe Makers - Revista Virtual
The Makers - Revista VirtualTheWizard0
 
Aquecimento Global Game Jam Curitiba 2014
Aquecimento Global Game Jam Curitiba 2014Aquecimento Global Game Jam Curitiba 2014
Aquecimento Global Game Jam Curitiba 2014Bruno Campagnolo
 
Horizon chase: Design para multiplayer local
Horizon chase: Design para multiplayer localHorizon chase: Design para multiplayer local
Horizon chase: Design para multiplayer localBruno Ferreira
 
Palestra Game Design
Palestra Game DesignPalestra Game Design
Palestra Game Designvincevader
 
4ª Edição GMBR Magazine
4ª Edição GMBR Magazine4ª Edição GMBR Magazine
4ª Edição GMBR MagazineEduardo Prado
 
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game StudioQuer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game StudioLuiz Nörnberg
 
Desenvolvimento de jogos e Ogre 3D - Dev In Santos
Desenvolvimento de jogos e Ogre 3D - Dev In SantosDesenvolvimento de jogos e Ogre 3D - Dev In Santos
Desenvolvimento de jogos e Ogre 3D - Dev In Santosjonathanblacknight
 
5 coisas que você precisa saber antes de começar a fazer seus jogos
5 coisas que você precisa saber antes de começar a fazer seus jogos5 coisas que você precisa saber antes de começar a fazer seus jogos
5 coisas que você precisa saber antes de começar a fazer seus jogosDiego Dukão
 
Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)Luiz Nörnberg
 
Desenvolvimento de jogos com ogre 3D - Mini Curso Unip
Desenvolvimento de jogos com ogre 3D - Mini Curso UnipDesenvolvimento de jogos com ogre 3D - Mini Curso Unip
Desenvolvimento de jogos com ogre 3D - Mini Curso Unipjonathanblacknight
 

Ähnlich wie Mobile Game Case: Bboy in Heaven´s Mission (20)

Comparativo entre Engines de Jogos em 3d
Comparativo entre Engines de Jogos em 3dComparativo entre Engines de Jogos em 3d
Comparativo entre Engines de Jogos em 3d
 
Jogos independentes
Jogos independentesJogos independentes
Jogos independentes
 
Mercado de Games no Espírito Santo - #UCLParty
Mercado de Games no Espírito Santo - #UCLPartyMercado de Games no Espírito Santo - #UCLParty
Mercado de Games no Espírito Santo - #UCLParty
 
Desenvolvimento de Games para Nokia Asha com software free/open source
Desenvolvimento de Games para Nokia Asha com software free/open sourceDesenvolvimento de Games para Nokia Asha com software free/open source
Desenvolvimento de Games para Nokia Asha com software free/open source
 
Desenvolvimento de Videojogos em Portugal
Desenvolvimento de Videojogos em PortugalDesenvolvimento de Videojogos em Portugal
Desenvolvimento de Videojogos em Portugal
 
Blender 3 D
Blender 3 DBlender 3 D
Blender 3 D
 
The Makers - Revista Virtual
The Makers - Revista VirtualThe Makers - Revista Virtual
The Makers - Revista Virtual
 
Aquecimento Global Game Jam Curitiba 2014
Aquecimento Global Game Jam Curitiba 2014Aquecimento Global Game Jam Curitiba 2014
Aquecimento Global Game Jam Curitiba 2014
 
Games, lado dev
Games, lado devGames, lado dev
Games, lado dev
 
Horizon chase: Design para multiplayer local
Horizon chase: Design para multiplayer localHorizon chase: Design para multiplayer local
Horizon chase: Design para multiplayer local
 
Palestra Game Design
Palestra Game DesignPalestra Game Design
Palestra Game Design
 
4ª Edição GMBR Magazine
4ª Edição GMBR Magazine4ª Edição GMBR Magazine
4ª Edição GMBR Magazine
 
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game StudioQuer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
Quer fazer jogos? Conheça as tecnologias utilizadas pelo Izyplay Game Studio
 
Xtop Servers
Xtop ServersXtop Servers
Xtop Servers
 
Xtop Servers
Xtop ServersXtop Servers
Xtop Servers
 
Desenvolvimento de jogos e Ogre 3D - Dev In Santos
Desenvolvimento de jogos e Ogre 3D - Dev In SantosDesenvolvimento de jogos e Ogre 3D - Dev In Santos
Desenvolvimento de jogos e Ogre 3D - Dev In Santos
 
5 coisas que você precisa saber antes de começar a fazer seus jogos
5 coisas que você precisa saber antes de começar a fazer seus jogos5 coisas que você precisa saber antes de começar a fazer seus jogos
5 coisas que você precisa saber antes de começar a fazer seus jogos
 
Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)Conversa com alunos da computação da UFPel (Abril 2015)
Conversa com alunos da computação da UFPel (Abril 2015)
 
Desenvolvimento de jogos com ogre 3D - Mini Curso Unip
Desenvolvimento de jogos com ogre 3D - Mini Curso UnipDesenvolvimento de jogos com ogre 3D - Mini Curso Unip
Desenvolvimento de jogos com ogre 3D - Mini Curso Unip
 
Jme Games
Jme GamesJme Games
Jme Games
 

Mehr von elliando dias

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slideselliando dias
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScriptelliando dias
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structureselliando dias
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de containerelliando dias
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agilityelliando dias
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Librarieselliando dias
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!elliando dias
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Webelliando dias
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduinoelliando dias
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorceryelliando dias
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Designelliando dias
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makeselliando dias
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.elliando dias
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebookelliando dias
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Studyelliando dias
 

Mehr von elliando dias (20)

Clojurescript slides
Clojurescript slidesClojurescript slides
Clojurescript slides
 
Why you should be excited about ClojureScript
Why you should be excited about ClojureScriptWhy you should be excited about ClojureScript
Why you should be excited about ClojureScript
 
Functional Programming with Immutable Data Structures
Functional Programming with Immutable Data StructuresFunctional Programming with Immutable Data Structures
Functional Programming with Immutable Data Structures
 
Nomenclatura e peças de container
Nomenclatura  e peças de containerNomenclatura  e peças de container
Nomenclatura e peças de container
 
Geometria Projetiva
Geometria ProjetivaGeometria Projetiva
Geometria Projetiva
 
Polyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better AgilityPolyglot and Poly-paradigm Programming for Better Agility
Polyglot and Poly-paradigm Programming for Better Agility
 
Javascript Libraries
Javascript LibrariesJavascript Libraries
Javascript Libraries
 
How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!How to Make an Eight Bit Computer and Save the World!
How to Make an Eight Bit Computer and Save the World!
 
Ragel talk
Ragel talkRagel talk
Ragel talk
 
A Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the WebA Practical Guide to Connecting Hardware to the Web
A Practical Guide to Connecting Hardware to the Web
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Minicurso arduino
Minicurso arduinoMinicurso arduino
Minicurso arduino
 
Incanter Data Sorcery
Incanter Data SorceryIncanter Data Sorcery
Incanter Data Sorcery
 
Rango
RangoRango
Rango
 
Fab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine DesignFab.in.a.box - Fab Academy: Machine Design
Fab.in.a.box - Fab Academy: Machine Design
 
The Digital Revolution: Machines that makes
The Digital Revolution: Machines that makesThe Digital Revolution: Machines that makes
The Digital Revolution: Machines that makes
 
Hadoop + Clojure
Hadoop + ClojureHadoop + Clojure
Hadoop + Clojure
 
Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.Hadoop - Simple. Scalable.
Hadoop - Simple. Scalable.
 
Hadoop and Hive Development at Facebook
Hadoop and Hive Development at FacebookHadoop and Hive Development at Facebook
Hadoop and Hive Development at Facebook
 
Multi-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case StudyMulti-core Parallelization in Clojure - a Case Study
Multi-core Parallelization in Clojure - a Case Study
 

Mobile Game Case: Bboy in Heaven´s Mission

  • 1.
  • 2. Overview da apresentação • Mercado de jogos wireless • Jogos de sucesso • Bboy : desenvolvendo jogos wireless – Criação – Tecnologia – Lidando com as limitações – Usabilidade e curva de aprendizado – Analisando o processo – Ferramentas – Lições aprendidas – Bboy em ação
  • 3. Mercado de jogos Wireless no mundo • Já está acontecendo: Mercado global de jogos / 2001: $28b (Jogos wireless: $.0007b) $30b em 2006 (Jogoswireless $3.6b) Ovum Research: em 2006 jogos wireless games serão $4.4b Strategy Analytics: $1b+ em 2003, $7b+ em 2008 IDC: 7.0 milhões de jogadores wireless em 2002/3 71.2 milhões de jogadores wireless em 2007
  • 4. Mercado de jogos Wireless no mundo • Ainda há espaço para os pequenos • Grandes nomes ainda estão tímidos • Baixo custo de desenvolvimento • Possibilidades de distribuição • Média de preço : 3 US dólares • No Brasil: • Mão de obra abundante • Criatividade abundante • Ferramentas gratuitas
  • 5. Sucesso mundo a fora : Simplicidade! • Divertir é a palavra chave • Um bom jogo não é feito somente de : – Bons gráficos – Engines 3D de última geração – Milhares de fases diferentes • Um bom jogo é feito de: – Uma boa e bem contada história – Personagens cativantes – Desafios balanceados – Fatores “viciantes” – Os fatores do primeiro item
  • 6. Sucesso mundo a fora: Exemplos • Jogos que ganham pela simplicidade • Pontos fortes: Simplicidade e facilidade de uso • 3D não é garantia de sucesso. • 3D = custos mais altos, poucos aparelhos dão suporte
  • 7. Sucessos Mundo a fora: Hits! • Qualidade acima da média Limonade tycoon Townsmen Ancient Empires – Pontos fortes: Complexidade aliada facilidade
  • 8. Mercado no brasil: Ainda engatinhando • Como comprar? Site das operadoras • Preço médio : 10 reais (!!!) jogos perfeitos para baixar esse custo : jogos 2D • Pouca variedade
  • 9. Bboy : Desenvolvendo jogos Wireless no Brasil • INdT em parceira com o C.E.S.A.R • Conceito • Você é Bboy, um anjo querendo provar seu valor e recebe a missão de resgatar almas capturadas em 3 planos no mundo terreno. Sua promoção para arcanjo depende do seu desempenho! • Referências: Incredible machines Lost Vikings Lemmings Krusty fun house Marsupilami
  • 10. Bboy: Equipe • Lerê: 9 pessoas ( 7 full time ) x 3 meses • Objetivo inicial: análise de processo • Equipe baseada no processo RUP Engenheiros de software: Mauro Vieira, Telmo Mota, Jorge Ae Designer gráfico: Francisco Spencer Game Designer: Marcelo Eduardo Gerente de projeto: Neildes vieira / Aldenor Martins Analistas de negócios: Ivan Patriota e Hilmer Neri
  • 11. Bboy: Ferramentas • Eclipse Ide : experiência da equipe com ferramenta foi crucial. FREEWARE • Nokia Developer Suite: Emuladores e conversores. FREEWARE • WTK 1.4 ( wireless Toolkit da sun ). FREEWARE • Ant & Antenna : build . FREEWARE • Proguard: Obfuscador . FREEWARE • WinCVS. FREEWARE • Desenvolvimento proprio : Editor de cenário
  • 12. Bboy : Processo de Criação GAME DESIGN : Criação do conceito , personagens e ambientação 1 e 2 semana : brainstorm para criação das regras macros. Gera : Documento de Game Design Cobre : Necessidades Técnicas e artisticas do jogo Opcional : protótipo em game Maker Atenção : às restrições.
  • 13. Bboy: Personagens Diabinhos : antagonista, tentam evitar que bboy salve as almas Almas : Cegas e bobas morrem de medo dos diabinhos Foco: Busca por personagens engraçados e carismáticos. Sempre.
  • 14. Bboy: Fluxo simplificado do jogo O jogador deve vencer 15 fases salvando o máximo que puder das 10 almas em cada uma delas. Detalhes que fazem a diferença: Cheat code pra abrir fases. Finais diferentes para 100% e menos que isso Não existe limite de vidas. O obstáculo mair do jogador é o próprio quebra-cabeça de cada fase. Tela de entrada Seleção de fases Fases 1 a 5 fases 6 a 10 fase 11 a 15 Fim 1 Fim 2 O jogo mescla ação com puzzle Bboy deve correr a fase atrás de itens, protegendo sempre as almas, até que possa montar o caminho perfeito para que elas possam escapar.
  • 15. Bboy: Ambientação Criar ambientes diferentes torna a experiência menos repetitiva e envolve pouco trabalho do time de programadores. Utilizando os 3 ambientes chegamos ao total de 15 fases. 29 tiles de 16px 20 tiles de 16px 23 tiles de 16px
  • 16. Bboy: Evolução gráfica da ambientação Foco no alvo: Divertido, carismático, estilo cartoon, não agressivo.
  • 17. Bboy: Level design Criar fases com progressivo aumento da dificuldade. Não desanimar o usuário com fases impossíveis. Tarefa demorada e complicada. Perdura por todo projeto Ferramenta própria criada : Level Editor em Dhtml ( 2 dias )
  • 18. Bboy: Level design Gerar fases com progressivo aumento da dificuldade. Não desanimar o usuário com fases impossíveis. Tarefa demorada e complicada. Perdura por todo projeto Ferramenta propria gerada : Level Editor em Dhtml ( 2 dias )
  • 19. Bboy: Level design Exemplo de projeto de fase
  • 20. Bboy: Recursos de imagens Grande quantidade de imagens necessárias: Observar limite ( geralmente da operadora )
  • 21. Bboy: O processo • Desenvolver jogo pra celular pede um processo enxuto, rápido e flexivel. • RUP se mostrou inadequado pro jogo • Sendo que em diversos momentos o projeto chegou a parar por culpa do processo, e os documentos do RUP foram pouco utilizados. • Deve se ter em mente: Um processo simples, que se adeque a qualquer tipo de jogo, pois cada estilo tem suas particularidades e vão pedir documentos diferentes. • No final um processo customizado mesclando alguns documentos do RUP e algumas filosofias do XP, foi criado e utilizado. • Comunicação é extremamente importante no projeto. Toda equipe deve conhecer bem o jogo e tudo que se almeja com o produto. • Mais sobre processo desenvolvimento na Revista: MundoJava
  • 22. Bboy: Tecnologia • Escolha da plataforma: Symbian ou Java? – Por quê java? Grande expertise do C.E.S.A.R Prazo Curto e orçamento limitado Foco: analisar o processo de desenvolvimento jogos. Facilidade de desenvolvimento Possibilidade de porte para outros aparelhos Desvantagens : Performance Limitaçoes : sons, efeitos etc. Memória controlada pelo garbageCollector
  • 23. Bboy: Lidando com as limitações • Desenvolver pra celular é lidar com severas limitações: 1. Memória 2. Armazenamento 3. Processamento 4. GUI
  • 24. Bboy: Lidando com as limitações • Memória ( execução ) Heap varia de 128kb até 10 megas Imagens coloridas : 2 Bytes/cor *W*H+68 bytes Ex: imagem 128x128 ( ~5kb em disco ) : 32kb no heap!!! Solução: Reutilização de imagens, DirectUtils da nokia.
  • 25. Bboy: Lidando com as limitações Armazenamento ( em java ) Somente RMS. Limite pequeno em vários aparelhos ( 20kb ) Não pode salvar no sistema de arquivos Média de tamanho de .Jars = 64kb Processamento Grande variação do poder de processamento Series 60 : processadores ARM 100 mhz : sem suporte a ponto flutuante Bboy : Grande complexidade de redesenho, e grande numero de entidades na tela : ir até o limite da kvm
  • 26. Bboy: Lidando com as limitações GUI – Interface Gráfica Diferentes celulares podem ter diferentes implementações Ex: 7650 3650 e Ngage
  • 27. Bboy : Interface com o usuário 3650
  • 28. Bboy : Interface com o usuário 7650
  • 29. Bboy : Interface com o usuário Ngage
  • 30. Bboy: Lições aprendidas • Se Precisa de alta perfomance, bluetooth ou outro recurso do sistema na serie 60 utilize C++ nativo • GC não funciona corretamente. Efeturar controle severo da memória : memory status • Teste no aparelho final sempre : 7650 tem RAM do que o 3650 • Utilizar Menos Orientação a objeto : menos classes, evitar packages • Evitar uso de intefaces, metodos sincronizados e Strings • Cacheie a maior parte dos elementos
  • 31. Bboy: Lições aprendidas • Quando utilizar jogos com tiles evitar utilizar todo o canvas • Utilize tiles maior que 16x16 • Otimize seu metodo draw para evitar flicks • Midis consomem muita memória • Tons com oitavas baixas ( 0 ) não tocam com volume satisfatório • Evitar uso desnecessário de imagens • Controlar a equipe e gerentes para não se repetir : • “ Ah seria ótimo se ele pudesse voar...”
  • 32. Bboy : Em ação!!!
  • 33. If( Perguntas ){ goTo(“FORUM”) } OBRIGADO! Marcelo Eduardo Moraes Marcelo.e.oliveira@indt.org.br