Mobile Game Case: Bboy in Heaven´s Mission
Nike cold weather 2011 PointRoll Cr... by Mike Zarcone 693 views
1. 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
2. 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
3. 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
4. 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
5. 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
6. Sucessos Mundo a fora: Hits! • Qualidade acima da média Limonade tycoon Townsmen Ancient Empires – Pontos fortes: Complexidade aliada facilidade
7. 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
8. 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
9. 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
10. 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
11. 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.
12. 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.
13. 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.
14. 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
15. Bboy: Evolução gráfica da ambientação Foco no alvo: Divertido, carismático, estilo cartoon, não agressivo.
16. 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 )
17. 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 )
18. Bboy: Level design Exemplo de projeto de fase
19. Bboy: Recursos de imagens Grande quantidade de imagens necessárias: Observar limite ( geralmente da operadora )
20. 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
21. 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
22. Bboy: Lidando com as limitações • Desenvolver pra celular é lidar com severas limitações: 1. Memória 2. Armazenamento 3. Processamento 4. GUI
23. 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.
24. 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
25. Bboy: Lidando com as limitações GUI – Interface Gráfica Diferentes celulares podem ter diferentes implementações Ex: 7650 3650 e Ngage
26. Bboy : Interface com o usuário 3650
27. Bboy : Interface com o usuário 7650
28. Bboy : Interface com o usuário Ngage
29. 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
30. 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..."
31. Bboy : Em ação!!!
32. If( Perguntas ){ goTo("FORUM") } OBRIGADO! Marcelo Eduardo Moraes Marcelo.e.oliveira@indt.org.br