beginning html5 mobile game programming with jquery mobile

37
Beginning HTML5 Mobile Game Programming with jQuery Mobile Saturday, October 13, 12

Upload: troy-miles

Post on 15-Apr-2017

13.491 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Beginning HTML5 Mobile Game Programming with jQuery Mobile

Beginning HTML5 Mobile Game Programming

with jQuery Mobile

Saturday, October 13, 12

Page 2: Beginning HTML5 Mobile Game Programming with jQuery Mobile

spkr8.com/t/16001Please Rate This Talk

Saturday, October 13, 12

Page 3: Beginning HTML5 Mobile Game Programming with jQuery Mobile

Twitter handle:@therockncoder

Saturday, October 13, 12

Page 5: Beginning HTML5 Mobile Game Programming with jQuery Mobile

Google+ Hangout on Air

• Tuesday, October 16th at 6 PM PDT

• The first of four session on HTML5 Game Programming

• Each will complete the Game further

• The final session we will ‘PhoneGap’ the Game

• Free

Saturday, October 13, 12

Page 6: Beginning HTML5 Mobile Game Programming with jQuery Mobile

jssaturday.comNov. 10th, Long Beach Convention

CenterDiscount code: RiaConsultingLLC

Save $65!!!

Saturday, October 13, 12

Page 7: Beginning HTML5 Mobile Game Programming with jQuery Mobile

What We Won’t Cover?• 3D Graphics

• Audio

• Multiplayer

Saturday, October 13, 12

Page 8: Beginning HTML5 Mobile Game Programming with jQuery Mobile

What We Will Cover?

• HTML5 vs Device Apps

• Why jQuery Mobile?

• HTML5 Canvas

• A Sprite is not a Soda Pop

• Collision Detection

• Input

• Debugging

Saturday, October 13, 12

Page 9: Beginning HTML5 Mobile Game Programming with jQuery Mobile

HTML5 Device Apps

Can migrate web skills Longer learning curve

2D only (WebGL doesn’t count) 2D or 3D

Difficult to monetize Monetization is built-in

Restricted device access Full access to device hardware

Slower Faster

Saturday, October 13, 12

Page 10: Beginning HTML5 Mobile Game Programming with jQuery Mobile

Why jQuery Mobile?

Saturday, October 13, 12

Page 11: Beginning HTML5 Mobile Game Programming with jQuery Mobile

A unified, HTML5-based user interface system for all popular mobile device platforms, built on the rock-solid jQuery and jQuery UI foundation. Its lightweight code is built with progressive enhancement, and has a flexible, easily theme-able design. 

Requires jQuery.

Saturday, October 13, 12

Page 12: Beginning HTML5 Mobile Game Programming with jQuery Mobile

Why jQuery Mobile?

• jQuery Mobile used as a framework

• Follows normal HTML syntax

• Easy page navigation

• Standardizes input events

• I am lazy

Saturday, October 13, 12

Page 13: Beginning HTML5 Mobile Game Programming with jQuery Mobile

JavaScript Notes

Saturday, October 13, 12

Page 14: Beginning HTML5 Mobile Game Programming with jQuery Mobile

JavaScript Notes

• Single threaded

• Functions are first class constructs

• Functions can be passed

• Objects are dynamic

• Program must return control to the browser or be shut down

Saturday, October 13, 12

Page 15: Beginning HTML5 Mobile Game Programming with jQuery Mobile

HTML5 Canvas

Saturday, October 13, 12

Page 16: Beginning HTML5 Mobile Game Programming with jQuery Mobile

HTML5 CanvasThe canvas element provides scripts with a resolution-dependent bitmap canvas, which can be used for rendering graphs, game graphics, art, or other visual images on the fly

Saturday, October 13, 12

Page 17: Beginning HTML5 Mobile Game Programming with jQuery Mobile

A Sprite is not a Soda Pop

Saturday, October 13, 12

Page 18: Beginning HTML5 Mobile Game Programming with jQuery Mobile

A Sprite is not a Soda Pop

• A Sprite is...

• Sprite sheet / map

• Sprite object

• Sprite Engine

Saturday, October 13, 12

Page 19: Beginning HTML5 Mobile Game Programming with jQuery Mobile

A Sprite is...A two-dimensional image or animation that is integrated into a larger scene

Saturday, October 13, 12

Page 20: Beginning HTML5 Mobile Game Programming with jQuery Mobile

A sprite sheet or map

• Collection of sprites in a single graphics file

• Reduces number individual file to download

• Makes it easier to maintain and modify assets

Saturday, October 13, 12

Page 21: Beginning HTML5 Mobile Game Programming with jQuery Mobile

A sprite sheet or map

Saturday, October 13, 12

Page 22: Beginning HTML5 Mobile Game Programming with jQuery Mobile

Sprite object

• JavaScript - functions serve as Object constructors

• Invoked with the new operator

• Never call the constructor function directly

Saturday, October 13, 12

Page 23: Beginning HTML5 Mobile Game Programming with jQuery Mobile

Sprite Engine

• Building a game using individual objects would be very cumbersome

• Three parts

• Sprite Map

• Draw Method

• Sprites

Saturday, October 13, 12

Page 24: Beginning HTML5 Mobile Game Programming with jQuery Mobile

Drawing

• Save the context

• Move the origin to the center of the sprite

• Perform transforms

• Draw the sprite

• Restore the context

Saturday, October 13, 12

Page 25: Beginning HTML5 Mobile Game Programming with jQuery Mobile

Collision Detection

Saturday, October 13, 12

Page 26: Beginning HTML5 Mobile Game Programming with jQuery Mobile

Collision Detection

• True Collision Detection

• Pseudo Collision Detection

• Pseudo is faster

Saturday, October 13, 12

Page 27: Beginning HTML5 Mobile Game Programming with jQuery Mobile

True Collision Detection

• Detects actual pixels of the sprites overlapping

• Very time consuming without hardware support

Saturday, October 13, 12

Page 28: Beginning HTML5 Mobile Game Programming with jQuery Mobile

Pseudo Collision Detection

• Looks for bounding boxes overlapping

• Or circles intersecting

• Is much faster than true collision detection

Saturday, October 13, 12

Page 29: Beginning HTML5 Mobile Game Programming with jQuery Mobile

Input

Saturday, October 13, 12

Page 30: Beginning HTML5 Mobile Game Programming with jQuery Mobile

Input

• Mobile devices don’t have keyboards or mice

• We use the ‘touchstart’ event

• And the ‘click’ event for desktop support

• Input is associate with the player

• Actually fairly simple to do

Saturday, October 13, 12

Page 31: Beginning HTML5 Mobile Game Programming with jQuery Mobile

Debugging

Saturday, October 13, 12

Page 32: Beginning HTML5 Mobile Game Programming with jQuery Mobile

Debugging

• The Challenge

• Google and Apple to the Rescue

• Demo

Saturday, October 13, 12

Page 33: Beginning HTML5 Mobile Game Programming with jQuery Mobile

References

Saturday, October 13, 12

Page 36: Beginning HTML5 Mobile Game Programming with jQuery Mobile

Next Steps

Saturday, October 13, 12

Page 37: Beginning HTML5 Mobile Game Programming with jQuery Mobile

Next Steps

• Download the code

• Add sound and other enhancements

• Join me on Google+ for more game making presentations

Saturday, October 13, 12