html5 episode 2

32
#part2 HTML5 Game Development Thursday, September 29, 2011

Upload: eric-smith

Post on 06-May-2015

379 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Html5 episode 2

#part2

HTML5 Game

Development

Thursday, September 29, 2011

Page 2: Html5 episode 2

Homework

• Colin

• Eric Meyer

• Joe

• Craig

• Dough

• Steven Degutis

Thursday, September 29, 2011

Page 3: Html5 episode 2

TestsThursday, September 29, 2011

Page 4: Html5 episode 2

Thursday, September 29, 2011

Page 5: Html5 episode 2

Thursday, September 29, 2011

Page 6: Html5 episode 2

NO GUI!

Thursday, September 29, 2011

Page 7: Html5 episode 2

NO GUI!

Thursday, September 29, 2011

Page 8: Html5 episode 2

+•JSDom•Node-JQuery•Underscore•Bullets suck

Thursday, September 29, 2011

Page 9: Html5 episode 2

HOW?

Thursday, September 29, 2011

Page 10: Html5 episode 2

Thursday, September 29, 2011

Page 11: Html5 episode 2

Context = function() { this.drawImage = function(image, x, y) { imageList.push({name: image, x: x, y: y}); };

this.fillRect = function(x, y, width, height) { this.filledRect = {x: x, y: y, width: width, height: height }; }; };

Thursday, September 29, 2011

Page 12: Html5 episode 2

context = new Context();

screen = new Eskimo.Screen(context);

Thursday, September 29, 2011

Page 13: Html5 episode 2

screen.render();

expect(context).toHaveScreenClearedTo("#aaaabb");

Thursday, September 29, 2011

Page 14: Html5 episode 2

Why?

screen.put(image);

screen.render();

Thursday, September 29, 2011

Page 15: Html5 episode 2

JSDom

• Simulates the DOM

• Doesn’t Support HTML5

• Bullets suck

Thursday, September 29, 2011

Page 16: Html5 episode 2

define("HTMLAudioElement", {

tagName: 'AUDIO',

attributes: [

'src'

]

Thursday, September 29, 2011

Page 17: Html5 episode 2

levelLoader.load("newLevel");

spiedJQuery.triggerEvent("canplaythrough");

jukebox = levelLoader.getJukebox();

var asset = jukebox.assets.get('soundOne').src;

expect(asset).toEqual('sound.mp3');

Thursday, September 29, 2011

Page 18: Html5 episode 2

Simulators are hard!

Thursday, September 29, 2011

Page 19: Html5 episode 2

Game Logic

Interaction

DOM

Thursday, September 29, 2011

Page 20: Html5 episode 2

SpiesspyOn(levels, "load"); TitleScreen.load(levels, screen);

expect(levels.load).toHaveBeenCalledWith('title', TitleScreen);

Thursday, September 29, 2011

Page 21: Html5 episode 2

Acceptance

Player 1 Player 2 Winner

Rock Paper Paper

Paper Scissors Scissors

Scissors Rock Rock

Thursday, September 29, 2011

Page 22: Html5 episode 2

ArchitectureThursday, September 29, 2011

Page 23: Html5 episode 2

Thursday, September 29, 2011

Page 24: Html5 episode 2

FeedTheQuinn.Assets = {

'title': {

'images': {

'background': {

'src': 'images/title_screen_background.jpg',

'location': {

'x': 0,

'y': 0

}

},

Thursday, September 29, 2011

Page 25: Html5 episode 2

Dead

Respawn

Alive

Thursday, September 29, 2011

Page 26: Html5 episode 2

Thursday, September 29, 2011

Page 27: Html5 episode 2

Thursday, September 29, 2011

Page 28: Html5 episode 2

Thursday, September 29, 2011

Page 29: Html5 episode 2

if (intersects(humanControlledBitmap.currentlyHeldKillableObject, otherGameObject.boundingBox) && otherGameObject.isCapableOfEndingGame?) { gameObjectList.remove(otherGameObject); numericValueRepresentingAPositiveReinforcementOfPlayerBehavior += 100241;}

Thursday, September 29, 2011

Page 30: Html5 episode 2

player.kill(zombie);

Thursday, September 29, 2011

Page 31: Html5 episode 2

player.decapitate(zombie);

Thursday, September 29, 2011

Page 32: Html5 episode 2

JavaScript

Thursday, September 29, 2011