desenvolvimento de jogos com javascript
DESCRIPTION
desenvolvimento de jogos com javascriptTRANSCRIPT
![Page 1: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/1.jpg)
Desenvolvimento de jogos,
Willian Molinari (a.k.a PotHix)
Javascript e HTML5
![Page 2: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/2.jpg)
Grupo de usuários Ruby de São Paulo
![Page 3: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/3.jpg)
Equipe de Cloud Computing
![Page 4: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/4.jpg)
LinguagensVárias! :)
![Page 5: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/5.jpg)
Frameworks e LibsVarios! \o/
Akihabara
![Page 6: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/6.jpg)
Sou só um cara normal
![Page 7: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/7.jpg)
Meu primeiro gameGame contest Itaú cultural
Criado por: @PotHix / @CrociDB
![Page 8: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/8.jpg)
C++Allegro
Linux / Windows
![Page 9: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/9.jpg)
Vencemos!
![Page 10: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/10.jpg)
Mas depois...
![Page 11: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/11.jpg)
![Page 12: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/12.jpg)
Código difícil
![Page 13: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/13.jpg)
Difícil distribuição
![Page 14: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/14.jpg)
Difícil portabilidade
![Page 15: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/15.jpg)
Malloc()
![Page 16: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/16.jpg)
![Page 17: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/17.jpg)
Claro que não!
![Page 18: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/18.jpg)
![Page 19: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/19.jpg)
HTML5*Canvas WebGL
WebSockets Offline cache
Audio
Local Storage
SVGfileSystem
![Page 20: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/20.jpg)
Canvas<canvas width="100" height="100" id="game"></canvas>
![Page 21: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/21.jpg)
var ctx = document.getElementById("game").getContext('2d');
ctx.fillRect(25,25,100,100);
ctx.clearRect(45,45,60,60);
ctx.strokeRect(50,50,50,50);
Canvas
Rect
![Page 22: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/22.jpg)
arc()
Canvas
ctx.arc(x,y,radius,startAngle,endAngle, anticlockwise);
![Page 23: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/23.jpg)
Linhas e curvas
Canvas
quadraticCurveTo(), belzierCurveTo(), lineTo(), moveTo()
![Page 24: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/24.jpg)
ctx.beginPath();
// Circulo maiorctx.arc(75,75,50,0,Math.PI*2,true); ctx.moveTo(110,75);
// Bocactx.arc(75,75,35,0,Math.PI,false);ctx.moveTo(65,65);
// Olho direitoctx.arc(60,65,5,0,Math.PI*2,true);ctx.moveTo(95,65);
// Olho esquerdoctx.arc(90,65,5,0,Math.PI*2,true);ctx.stroke();
Canvas
Desenho a mão livre
![Page 25: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/25.jpg)
Imagens
Canvas
drawImage(img,cropx,cropy,croptx,cropty,scalex,scaley,cordx,cordy)
![Page 26: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/26.jpg)
image = new Image();image.src = "source/da/imagem.jpg";
// Sempre esperar a imagem carregar antes de colocar no canvasimage.onload = function(){ /* o código do canvas aqui */}
// Apenas a image e sua posiçãocanvas.drawImage(image, x, y);
// A imagem, suas posições e seu tamanhocanvas.drawImage(image, x, y, width, height);
/* A imagen, onde deve ser cortada, qual vai ser o tamanho do corte, o tamanho da imagem e onde ela deve ser colocada */canvas.drawImage(image, cropx, cropy, crop_tam_x, crop_tam_y, scalex, scaley, coordx, coordy);
Canvas
Exemplo de drawImage
![Page 27: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/27.jpg)
SVGScalable Vector Graphics
![Page 29: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/29.jpg)
Porque não é usado?Falta de editores, suporte e outras coisas
SVG
![Page 30: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/30.jpg)
WebGLOpenGL rodando no browser
![Page 31: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/31.jpg)
WebGL
Quake II GWT: http://code.google.com/p/quake2-gwt-port/
WebSonic: http://forums.sonicretro.org/index.php?showtopic=24965 WebGL Rage: http://code.google.com/p/webgl-ios-rage/
![Page 32: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/32.jpg)
Acesso direto a GPU
WebGL
![Page 33: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/33.jpg)
Drivers
WebGL
![Page 34: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/34.jpg)
Segurança
WebGL
![Page 35: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/35.jpg)
WebGL
http://people.opera.com/~emoller/stagedemohttp://people.opera.com/~emoller/demo2
![Page 36: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/36.jpg)
Offline cache
![Page 37: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/37.jpg)
Cache Manifest
Offline cache
<html manifest="/cache.manifest">
![Page 38: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/38.jpg)
CACHE MANIFEST# revision 1
NETWORK:http://www.google-analytics.com
FALLBACK:resources/audio resources/audio/silence.mp3
CACHE:src/maingame_packaged.jsresources/audio/silence.mp3resources/sprites.png
Offline cache
Exemplo.manifest
![Page 39: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/39.jpg)
WebSockets
![Page 40: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/40.jpg)
var connection = new WebSocket('ws://pothix.com/websocket');
connection.onopen = function () { connection.send('funciona!'); // Envia a mensagem para o servidor};
connection.onerror = function (error) { // Código para tratar erro de conexão};
connection.onmessage = function (e) { // Código para tratar o que fazer em cada mensagem};
connection.onclose = function (e) { // Código para tratar quando a conexão é encerrada};
WebSockets
Exemplo WebSocket
![Page 42: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/42.jpg)
WebSockets
![Page 43: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/43.jpg)
Tag Audio<audio><source src="test.mp3" type="audio/mpeg" /></audio>
![Page 44: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/44.jpg)
Latencia
Audio
Velocidade de resposta não é boa em todos os casos.
![Page 45: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/45.jpg)
Audio
Workaround?
![Page 46: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/46.jpg)
Compatibilidade
Audio
Mobile ainda é um problema.
![Page 47: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/47.jpg)
Local StorageChega de guardar informações em cookies
![Page 48: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/48.jpg)
// Criando um novo item no localStoragelocalStorage.setItem("myGame","The amazing HTML5 programmer")
// Retornando um item do localStoragelocalStorage.getItem("myGame")# => "The amazing HTML5 programmer"
// Criando com outra SyntaxlocalStorage["myGame.stage"] = 1
// Retornando com outra Syntax. Tudo é armazenado como string.localStorage["myGame.stage"]# => "1"
localStorage
Exemplo localStorage
![Page 49: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/49.jpg)
fileSystemQuase nenhum suporte ainda, mas vai ser muito útil!
![Page 50: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/50.jpg)
Game frameworksPelo menos algumas delas.
![Page 51: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/51.jpg)
http://impactjs.com
![Page 52: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/52.jpg)
http://playbiolab.com/http://www.phoboslab.org/ztype/
![Page 53: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/53.jpg)
Partículas
ImpactJS
![Page 54: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/54.jpg)
Suporte
ImpactJS
![Page 55: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/55.jpg)
Map editor
ImpactJS
![Page 56: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/56.jpg)
Física basicaE exemplos de integração com a lib Box2D
ImpactJS
![Page 57: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/57.jpg)
Documentação
ImpactJS
![Page 58: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/58.jpg)
Bons exemplos
ImpactJS
![Page 59: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/59.jpg)
Script para versão .min
ImpactJS
![Page 60: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/60.jpg)
Paga :(US$ 99
ImpactJS
![Page 61: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/61.jpg)
AkihabaraCriado por Francesco Cottone (KesieV Norimaki)
Akihabara
![Page 62: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/62.jpg)
Vários demoshttps://github.com/akihabara
Akihabara
![Page 63: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/63.jpg)
Capman
Leave me alone
Solitude TSpin
TloS
![Page 64: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/64.jpg)
Open Source \o/https://github.com/akihabara/akihabara
Akihabara
![Page 65: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/65.jpg)
Map editor
Akihabara
AkibaKa: Ainda em versão alpha
![Page 66: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/66.jpg)
Documentação?
Akihabara
Precisa de várias melhorias, mas aceitamos ajuda! :)
![Page 67: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/67.jpg)
Assets separados
Akihabara
gbox.addBundle({file: "bundle.js"})
![Page 68: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/68.jpg)
{ addImage:[ ["enemy","resources/enemy01.png"] ], addTiles:[ {id:"enemy", image:"e1", tilew:16, tileh:32, tilerow:6, gapx:0, gapy:0} ], addFont:[ {id:"small", image:"font", tileh:8, tilew:8, tilerow:255, gapx:0, gapy:8} ]}
Akihabara
Arquivos organizados
![Page 69: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/69.jpg)
Keymap page
Akihabara
Sim, no estilo daqueles emuladores :)
![Page 70: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/70.jpg)
Modularizado
Akihabara
![Page 71: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/71.jpg)
gbox.jsO núcleo da engine. Criação de objetos, blit, audio e etc.
Akihabara
![Page 72: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/72.jpg)
Akihabara
O namespace principal// Objetos e gruposgbox.setGroups(["game_group","enemy"]);gbox.addObject({id:"e1", group:"enemy", x: 0, y: 0});
// Blit de objetosgbox.blitTile({tileset: this.tileset, ...});
// Assetsgbox.addBundle({file:"game-bundle.js"});
// Audiogbox.playAudio("title_screen");gbox.stopAudio("title_screen");
.
.
.
![Page 73: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/73.jpg)
gamecycle.jsEstados e funcionalidades basicas dos jogos.
Akihabara
![Page 74: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/74.jpg)
game = gamecycle.createMaingame("game_id", "game_group");
// Algumas funções para controlar alguns estados básicosgame.gameTitleIntroAnimationgame.pressStartIntroAnimationgame.gameIntroAnimationgame.gameMenu
// Controle de alguns objetos comunsgame.hud
.
.
.
Akihabara
Game basics
![Page 75: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/75.jpg)
help.jsExtenções no Javascript e helpers para o game
Akihabara
![Page 76: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/76.jpg)
help.akihabaraInit({ title:"Zero Wing", splash:{ // Algumas notas no footnote footnotes:["All this presentation are belong to us"],
// Utilizando um background customizado no splash background:["resources/my_awesome_image.jpg"] }, // Vamos utilizar offline cache offlinecache: true});
Akihabara
Helper de Inicialização
![Page 77: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/77.jpg)
toys.jsHelpers para vários estilos de games
Akihabara
![Page 78: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/78.jpg)
Akihabara
Snippets para jogos// Topviewtoys.topview.fireBullet("bullets_group", "bullet1", {power:1})
// Shoot'em uptoys.shmup.keepInBounds(this);toys.shmup.fireBullet("bullets_group", "bullet1", {power:1})toys.shmup.generateScroller("game_group", "game1", {power:1})
// Plataformertoys.platformer.jumpKeys(this, "a");
// UItoys.ui.hud("maingame_hud");
.
.
.
![Page 79: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/79.jpg)
RECONQUESTGlobal Game Jam 2011
![Page 80: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/80.jpg)
Plaev Team@PotHix @_bojak
@CrociDB@rmasoni
![Page 81: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/81.jpg)
RECONQUESTGalaxy Tab e Motorola Milestone
![Page 82: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/82.jpg)
RECONQUESTiPad e iPhone
![Page 83: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/83.jpg)
Open source também!https://github.com/plaev/reconquest
![Page 84: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/84.jpg)
Google Web ToolkitFeito em Java, mas exporta HTML5 e várias outras coisas!
![Page 85: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/85.jpg)
Angry BirdsFeito com GWT e incluído na chrome web store
GWT
![Page 86: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/86.jpg)
Outras enginesBox2D Aves
Canvex
ClanFX
bdgeCocos2D
Crafty
Effect games
GameQuery
Hydra
Hydrax
Isogenic Engine
Mibbu
https://gist.github.com/768272
![Page 87: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/87.jpg)
Site interessante com jogos feitos com HTML5
![Page 88: desenvolvimento de jogos com javascript](https://reader031.vdocuments.site/reader031/viewer/2022020101/54f60e6c4a7959d76e8b538d/html5/thumbnails/88.jpg)
Algumas conclusõesBoa! Agora já posso criar meu Gears of War com HTML5!!!!!11!!