z

O que o Angry Birds tem a ver com o Flash?

O mais novo case queridinho pela comunidade HTML5 é o Angry Birds, um dos jogos mais famosos na plataforma mobile, agora disponível no seu desktop.

As estatísticas sobre o jogo impressionam, pra começar foi simplesmente o game mais baixado em 2010. Na sua versão paga, ele ocupa o topo da lista da Apple Store em, pelo menos, 68 países. Além de ser o jogo mais popular da Ovi Store, a loja de aplicativos da Nokia.

Durante a Google I/O que rolou essa semana em São Francisco, a Rovio, empresa que criou o jogo, anunciou o lançamento de uma versão especial que pode ser instalada diretamente no Google Chrome, na Chrome Web Store.

O jogo, de fato, é muito bom, a jogabilidade é ótima, o design muito bem elaborado e a implementação em HTML5 melhor ainda. Se você ainda não jogou corre lá!

chrome.angrybirds.com

Legal! Mas onde o Flash entra nessa história toda?

Pra saber é só desativar o Flash Player e tentar jogar novamente.

Estranho não? Por quê um jogo que não foi feito em Flash precisaria do Flash Player para rodar?

O que acontece é que a tag <audio> ainda não está muito preparada para jogos e aplicações profissionais de música.

O Ray Cromwell explica melhor.

[…] after the release of Angry Birds at Google I/O, people noticed that it was requesting Flash. Angry Birds is written in GWT and uses a GWT library written by Fred Sauer called GWT-voices.

This library not only supports HTML5 audio, but has fallbacks to Flash and even <bgsound> on IE6! There was speculation the Flash requirement was done for nefarious purposes (to block iOS) or because Chrome includes Flash, but the reality is, it was done both because Chrome has some bugs, and HTML5 <audio> just isn’t good for games or professional music applications. […]

cromwellian.blogspot.com

Games feitos em HTML5 ainda tem um belo caminho a trilhar. O Angry Birds é um ótimo exemplo de aplicativo feito puramente em HTML5, mas que ainda depende de bibliotecas do Flash para rodar. Muitos problemas gráficos foram resolvidos com WebGL, mas o áudio continua sendo um problema. Ainda bem que a Google está trabalhando na “Web Audio API”, conforme anunciado na lista de discussão da W3C:

I’d like to announce that Google Chrome now supports the Web Audio API. For now, it needs to be enabled in “about:flags” and runs on Mac OS X (Windows and Linux are nearly ready!). I’ve updated the demo page with a link to the binary:

http://chromium.googlecode.com/svn/trunk/samples/audio/

[…]

lists.w3.org

Bônus

Tá rolando pela internet um hack que libera todos os níveis do jogo, é só colar essa linha no navegador e pronto:

javascript: var i = 0; while (i&lt;=69) { localStorage.setItem('level_star_'+i,'3'); i++; } window.location.reload();

Fala sério, depois de ter lido o tutorial sobre HTML5 Local Storage até você poderia ter escrito esse hack né?

Referência

Esse artigo foi inspirado no link que o Marcus Sá (@sa_vini) postou em uma thread que tá rolando na lista html5-css3-brasil entitulada:

“Angry Birds - Flash morreu faz tempo”

Na qual volto a dizer que uma afirmação dessa só ressalta a falta de conhecimento tanto de Flash quanto de HTML5.