Desenvolvimento de Games Mobile: uma visão geral - PlayReplay
por Fabiano Naspolini 29 de junho de 2015 - 11:58 30 de junho de 2015 - 15:12 0
Depois de dar algumas dicas sobre como se tornar um desenvolvedor de jogos digitais, hoje trago um pouco desse segmento na área de games, pois é um mercado significativo, tem uma certa facilidade de produção para jogos de porte menor, além de ser um ponto de partida para iniciantes na área de gamedev.
Como está o mercado mobile de games?
Analisando alguns dados internacionais, dentre os dispositivos mais usados para jogar, 35% são os smartphones, segundo dados da ESA de 2015. Os jogos mais jogados em conexões wireless e smartphones são os jogos sociais (31%), puzzles/jogos de cartas/tabuleiro/game shows (14%) e ação (5%). Os outros representam fatias menores que o terceiro.
Já o SEBRAE nos traz mais informações da Newzoo (2014), empresa de consultoria e pesquisa de mercado em jogos. As projeções para 2016 de crescimento no uso de celulares e tablets é de, respectivamente, 18,8% e 47,6%. Também traz uma perspectiva de queda de 6,4% em uso de PC como plataforma, além de 15% de queda no uso de consoles portáteis.
São apenas alguns dados positivos sobre esse mercado. O que se observa é que o mercado mobile cresce e toma uma frente muito importante na indústria de games, até mesmo dos consoles portáteis. Isso é algo que já percebíamos, mas o estudo nos traz um olhar que reforça melhor.
Potencial existe para produzir, facilidade de custos mais acessíveis também. Só é importante ressaltar que, como toda a produção de jogos, vai exigir a mesma dedicação, qualidade e promoção dele para se destacar dos vários que já existem.
Quais os Desafios do Desenvolvimento Mobile?
Os desafios de quem trabalha com esse tipo de plataforma são vários e existem muitas preocupações que são inerentes a ela somente; outras comuns a outras plataformas de desenvolvimento.
Alguns desafios que valem a pena serem pensados:
1. Desempenho: os aparelhos móveis evoluíram muito em termos de hardware, mas não quer dizer que vamos negligenciar preocupações nesse aspecto. Essa preocupação tem que ser pensando no smartphone mais fajuto até o mais potente. Afinal, pensando em maximizar vendas, o jogo precisa ser portável para vários aparelhos sem apresentar bugs de qualquer tipo. Boas práticas de programação e escolher as ferramentas adequadas ao trabalho podem ajudar em muito nisso;
2. Tamanhos de tela: pelo mesmo motivo de desempenho, existem variações de tela nos dispositivos que devem ser levadas em conta. Uma coisa é o espaço de tela de um iPad; outra em uma tela 320 x 480 pixels. Existem algumas formas de automatizar esse processo, mas é necessária revisão e preparo do programador e do designer gráfico. Também já pensar no projeto em HUDs (Head-up Displays) e componentes que sejam usuais para qualquer tipo de tela;
3. Multiplataforma: aqui nem entro na situação de portar para outros dispositivos, mas penso no jogo que irá ser lançado para essa plataforma, mas também console, PC e por aí vai. Existem engines que se preocupam com isso, mas nem falo sobre o aspecto técnico, mas sim o de utilização dos recursos inerentes àquela plataforma. Vejo muitos jogos que eles portam o jogo igual de smarthphone para console, igualzinho. Inclusive com gráficos pixelados. E fica com uma qualidade e jogabilidade ruim. Não foi pensada para aquela plataforma, para as particularidades dela. Esse mínimo de cuidado é necessário;
4. Portabilidade para vários Sistemas Operacionais (SOs): o princípio é o mesmo do anterior. Cada sistema operacional tem a sua forma de trabalhar, seja Android, Windows ou iOS. Existem também muitos engines que já portam para diversos sistemas como Unity e Game Maker. Isso ajuda e muito, mas muitas vezes são necessárias adaptações ou programar em baixo nível para conseguir atender a essa demanda de funcionamento em vários SOs;
5. Pensar no usuário: a plataforma é diferente, os recursos oferecidos também (como tela touch, acelerômetro), os ambientes que ele vai jogar são diferentes, desde uma fila de banco até em casa, o público que joga também é. São muito comuns jogos nessa plataforma mais curtos, com partidas rápidas. Não que isso seja uma regra, mas faz sentido, pois a maioria que procura jogar no smarthphone quer passar o tempo. Estão em algum lugar longe de acesso de outras plataformas fixas. A outra é usar os recursos inerentes à plataforma. Tem jogos de luta que adaptam comandos de combos de forma mais fácil em smarthphones. Particularmente acho interessante, pois é muito complicado você conseguir fazer meia lua e outros comandos nesse tipo de dispositivo;
6. Prever situações específicas da plataforma: o celular tocou. O jogo irá pausar? Save? Já existem métodos prontos para isso, mas não o menu que irá surgir ao jogador, as ações que ele pode fazer quando esse evento ocorre… Essas preocupações podem frustrar quem esteja jogando.
Claro que existem outras preocupações, mas essas já nos dão uma noção dos desafios a serem enfrentados em dispositivos móveis.
Veja que falamos de aspectos técnicos, mas também outros do projeto de jogos digitais. Pensar antes, entender como se pode desenvolver para esses dispositivos é fundamental. Um livro legal que recomendo sobre isso é Padrões de Design para Aplicativos Móveis. Não é específico de games, mas ajuda a entender esses pequenos detalhes.
Softwares de Desenvolvimento Mobile
A variedade de engines (motores) para jogos é grande. Existem aqueles que não exigem conhecimento em programação, mas apenas em lógica de programação como o Construct 2 e GameSalad. Basta você programar os eventos, organizar os cenários e o jogo acontece. Existem bastantes recursos e já vi vários jogos muito bons sendo feitos nessas plataformas.
Já outros têm alguns recursos que já estão prontos para serem usados também, mas é necessário implementar alguns aspectos e permitem mais personalização em código mesmo. Nesse caso, já é necessário conhecer linguagens de programação. Citamos aqui Unity, Game Maker e Cocos2d-x.
Quanto à linguagem de programação, vai depender da sua necessidade. Nós já trabalhamos com Java e hoje estamos usando o Cocos2d-x em linguagem C++. Aliás, em termos de desempenho essa última ajuda bastante.
Onde vendo? Lojas para Publicação dos Games
Hoje existem alguns principais portais para publicação de jogos. Vou citar algumas dessas lojas e particularidades:
– Google Play: publicação de jogos no sistema operacional Android. O processo de publicação eu considero o mais tranquilo. Eles deram uma melhorada nos critérios de avaliação dos aplicativos, mas ainda está mais fácil que outros mais exigentes. De maneira bem simplificada, basta criar uma conta, realizar um pagamento único de 25 dólares e obedecer alguns critérios do jogo não ser de azar, por exemplo. Mais detalhes você encontra no site Developers deles;
– App Store: publicação de jogos no sistema operacional iOS. Eu os considero mais criteriosos na avaliação dos aplicativos. Submetemos já games com eles e, após uma semana, eles voltavam com minúcias de erros importantes. O pagamento deles é anual no Programa de Desenvolvimento da Apple por 99 dólares. Mais informações do programa deles está no site Developers da Apple;
– Windows Phone Store: publicação de jogos no sistema operacional Windows Phone. Não tenho experiência em publicar nessa plataforma, mas, conversando com quem já possui, eles são bem criteriosos se você quer integrar o seu jogo à Xbox Live. Senão tranquilo. Também uma conta Microsoft, paga-se uma taxa única de 20 dólares e manda ver. Mais informações constam no site Developers da Microsoft.
É importante ressaltar que há políticas de preços e critérios que mudam, se você é pessoa física ou jurídica. Por exemplo, se é empresa, tem que muitas vezes mandar contrato social, responsável legal tem que falar com eles lá fora para garantir veracidade das informações, valor pago é maior entre outros detalhes.
Mesmo assim considero bem acessíveis os valores para publicar o seu aplicativo lá. Vale a pena explorar bem e ver essas possibilidades.
Mostramos aqui uma visão geral do desenvolvimento mobile, tanto o mercado, desafios no desenvolvimento, plataformas para se produzir, além de lugares para vender o seu jogo.