#part2
HTML5 Game
Development
Thursday, September 29, 2011
Homework
• Colin
• Eric Meyer
• Joe
• Craig
• Dough
• Steven Degutis
Thursday, September 29, 2011
TestsThursday, September 29, 2011
Thursday, September 29, 2011
Thursday, September 29, 2011
NO GUI!
Thursday, September 29, 2011
NO GUI!
Thursday, September 29, 2011
+•JSDom•Node-JQuery•Underscore•Bullets suck
Thursday, September 29, 2011
HOW?
Thursday, September 29, 2011
Thursday, September 29, 2011
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
context = new Context();
screen = new Eskimo.Screen(context);
Thursday, September 29, 2011
screen.render();
expect(context).toHaveScreenClearedTo("#aaaabb");
Thursday, September 29, 2011
Why?
screen.put(image);
screen.render();
Thursday, September 29, 2011
JSDom
• Simulates the DOM
• Doesn’t Support HTML5
• Bullets suck
Thursday, September 29, 2011
define("HTMLAudioElement", {
tagName: 'AUDIO',
attributes: [
'src'
]
Thursday, September 29, 2011
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
Simulators are hard!
Thursday, September 29, 2011
Game Logic
Interaction
DOM
Thursday, September 29, 2011
SpiesspyOn(levels, "load"); TitleScreen.load(levels, screen);
expect(levels.load).toHaveBeenCalledWith('title', TitleScreen);
Thursday, September 29, 2011
Acceptance
Player 1 Player 2 Winner
Rock Paper Paper
Paper Scissors Scissors
Scissors Rock Rock
Thursday, September 29, 2011
ArchitectureThursday, September 29, 2011
Thursday, September 29, 2011
FeedTheQuinn.Assets = {
'title': {
'images': {
'background': {
'src': 'images/title_screen_background.jpg',
'location': {
'x': 0,
'y': 0
}
},
Thursday, September 29, 2011
Dead
Respawn
Alive
Thursday, September 29, 2011
Thursday, September 29, 2011
Thursday, September 29, 2011
Thursday, September 29, 2011
if (intersects(humanControlledBitmap.currentlyHeldKillableObject, otherGameObject.boundingBox) && otherGameObject.isCapableOfEndingGame?) { gameObjectList.remove(otherGameObject); numericValueRepresentingAPositiveReinforcementOfPlayerBehavior += 100241;}
Thursday, September 29, 2011
player.kill(zombie);
Thursday, September 29, 2011
player.decapitate(zombie);
Thursday, September 29, 2011
JavaScript
Thursday, September 29, 2011