Mobile Game Case: Bboy in Heaven´s Mission

33

Transcript of Mobile Game Case: Bboy in Heaven´s Mission

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/371.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

– Pontos fortes: Complexidade aliada facilidade

Limonade tycoon Townsmen Ancient Empires

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 machinesLost VikingsLemmingsKrusty fun houseMarsupilami

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çãoGAME 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: PersonagensDiabinhos : antagonista, tentam evitar que bboy salve as almasAlmas : Cegas e bobas morrem de medo dos diabinhosFoco: Busca por personagens engraçados e carismáticos. Sempre.

Bboy: Fluxo simplificado do jogoO 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 issoNã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 fasesFases 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çãoCriar ambientes diferentes torna a experiência menos repetitiva e envolve pouco trabalho do time de programadores. Utilizando os 3 ambienteschegamos ao total de 15 fases.

29 tiles de 16px

20 tiles de 16px23 tiles de 16px

Bboy: Evolução gráfica da ambientaçãoFoco no alvo: Divertido, carismático, estilo cartoon, não agressivo.

Bboy: Level designCriar 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 designGerar 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 designExemplo de projeto de fase

Bboy: Recursos de imagensGrande 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 doprocesso, e os documentos do RUP foram pouco utilizados.

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

• No final um processo customizado mesclando alguns documentos do RUP ealgumas 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.RPrazo Curto e orçamento limitadoFoco: analisar o processo de desenvolvimento jogos.Facilidade de desenvolvimentoPossibilidade de porte para outros aparelhos

Desvantagens :

PerformanceLimitaç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ória2. Armazenamento3. Processamento4. 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 arquivosMédia de tamanho de .Jars = 64kb

ProcessamentoGrande variação do poder de processamentoSeries 60 : processadores ARM 100 mhz : sem suporte a ponto

flutuanteBboy : 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çõesEx: 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 [email protected]