Top Banner
DESENVOLVIMENTO DE JOGOS COM <HTML5 /> Talita Pagani - @talitapagani
68

Desenvolvimento de Jogos com HTML5

May 23, 2015

Download

Technology

Talita Pagani

Palestra apresentada na USC durante a 3ª Jornada de Informática
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Desenvolvimento de Jogos com HTML5

DESENVOLVIMENTO DE JOGOS COM

<HTML5 /> Talita Pagani - @talitapagani

Page 2: Desenvolvimento de Jogos com HTML5

SOBRE

Formação

Atuação Profissional

Comunidade

Page 3: Desenvolvimento de Jogos com HTML5

HTML5 E SUA PARAFERNÁLIA*...

* sim, é assim que se escreve. “Parafernalha” é outra coisa.

Page 4: Desenvolvimento de Jogos com HTML5

HTML5

Canvas

Audio & Video

Media Capture

Web Sockets e

Web Storage

Seletores e Validadores

Offline Applications

Page 5: Desenvolvimento de Jogos com HTML5

PORQUÊ? • Ubiquidade: mobile, web, TV, geladeira (?)

• Independência de plataforma

• Facebook

• Acessibilidade

Page 6: Desenvolvimento de Jogos com HTML5

HTML5 + JAVASCRIPT + CSS + SVG + ...?

Jogos em HTML5:

Page 7: Desenvolvimento de Jogos com HTML5

Anatomia de jogos

Lógica

Gráficos

Input

Áudio

Multiplayer

Assets

Page 8: Desenvolvimento de Jogos com HTML5

JS Comportamentos, eventos, lógica, mecânica

SVG Gráficos, cenários

(vetoriais), animações

CSS Transições, controles, formatação e apresentação

HTML5 <canvas>, <audio>, <video>, conteúdo

textual

Page 9: Desenvolvimento de Jogos com HTML5

VIESES Ll

Page 10: Desenvolvimento de Jogos com HTML5

FAMILIARIDADE Você já conhece a tecnologia

Page 11: Desenvolvimento de Jogos com HTML5

COMPLEXIDADE JavaScript é uma linguagem de propósito geral

Page 12: Desenvolvimento de Jogos com HTML5

CROSS-PLATFORM Um único código, múltiplos dispositivos

Page 13: Desenvolvimento de Jogos com HTML5

SUPORTE Diferentes features, diferentes navegadores

Page 14: Desenvolvimento de Jogos com HTML5

(IN)CONSISTÊNCIA Implementações distintas

Page 15: Desenvolvimento de Jogos com HTML5

SOCIAL Possibilidade de integração com APIs e features

de redes sociais

Page 16: Desenvolvimento de Jogos com HTML5

SEGURANÇA Proteção de código

Page 17: Desenvolvimento de Jogos com HTML5

PERFORMANCE Aceleração de hardware, GPU e etc.

Page 18: Desenvolvimento de Jogos com HTML5

O INTERNET EXPLORER (9 E 10) POSSUI UMA BOA ACELERAÇÃO DE HARDWARE?

Você sabia que...

Page 19: Desenvolvimento de Jogos com HTML5

HATERS GONNA HATE ≠

Page 20: Desenvolvimento de Jogos com HTML5
Page 21: Desenvolvimento de Jogos com HTML5
Page 22: Desenvolvimento de Jogos com HTML5

CÓDIGOS E MELHORES PRÁTICAS %

Page 23: Desenvolvimento de Jogos com HTML5

<canvas id=“canvas" width="150" height="150"> Desculpe, seu navegador não suporta canvas. </canvas>

Tudo começa aqui...

<script type="text/javascript"> function gameloop() { var canvas = document.getElementById(canvas'); if (canvas.getContext){ var ctx = canvas.getContext('2d'); } } </script>

Page 24: Desenvolvimento de Jogos com HTML5

PRIMITIVAS

function draw(){

var ctx = document.getElementById('canvas').getContext('2d');

ctx.fillRect(25,25,100,100);

ctx.clearRect(45,45,60,60);

ctx.strokeRect(50,50,50,50);

}

Page 25: Desenvolvimento de Jogos com HTML5

PRIMITIVAS + IMAGENS function draw() {

var ctx = document.getElementById('canvas').getContext('2d');

var img = new Image();

img.onload = function(){

ctx.drawImage(img,0,0);

ctx.beginPath();

ctx.moveTo(30,96);

ctx.lineTo(70,66);

ctx.lineTo(103,76);

ctx.lineTo(170,15);

ctx.stroke();

};

img.src = '/files/4531/backdrop.png';

}

Page 26: Desenvolvimento de Jogos com HTML5

MAIS FUNÇÕES...

• save();

• translate(x, y);

• rotate(d);

• scale(x, y);

• restore();

• bezierCurve, quadraticCurve, rect, fillText, strokeText, beginPath/closePath

Page 27: Desenvolvimento de Jogos com HTML5

GRÁFICOS COM SPRITE SHEETS

var sprites = new Image();

sprites.src = “sprites.png”;

ctx.drawImage(

sprites,

sx, sy, início do recorte

sw, sh, tamanho do recorte

dx, dy, coord. de destino

dw, dh tamanho de destino

);

sx = 25 sy = 50

sw = 25 sh = 25

Page 28: Desenvolvimento de Jogos com HTML5
Page 31: Desenvolvimento de Jogos com HTML5

Canvas

Page 32: Desenvolvimento de Jogos com HTML5

DOM

Page 33: Desenvolvimento de Jogos com HTML5

CAMADAS DRAW REGIONS MELHOR MANIPULAÇÃO DE ELEMENTOS DO JOGO

Múltiplos canvas permitem

Page 34: Desenvolvimento de Jogos com HTML5

DESENVOLVER UM JOGO

Tudo isso pra

em HTML5???

Page 35: Desenvolvimento de Jogos com HTML5

CALMA Tá tudo bem agora

Page 36: Desenvolvimento de Jogos com HTML5

http://impactjs.com/

Page 37: Desenvolvimento de Jogos com HTML5

http://www.limejs.com

Page 38: Desenvolvimento de Jogos com HTML5

http://www.gameclosure.com/

Page 39: Desenvolvimento de Jogos com HTML5

http://craftyjs.com/

Page 40: Desenvolvimento de Jogos com HTML5

http://melonjs.org/

Page 41: Desenvolvimento de Jogos com HTML5

http://joyjs.org/

Page 42: Desenvolvimento de Jogos com HTML5

http://threejs.org/

Page 43: Desenvolvimento de Jogos com HTML5

http://phonegap.com/

Page 44: Desenvolvimento de Jogos com HTML5

http://html5gameengine.com/

Page 45: Desenvolvimento de Jogos com HTML5

DEMOS >

Page 46: Desenvolvimento de Jogos com HTML5

http://talitapagani.github.io/DamnAliens/

Page 47: Desenvolvimento de Jogos com HTML5

http://phoboslab.org/ztype/

Page 48: Desenvolvimento de Jogos com HTML5

http://www.currantcat.com/convergence/

Page 49: Desenvolvimento de Jogos com HTML5

http://canvasdefense.appspot.com/

Page 50: Desenvolvimento de Jogos com HTML5

http://wordsquared.com/

Page 51: Desenvolvimento de Jogos com HTML5

http://playtankworld.com/level/air_strike

Page 52: Desenvolvimento de Jogos com HTML5

http://html5games.com/

BÔNUS

Page 53: Desenvolvimento de Jogos com HTML5

http://www.html5games.net/

BÔNUS

Page 54: Desenvolvimento de Jogos com HTML5

ONDE APRENDER B

Page 55: Desenvolvimento de Jogos com HTML5

http://www.html5gamedevelopment.com/

Page 56: Desenvolvimento de Jogos com HTML5

http://www.html5canvastutorials.com/

Page 58: Desenvolvimento de Jogos com HTML5

http://www.html5rocks.com/en/tutorials/canvas/notearsgame/?redirect_from_locale=pt

Page 59: Desenvolvimento de Jogos com HTML5

CONCLUSÕES !

Page 60: Desenvolvimento de Jogos com HTML5

USAR OU NÃO USAR HTML5 PARA JOGOS?

• JS: linguagem robusta

• Frameworks para auxiliar no desenvolvimento

• Independente de plataforma, dependente de suporte do navegador

• Manutenção e disponibilidade em diferentes dispositivos

Page 61: Desenvolvimento de Jogos com HTML5

CADA COISA EM SEU LUGAR

• JS para lógica / mecânica

• Controles, inputs, textos, transições: CSS

• SVG: pode ser usado para algumas animações e cenários vetoriais

• Você precisa mesmo desenhar tudo no canvas?

Page 62: Desenvolvimento de Jogos com HTML5

ARQUITETURAS HÍBRIDAS DE JOGOS 7

Page 63: Desenvolvimento de Jogos com HTML5

come to the dark Web side

Page 64: Desenvolvimento de Jogos com HTML5

REFERÊNCIAS

• Gil Megidish. Game Development With HTML5. http://www.slideshare.net/gawd/game-development-with-html5

• LimeJS. Is HTML5 the future of (mobile) gaming? http://www.limejs.com/2011/03/18/is-html5-the-future-of-mobile-gaming

• Facebook Developers. Making a Speedy HTML5 Game. https://developers.facebook.com/blog/post/2012/04/17/making-a-speedy-html5-game/

• Ernesto Jiménez. 5 tips for your HTML5 games. http://www.slideshare.net/ernesto.jimenez/5-tips-for-your-html5-games

• MDN. Canvas Tutorial. https://developer.mozilla.org/en-US/docs/HTML/Canvas/Tutorial

Page 65: Desenvolvimento de Jogos com HTML5

FRAMEWORKS • http://www.limejs.com/

• http://impactjs.com/

• http://www.gameclosure.com/

• http://craftyjs.com/

• http://www.melonjs.org/

• http://phonegap.com/

• http://joyjs.org/

Page 66: Desenvolvimento de Jogos com HTML5

IMAGENS

• http://rawkes.com/articles/mashing-up-the-html5-logo

• http://crieseumeme.com/media/created/o5lmld.jpg

• http://fc03.deviantart.net/fs70/i/2010/005/2/0/Sonic_Sprite_Sheet_WIP_by_Derek_the_Hedgehog87.png

• http://fc02.deviantart.net/fs71/i/2011/086/9/b/darth_vader_by_sila92-d3cmlgq.png

• https://www.dropbox.com/sh/m5efumhdr4quhqv/zXDKgTnrOg#/

Page 68: Desenvolvimento de Jogos com HTML5

Perguntas?