beginning html5 mobile game programming with jquery mobile

Post on 15-Apr-2017

13.491 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Beginning HTML5 Mobile Game Programming

with jQuery Mobile

Saturday, October 13, 12

spkr8.com/t/16001Please Rate This Talk

Saturday, October 13, 12

Twitter handle:@therockncoder

Saturday, October 13, 12

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

jssaturday.comNov. 10th, Long Beach Convention

CenterDiscount code: RiaConsultingLLC

Save $65!!!

Saturday, October 13, 12

What We Won’t Cover?• 3D Graphics

• Audio

• Multiplayer

Saturday, October 13, 12

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

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

Why jQuery Mobile?

Saturday, October 13, 12

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

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

JavaScript Notes

Saturday, October 13, 12

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

HTML5 Canvas

Saturday, October 13, 12

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

A Sprite is not a Soda Pop

Saturday, October 13, 12

A Sprite is not a Soda Pop

• A Sprite is...

• Sprite sheet / map

• Sprite object

• Sprite Engine

Saturday, October 13, 12

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

Saturday, October 13, 12

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

A sprite sheet or map

Saturday, October 13, 12

Sprite object

• JavaScript - functions serve as Object constructors

• Invoked with the new operator

• Never call the constructor function directly

Saturday, October 13, 12

Sprite Engine

• Building a game using individual objects would be very cumbersome

• Three parts

• Sprite Map

• Draw Method

• Sprites

Saturday, October 13, 12

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

Collision Detection

Saturday, October 13, 12

Collision Detection

• True Collision Detection

• Pseudo Collision Detection

• Pseudo is faster

Saturday, October 13, 12

True Collision Detection

• Detects actual pixels of the sprites overlapping

• Very time consuming without hardware support

Saturday, October 13, 12

Pseudo Collision Detection

• Looks for bounding boxes overlapping

• Or circles intersecting

• Is much faster than true collision detection

Saturday, October 13, 12

Input

Saturday, October 13, 12

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

Debugging

Saturday, October 13, 12

Debugging

• The Challenge

• Google and Apple to the Rescue

• Demo

Saturday, October 13, 12

References

Saturday, October 13, 12

Next Steps

Saturday, October 13, 12

Next Steps

• Download the code

• Add sound and other enhancements

• Join me on Google+ for more game making presentations

Saturday, October 13, 12

top related