Andre Garzia's avatar

Referências Para Programação De Jogos No Firefoxos/html5

Esta acontecendo agora a hackathon de desenvolvimento de jogos para Firefox OS organizada pela Telefônica VIVO junto com a Qualcomm. Voce pode assistir a hackathon ao vivo clicando nesse link.

Para facilitar a vida dos participantes do evento, estou disponibilizando alguns links aqui que são do interesse de quem quer desenvolver jogos em HTML5 e mais especificamente para o Firefox OS.

Introdução

Os apps para Firefox OS são compostos de uma coleção de HTML5/CSS/JS que podem tanto ser hospedados no seu próprio servidor ou empacotado. Para entender um pouco mais sobre o básico de desenvolvimento de apps para Firefox OS, olhe os seguintes links:

Se você optar por criar um jogo hosted vale a pena aprender mais sobre appcache para disponibilizar o seu jogo offline.

Para validar o seu app manifest utilize o validador neste link.

Testando seu jogo

Utilize primeiro o simulador disponível nos complementos do Firefox aqui. Esse complemento deve ser instalado em uma versão atual do Firefox.

Para testar nos telefones, procure um de nós pelo evento.

Regulamentação do governo

O Governo Brasileiro exige que os jogos comercializados no país passem por uma classificação de faixa etária. Mais informações sobre o processo neste link do DEJUS. Mais especificamente, a ficha técnica de classificação indicativa para jogos eletrônicos. O procedimento é gratuíto e em teoria fica pronto em 20 dias (aka 45 dias).

APIs interessantes para jogos

Ao contrário dos apps comuns, jogos possuem necessidades bem especificas em termos de APIs.

Canvas

Para o Firefox OS quando se trata da construção de jogos com gráficos 2D, recomendamos a utilização da API canvas.

Entrada de dados

Além de mostrar coisas na tela do aparelho, é necessário lidar com a entrada de dados. O jeito mais comum é utilizando os touch events que estão documentados em Touch Events na MDN. Outra possibilidade são jogos controlados via acelerometro cuja a API esta neste artigo na MDN. Aviso, não testei essa API no Firefox OS não.

localStorage

Para salvar dados tais como high score, achievements você pode utilizar localStorage sendo que localStorage é uma API blocking, seu jogo vai parar de processar enquanto os dados são escritos ou lidos do storage. Para uma melhor performance, utilize uma API assíncrona como o IndexedDB.

Existe uma biblioteca para Firefox OS que é uma versão de API semelhante ao localStorage porém é assíncrona e construida em cima do IndexedDB, essa lib esta disponível aqui no Github.

Bibliotecas

Para jogos simples, você não precisa de nada além das APIs que já estão disponíveis no Firefox OS. Para projetos mais ambiciosos vale a pena utilizar uma biblioteca para evitar ficar reinventando a roda. Claro que se você é uma empresa produzindo vários jogos com uma equipe especializada você vai preferir construir sua própria biblioteca especifica para as suas necessidades mas para as outras pessoas que estão interessadas em conhecer as bibliotecas mais famosas para a criação de jogos com HTML5 eu vou colocar uma lista abaixo. A única biblioteca dessas que eu testei no Firefox OS e mesmo assim testei pouco é a CreateJS (mais especificamente a EaselJS que faz parte da CreateJS).

A utilização dessas bibliotecas fica por conta e risco dos participantes, eu não testei, so fiz a lista.

Ferramentas

Existem ferramentas muito legais para criação de games.

  • Texture Packer uma ferramenta ótima para criação de spritesheets/texture atlas.
  • bfxr ferramenta para criação de efeitos sonoros pros jogos.

Conclusão

Boa Hackathon! Se precisarem de alguma coisa, procurem a gente!

Links Relacionados:

Compartilhar