Desenvolvimento

27 nov, 2013

Crie jogos 2D com Sprite Kit

Publicidade

Artigo escrito com colaboração de Erick Zanardo*

Você morre de vontade de criar seu próprio jogo, mas sente calafrios só de pensar na complexidade do desenvolvimento? Teve uma ideia brilhante, mas desanima ao imaginar toda a física necessária para simular o lançamento de uma mísera bola? Você é apenas um fã de games que gostaria de ter seu próprio jogo rodando no seu iPhone ou iPad? Caso tenha respondido sim a alguma dessas perguntas, conheça o Sprite Kit.

O Sprite Kit surgiu em 2013 como parte do SDK do iOS 7, a nova versão do sistema operacional para dispositivos móveis da Apple. Trata-se de um framework nativo criado para simplificar o desenvolvimento de jogos 2D para as plataformas de software da Apple.

Jogos 2D? Mas já estamos em 2013! Apesar disso, os jogos 2D ainda reinam no universo mobile. Eles são simples, (mais) baratos e possuem um time-to-market inegavelmente menor, pois podem ser concebidos com mais facilidade. Em um universo tão ágil como o dos aplicativos móveis – é sabido que cada usuário dificilmente passa mais do que trinta minutos em um único aplicativo -, a natureza casual dos jogos 2D faz com que eles ainda sejam a opção preferida dos desenvolvedores. Mas por que falamos tanto em jogos móveis?

De acordo com pesquisas e relatórios financeiros, mais da metade de todos os usuários de telefones móveis dos EUA utilizarão jogos em seus dispositivos em 2013. Isso equivale a cerca de 125,9 milhões de pessoas (39,8% da população total dos Estados Unidos). Outras projeções estimam que o mercado de jogos em smartphones vai atingir uma receita de cerca de 13,9 bilhões de dólares em 2016.

De fato, basta acessar a seção de aplicativos mais rentáveis das duas maiores lojas virtuais de apps móveis (Apple App Store e Google Play) para verificar que mais de 90% deles são jogos. Se você acredita que a próxima galinha dos ovos de ouro é o mercado dos jogos 2D móveis, você tem alguns bons motivos para isso.

Características do Sprite Kit

O framework provê uma infraestrutura completa para o desenvolvimento do seu jogo. Entre as funcionalidades principais estão uma camada de abstração sobre o loop de renderização, um sistema robusto de simulação de física, suporte nativo à playback de mídia e um editor integrado de efeitos especiais. Estes alicerces permitem que o desenvolvedor possa se focar nos atributos de um jogo que mais geram valor de negócio.

Uma das grandes facilidades oferecidas pelo framework é a abstração do loop de renderização. O código do seu jogo é responsável somente por atualizar os atributos dos componentes da tela: o cerne do loop de renderização é gerenciado pelo Sprite Kit, o que significa que o desenvolvedor não precisa se preocupar com o código necessário para desenhar os frames do jogo.

Por ser uma feature nativa do SDK oficial, o Sprite Kit integra-se muito bem ao Xcode (ambiente de desenvolvimento padrão da Apple). A ferramenta oferece templates para criação de novos projetos já com uma base de código adaptada para iniciar o desenvolvimento de um jogo. Existe também um editor embarcado de partículas e efeitos especiais, além de suporte à criação de mapas de texturas.

Todo jogo precisa pelo menos de um suporte básico ao playback de áudio e vídeo, e isto também está presente no framework. A API do Sprite Kit vem com adições para tocar áudio e utilizar mini-players de vídeo como componentes de tela (!) que podem ser animados, sofrer interações físicas e colidir com outros elementos.

Talvez um dos maiores destaques do framework, contudo, seja o sistema de simulação de física. Estabelecendo algumas convenções e criando um modelo fiel à física newtoniana que estamos acostumados no mundo “real”, o framework automatiza grande parte dos cálculos e faz praticamente todo o trabalho de considerar as interações físicas entre objetos ao desenhar os frames do seu jogo. Fica a cargo do desenvolvedor apenas a descrição dos corpos na tela e das forças que atuam sobre eles, uma tarefa simples que usa noções básicas de matemática vetorial.

Vantagens e desvantagens

Como qualquer ferramenta, o Sprite Kit possui vantagens e desvantagens. De pontos fortes podemos citar a camada de abstração sobre o loop de renderização, poupando o desenvolvedor da dificuldade de desenhar os componentes de tela a cada frame. Além de ser um sistema completo de simulação de física, intuitivo e fácil de usar. Não há a necessidade de dependências ou bibliotecas externas, pois o Sprite Kit é parte do SDK do iOS 7, e possui ferramenta integrada para criação de efeitos especiais e mapas de texturas.

Porém, apesar de oferecer relativa flexibilidade para o desenvolvedor “fugir” da abordagem convencional, o Sprite Kit é um tanto “engessado” e não facilita a inclusão de customizações para o processo de renderização (e.g. possibilidade de escrever código OpenGL próprio). Entre as desvantagens deste framework destaca-se a engine de renderização que não suporta gráficos 3D, ao contrário de outros frameworks presentes no mercado. O sistema de detecção de contatos e colisões trabalha com máscaras de bits e é demasiado complexo para navegantes de primeira viagem. Ao utilizar o Sprite Kit, você estára preso ao ecossistema de software da Apple (iOS e Mac OS X), e o framework acabou de ser lançado e ainda é difícil encontrar recursos e códigos confiáveis de exemplo.

Não podemos esquecer, contudo, que o framework não é uma bala de prata e não é a solução definitiva para o desenvolvimento de jogos 2D quando o alvo é o ecossistema da Apple. O mercado de aplicativos móveis para iOS é bastante maduro e existem diversas outras alternativas já consolidadas que devem ser levadas em conta quando se analisa a viabilidade de um jogo.

A Apple ofereceu a seus desenvolvedores uma solução completa e empolgante que representa uma alternativa muito sólida para quem deseja mergulhar na nova versão do iOS como um desenvolvedor de jogos. O Sprite Kit deve ser considerado e observado com atenção, especialmente se você é um desenvolvedor de jogos novato.

Se você chegou até este ponto e nunca teve contato com o desenvolvimento de jogos, não se acanhe! O Sprite Kit facilita muitas tarefas e faz com que a experiência seja mais prazerosa. Criar jogos é tão (ou mais) divertido quanto jogá-los.

*Erick Zanardo é analista de software na Dextra desde 2011 atuando como desenvolvedor de aplicações web. Bacharel em Ciência da Computação pela Faculdade Anhaguera de Indaiatuba é um Gamer declarado e grande entusiasta das mais diversas áreas do desenvolvimento de software, entre elas Cloud Computing, Game Development e Open Source projects.