DESENVOLVIMENTO DE JOGOS COM TECNOLOGIAS MÓVEIS Odmir Fortes Menezes Caldas Filho1 Francisco Emanuel Duarte2 Valderi Vieira Junior3 FA7 – Faculdade 7 de Setembro Curso de Sistemas de Informação, Célula Acadêmica de Jogos, GIGA – Giga Is a Great Acronym. Rua Alm. Maximiniano da Fonseca, 1395 - Eng. Luciano Cavalcante – CEP 60811 – 020 Fortaleza - CE - Brasil [email protected], [email protected] , [email protected] RESUMO: No cenário brasileiro e mundial o mercado de softwares para dispositivos móveis vem demonstrando um desempenho satisfatório, e uma das áreas que chama atenção é a de produção de jogos. Outrora pouco explorada, devido aos recursos escassos, este nicho tecnológico vem ganhando destaque entre os desenvolvedores para dispositivos móveis. As empresas de telefonia celular vêm explorando cada vez mais esse tipo de negócio. Este artigo busca compreender o mecanismo de desenvolvimento de jogos para estes dispositivos, descrever as principais tecnologias disponíveis na área, e refletir sobre o mercado de trabalho, citando pontos positivos e negativos desta abordagem de desenvolvimento. Palavras-chave: desenvolvimento de jogos, dispositivos móveis, tecnologia móvel. ABSTRACT: In the current Brazilian and worldwide economic scenario, the mobile software business has been showing satisfactory results, and one of the most promising areas is the game development. Once a mostly unexplored area, due to scarce resources this technologic niche is gaining more attention among mobile developers. The mobile phone companies have been investing in this area of development. This article aims to comprehend the methods behind the mobile game development, describe the main technologies available in this area and discuss the positive and negative points of this development approach. Keywords: game development, mobile device, mobile technology 1 INTRODUÇÃO Embora tenha surgido em 1949 no laboratório Bell, nos Estados Unidos (EUA), somente nas ultimas décadas o celular ganhou popularidade e vem apresentando uma evolução considerável, em termos de processamento, armazenamento, conectividade e interação com o usuário. Com esse potencial desenvolvido, os dispositivos móveis têm suportado softwares mais robustos e complexos. Segundo Leandro (2009), em 2008 foi registrado mais de US$ 1 trilhão de faturamento com a telefonia mundial e, em 2009, já existiam cerca de 3,5 bilhões de aparelhos celulares e mais de quatro bilhões de assinantes. O celular tornou-se o aparelho eletrônico mais difundido no planeta, superando inclusive eletrodomésticos como a televisão. Diversas mídias tem se agregado à telecomunicação móvel, como músicas, vídeos, serviços de mensagem, conectividade com a internet e jogos eletrônicos. No Brasil, o desenvolvimento dessas aplicações tem mostrado grande potencial até mesmo na indústria de jogos, ao contrário do que ocorre em outras plataformas como computadores pessoais (PCs) e consoles. Em comparação com estas plataformas, aplicativos móveis sofrem menos com a pirataria, e exigem um investimento menor, demonstrando viabilidade para desenvolvimento e comercialização: O mercado convencional de games (para consoles) enfrenta um problema grave de pirataria, com índice de quase 100% no Brasil [...] Esse foi um dos motivos para investirmos no móbile. É um mercado com crescimento sustentado de 18% ao ano. (TELESINTESE, 2006). Originalmente constituídos por gráficos limitados, sons pouco trabalhados e enredo simples, as aplicações de jogos para dispositivos móveis evoluíram e hoje, podem conter trilha sonora bem acabada, enredo elaborado, gráficos complexos e até mesmo possuir modelos tridimensionais (3D), como apresentado na Figura 1. Figura1. Jogo elaborado para celular. (JOGOSPARACELULAR, 2010) Franco, Cavalcante e Oliveira (2004, p. 2) explanam que: No entanto, os dispositivos móveis atuais apresentam entre si características muito particulares, possuindo diferente quantidade de memória disponível para os aplicativos desenvolvidos, capacidade de processamento e sistemas operacionais. As características citadas contribuem para o uso de tecnologias que funcionem como um meio intermediário entre o dispositivo e o software: os midlewares ou plataformas, como são chamados, têm a responsabilidade de fazer 2 essa ligação, permitindo ao desenvolvedor criar o código para o jogo, e portá-lo para diversos aparelhos móveis. Atualmente, existe um número considerável de midlewares para celulares, cada um com suas peculiaridades. Com isso, adentrar no mercado de trabalho com boas perspectivas tornouse algo tangível, o que incentiva, com uma frequência cada vez maior, a entrada de profissionais no mesmo. 2 ETAPAS DO DESENVOLVIMENTO DE JOGOS: O processo de desenvolvimento de jogos para celulares é semelhante ao usual em outras plataformas, pois passa pelas mesmas etapas. Contudo é importante verificar que “mídias diferentes exigem soluções diferentes” e que “no celular os jogos devem ser simples” (TATAGIBA apud VAN AMSTE, 2005), o que influencia totalmente a metodologia do projeto. São descritas, a seguir, as três fases principais do desenvolvimento de um jogo com foco nas tecnologias móveis: projeto do jogo (game design), arte e programação. A primeira fase, o projeto de jogo, é a etapa na qual as principais ideias do jogo são concebidas, essa é a fase mais importante do processo de criação, pois trata do planejamento do conceito do jogo, e todas as demais etapas de sua criação. Nela são definidas diretrizes importantes, como publico alvo, gênero, inovações, roteiro (caso possua), e outros. Esses elementos são mais tarde convertidos em um documento conhecido como Game Design Document, que é considerado a “bíblia” do jogo, onde são descritos exaustivamente todos os detalhes que este deverá possuir ou não. Esta etapa abrange um passo peculiar chamado de “projeto de fase” (Level Design), que trata da concepção das fases do jogo: como será o fluxo da ação, os objetos do cenário, os tipos de desafios em cada parte do jogo. É também o momento onde se complementa e juntam-se todos os outros elementos do projeto de jogo. O projeto de jogo é de importância crítica como ferramenta do planejamento do jogo: “[...] quanto mais tempo se utilizar para a fase de planejamento, mais será capaz de ter uma visão completa do produto, os problemas que poderão ocorrer e quais as soluções” (PERUCIA, 2005, p. 23). Na etapa de criação de arte, produzem-se todas as mídias do jogo, como: gráficos – arte conceitual, animação, modelos 3D (Figura 2); sonoros – música de fundo, efeitos especiais, dublagem e sons de teclado. Os elementos possuem características distintas, e possuem sua qualidade diretamente ligada ao público alvo e/ou objetivos do jogo. 3 Figura 2. Elementos Gráficos de um Jogo(jogosparacelular, 2010) Os elementos gráficos são divididos em duas vertentes, os gráficos bidimensionais (2D) e os 3D. A primeira constitui-se apenas em dimensões de altura e largura, respectivamente eixos “y” e “x”, sendo mais comuns nos jogos para celulares, devido à simplicidade para fazê-los e utilizá-los em conjunto com outros elementos da aplicação. Outra vantagem vem com a baixa necessidade de um hardware poderoso, pois os elementos em 2D não exigem grande processamento. Já os elementos em 3D, representam elementos com os eixos de altura, largura e profundidade e são mais complexos para serem criados. Contudo, possuem algumas vantagens na animação, pois seu trabalho é menos repetitivo e mais preciso. Esse tipo de gráfico não é muito comum em jogos para dispositivos móveis devido ao grande grau de processamento em relação aos gráficos 2D. Entretanto, os investimentos nessa tecnologia vêm crescendo. A terceira e ultima etapa, é a programação. É nela que se desenvolve o código responsável pela funcionalidade do jogo, e onde a lógica é vinculada aos gráficos e ao áudio para transformá-lo numa aplicação real. Existem diversas tecnologias para essa etapa, algumas livres, e outras proprietárias, cada uma com suas especificidades. Algumas destas tecnologias são descritas na próxima seção. 3 TECNOLOGIAS Das diversas tecnologias e plataformas para desenvolvimento de jogos para dispositivos móveis, alguns exemplos seriam: Java ME, BREW e Symbian (C++) conforme são apresentadas a seguir. 3.1. Java Micro Edition – Java ME A tecnologia Java ME foi originalmente criada para lidar com os constrangimentos associados à construção de aplicações para dispositivos de pequeno porte. Assim, foram definidos alguns princípios e, com a incorporação dos mesmos à Java ME, foi possível a criação de aplicativos Java capazes de executar em pequenos dispositivos com memória, display e capacidade de alimentação limitadas. De acordo com o site da plataforma Java ME (2010): 4 A plataforma Java ME é uma coleção de tecnologias e especificações que podem ser combinadas para construir um ambiente completo de RunTime Java que foi feito para atender às exigências de um dispositivo específico ou mercado. Isto oferece uma flexibilidade e coexistência de todos os intervenientes no ambiente, de forma transparente e cooperativa para no final oferecer uma experiência mais atraente para o usuário final. A tecnologia Java ME é baseada em três elementos: • Máquina Virtual Java (Java Virtual Machine – JVM): um grupo de bibliotecas básicos da máquina virtual Java original com possibilidades de utilização por uma ampla gama de dispositivos; • Perfil: um conjunto de APIs que suportam um conjunto mais estreito de dispositivos (GPS, máquinas de lavar, televisores, carros e celulares); • Configuração: um pacote opcional com um conjunto de APIs de tecnologias específicas que controlam algum recurso específico como gerenciamento de energia ou memória. O Java ME utiliza a configuração MIDP, que define um conjunto de funcionalidades disponíveis para uma família de dispositivos. Ao se utilizar essa configuração têm-se, entre outras, as seguintes vantagens em jogos (MIDP 2.0): • • • • Gerenciamento para sprites 1 ; Mapas de tiles 2 ; Manipulação de pixels em imagens; Checagem de colisão, A desvantagem dessa tecnologia é que cada marca de celular possui sua própria extensão, resolução e esquema de cor, o que dificulta a capacitação do profissional, forçando-o a programar para vários ambientes diferentes. Contudo, esse problema pode ser resolvido com laços comerciais entre empresas e o desenvolvimento de testes unificados. 3.2. Binary Runtime for Wireless Environment – BREW O BREW (Binary Runtime for Wireless Environment) que foi desenvolvido pela empresa criadora da tecnologia Code Division Multiple Acces (CDMA), a Qualcomm, permite que desenvolvedores independentes produzam aplicações para 1 Imagens animadas dos personagens de um jogo. Técnica em que uma imagem maior é formada a partir de pequenos pedaços da própria imagem, com fins de otimizar a renderização. 2 5 seus microcontroladores CDMA, difundidos nos aparelhos celulares que adotam esta tecnologia. Os jogos desenvolvidos são escritos em C/C++, utilizando a API do BREW. Uma grande gama dos aparelhos celulares existentes no mercado mundial dá suporte à versão 1.1 da API do BREW. As vantagens do BREW são: • Gerenciamento de sprites; • Mapa de tiles com possibilidade de tiles de diversos tamanhos; • Transformações geométricas, permitindo escalas, rotações e flipping de imagens; • API confiável: a API é certificada através de um processo denominado True BREW Testing, que visa garantir a qualidade e segurança da aplicação; • Possibilidade de acesso aos pixels de uma imagem DIB (Device Independent Bitmap); • Execução de MIDlets sobre BREW, através da utilização de uma máquina virtual Java. O modo de distribuição das aplicações se dá através do BREW Distribution System (BDS). Desta forma a Qualcomm mantém total controle sobre elas, realizando testes intensos antes que as mesmas sejam distribuídas ou vendidas. Uma das desvantagens desta tecnologia é a falta de dispositivos que suportem sua versão 2.0, onde estão integradas todas as vantagens supracitadas. Outro revés é o suporte reduzido à orientação a objeto. 3.3. SYMBIAN O Symbian (plataforma) é composto basicamente de três elementos: um Sistema Operacional (SO), um hardware e um ambiente de desenvolvimento. O sistema operacional do Symbian é denominado SymbiamOS e foi desenvolvido para aparelhos mais sofisticados (como smartphones e tablets inteligentes), pois agregam recursos que aparelhos celulares comuns não possuem. O Symbian OS é um sistema operacional com uma interface amigável e possui uma máquina virtual (KVM) compatível com JavaME/MIDP (biblioteca de funções). A vantagem dessa abordagem é que o Symbian utiliza recursos para que as aplicações não precisem ser refeitas completamente em outros aparelhos no mercado, sendo necessárias apenas pequenas alterações para satisfazer as necessidades de um aparelho específico. O SymbianOS foi criado a partir da iniciativa dos principais fabricantes de dispositivos móveis, ele conta com telefones de última geração além de um dispositivo dedicado a jogos (N-Gage). Utilizá-lo é o ideal quando se quer jogos de grande porte para dispositivos móveis. 6 Figura 3. Symbian OS (SymbianBrasil, 2005). Essa tecnologia é promissora, pois devido ao envolvimento das empresas, espera-se que no futuro os produtos que forem desenvolvidos sejam cada vez mais sofisticados e que o mercado continue em expansão. As aplicações para Symbian OS são desenvolvidas em C++ e foram feitas para ter acesso a todos os recursos presentes no dispositivo móvel como: chamadas de voz, envio de mensagens SMS, câmera digital, agenda de telefones do celular e outros. Essa característica, o torna bem atraente para os desenvolvedores de jogos que gostam de ter mais liberdade na criação de seus jogos. A seguir, apresentam-se outras vantagens de se utilizar o Symbian para o desenvolvimento de jogos: • Uma API para gerenciamento de entrada e saída flexível; • Manipulação direta de pixels (em contra partida não permite transformações geométricas, escalas, rotações e flipping de bitmaps, ou seja, o desenvolvedor tem que programar isso); • Suporte de áudio: é possível tocar arquivos nos formatos MIDI, WAV e AMR, além de possuir classes para gerenciar esta reprodução e permitir alterar parâmetros durante a execução como volume, pitch e outros; • Acesso a todas as formas de conexão dos dispositivos: GPRS, Bluetooth e SMS; • Kit de desenvolvimento (SDK) que provê as funcionalidades essenciais para a construção de aplicações. • Framework próprio para o desenvolvimento da maioria de seus jogos, o SymbG(r)aF. O ponto fraco desta tecnologia é o elevado custo do hardware, necessário para suprir as suas carências. O hardware precisa ser de grande porte para que se tenha um desempenho satisfatório. 3.4. Resumo das tecnologias De acordo com Ivo (2003, p.15), um resumo sobre as três tecnologias com seus principais recursos, a seguir na tabela: 7 Tamanho permitido para as aplicações Penetração no Mercado Instalação por download pela rede telefônica J2ME/MIDP 2.0 Symbian OS BREWa Poucos kilobytes (em geral, 64KB) Alguns megabytes Grande e em crescimento Pequeno e em crescimento Possível, mas evitado por causa do tamanho das aplicações Sim Alguns kylobytes, limitado apenas pela memória do celular Grande nos Estados Unidos e em crescimento Sim Sim Executa como códigoNão Sim nativo Linguagem de Java C++ C/C++ programação principal suportada Suporte a outras Não Sim, inclusive Java Sim, inclusive Java linguagens de programação Comunicação através de Sim, mas não é Sim Sim implementado em todos os sockets aparelhos Conexão via Infravermelho Não Sim Não ou Bluetooth Animação 2D Sim Sim Sim Animação 3D Não Sim Não Exibe Vídeos Não Sim Não Suporte a MIDI e WAV Sim Sim Sim Acesso a SMS Não Sim Sim Acesso à agenda e Não Sim Sim calendário do aparelho Efetua chamadas Não Sim Sim telefônicas API específica para Jogos Sim Não (só com framework) Não (só com framework) Quadro 1: Comparação das Principais Características de J2ME/BREW/Symbian De acordo com a tabela pode-se notar que, dependendo do jogo que se está desenvolvendo, pode-se utilizar de uma tecnologia ou outra. Exemplificando: se o intuito é fazer um jogo que exige muitos recursos do aparelho, opte pelo Symbian, mas se o jogo deve funcionar na maioria dos aparelhos móveis, o ideal é utilizar o Java ME. Assim, escolher a plataforma de desenvolvimento depende inteiramente de um estudo prévio sobre os recursos que serão utilizados no jogo (projeto de jogo) e qual público se quer atingir. 4 MERCADO DE TRABALHO O mercado de telefonia celular no Brasil é o quinto maior mercado mundial. Com isso o país “consolidou-se como um dos polos de produção de telefones celulares no mundo, sendo responsável por 7,4% da produção mundial” (KOZOVITS, 2009, p.7). Isso mostra que o Brasil é o país emergente com o maior potencial da América Latina e que existem pessoas dispostas a investir nesse segmento. Esses dados, logicamente, refletem no mercado de jogos para celular, visto que o público infanto-juvenil, que é o principal público alvo de jogos eletrônicos, também está entre os maiores consumidores de telefonia celular. O fato é reforçado também pelo ritmo sempre crescente da evolução da telefonia móvel, com aparelhos 8 com capacidade de processamento e armazenamento maiores, com mais funções, tecnologias de internet banda larga e a possibilidade de conteúdos extras, obtidos através de downloads. A abordagem específica dos jogos no mercado de telefonia móvel se dá por diversos fatores: • • • É um mercado complexo em relação à venda de música, vídeos, toques de celular e navegação WAP; Possui a tendência à fidelidade dos clientes e à formação de comunidades multiusuários; Não existe um monopólio de certos softwares no mercado, ou seja, um mesmo usuário pode possuir um jogo de uma empresa de grande porte e outro de pequeno porte, o que dá oportunidade a pequenos empreendedores no que se diz respeito à produção de jogos. Seguindo essa tendência, os desenvolvedores para plataformas móveis seguem a evolução dos aparelhos que tem maior aceitação do público. O desenvolvimento de jogos para celulares tem por parâmetro, em geral um aparelho específico para qual ele será desenvolvido, visto que ainda não há uma plataforma padrão entre os aparelhos móveis que permita uma portabilidade maior entre as diversas marcas e modelos. Cerca de 10% da base de celulares (mais ou menos 9 milhões) está capacitada tecnicamente para baixar jogos com qualidade (TELESINTESE, 2006). Essa margem com relação às limitações de configuração de hardware e distribuição dos jogos para os aparelhos celulares tende a aumentar. 5 CONSIDERAÇÕES FINAIS Atualmente, a perspectiva da indústria de jogos vem seguindo uma crescente curva de desenvolvimento e os jogos para celulares têm se destacado, especialmente no Brasil como um mercado viável e promissor. Diferente de outras plataformas, nas quais jogos de empresas poderosas e marcas famosas praticamente saturam o mercado, nos dispositivos móveis não há monopólios, as indústrias de pequeno porte podem concorrer com as grandes empresas e ainda possuir uma boa perspectiva. Além disso, a grande possibilidade de crescimento permite o surgimento de novos empreendimentos e atração de novos investidores. As técnicas para o desenvolvimento são semelhantes às utilizadas em jogos para computadores e consoles, passando inclusive pelas mesmas etapas. Contudo a peculiaridade destas aplicações distingue o desenvolvimento para celulares dos demais processos de desenvolvimento. 6 REFERÊNCIAS TELESINTESE. Games para celular: mercado em franca expansão no Brasil. Disponível em: 9 http://www.momentoeditorial.com.br/index.php?option=com_content&task=view&id= 3756&Itemid=46. Acessado em: maio. 2010. KOZOVITS, LAURO EDUARDO. Um Panorama do Mercado de Jogos e Mobile Entertainment (jan. 2009). Disponível em: http://www.jogos.etc.br/j2me/MercadoJogosCelulares.pdf. Acessado em maio de 2010. VAN AMSTE FEDERICK. Mercado de Games Brasileiro. Disponível em: http://usabilidoido.com.br/mercado_de_games_brasileiro.html. Acessado em: maio. 2010. Desenvolvimento de Jogos Digitais para Celulares. Disponível em: http://www.gamereporter.org/2006/12/desenvolvimento.de.jogos.digitais.para.html. Acessado em: maio. 2010. FERNANDES, T; DIAS, A. Processo de testes para desenvolvimento de jogos de celulares. Disponível em: www.cin.ufpe.br/~sbgames/proceedings/aprovados/23634.pdf. Acessado em maio. 2010. PERUCIA, A. S., BERTHÊM, A.C., BERTSCHINGER, G.L., MENEZES, R.R.C. Desenvolvimento de jogos eletrônicos – Teoria e Prática. São Paulo: Novatec, 2005. p. 23. LEANDRO, WANKES Projeção 2010-2020: tendências de mundo para a próxima década e o que será exigido dos profissionais. Disponível em: http://www.wankesleandro.com/2009/11/projecao-2010-2020-tendencias-demundo.html. Acessado em maio: 2010. FRAZÃO, I. N. Desenvolvimento de um framework para jogos sobre a plataforma BREW. Disponível em: www.cin.ufpe.br/~tg/2003-1/ifn.doc. Acessado em maio: 2010 OFLIARI, RICADRO DA SILVA. MOBILIDADE É TUDO. Disponível em: http://www.mobilidadetudo.com/. Acessado em maio: 2010. Java 2 Platform, Micro Edition (J2ME). Disponível em: http://java.sun.com/j2me/. Acessado em maio: 2010. Symbian Brasil. Disponivel em: www.symbianbrasil.com. Acessado em maio: 2010. Blog oficial da Vivo, Mercado de Games Vai Bem, Obrigada! Disponível em: http://www.vivoblog.com.br/mercado-de-games-vai-bem-obrigada.html. Acessado em maio de 2010. 10 HISAO, VINICIUS. Quer entrar no mercado de jogos mobile? (2007) Disponível em: http://www.gamecultura.com.br/midia/textosfp/gamedesign/168/418-quer-entrar-nomercado-de-jogos-mobile. Acessado em maio de 2010. 11