multiplatform game design & development
Post on 24-Dec-2014
4.069 Views
Preview:
DESCRIPTION
TRANSCRIPT
Multi-platform GameDesign & DevelopmentAdobe Flash Platform
Hemanth SharmaPlatform Evangelist, Adobe Systems
http://www.hsharma.com@hemanthsharma
http://www.facebook.com/hemanthsharma
Friday 4 November 11
Multi-platform
Friday 4 November 11
Multi-platform
Google Android
BlackBerry PlayBook
Apple iOS
Windows
Macintosh
Linux
Friday 4 November 11
Multi-platform
Across devices
Richer experience
Visibility
More customers
RevenueWHY?
Friday 4 November 11
Multi-platform
Technology
Display Resolution
Screen Density (DPI)
Physical Size
Input
Processor & Memory
Developer Challenges
Friday 4 November 11
The Process
Friday 4 November 11
The Process
Concept
Prototype
Concept Art
Development
Testing & Optimization
Deployment
Friday 4 November 11
Screen Resolution
Friday 4 November 11
Screen Resolution
320 px
480 pxPhone
Friday 4 November 11
Screen Resolution
480 px
800 pxPhone
Friday 4 November 11
Screen Resolution
640 px
960 pxPhone
Friday 4 November 11
Screen Resolution
768 px
1024 pxTablet
Friday 4 November 11
Screen Resolution800 px
1280 pxTablet
Friday 4 November 11
Screen Resolution
1. Different Resolution
2. Scaling
3. Crop
Friday 4 November 11
Screen Resolution
Friday 4 November 11
Screen ResolutionDifferent Resolution
350 x 350600 x 600logo_350.pnglogo_600.png
Friday 4 November 11
Screen ResolutionDifferent Resolution
1024 x 768
640 x 960
bg_1024.png
bg_640.png
Friday 4 November 11
Screen ResolutionScaling
Friday 4 November 11
Screen ResolutionScaling
Friday 4 November 11
Screen ResolutionScale Down
Scale Up
Friday 4 November 11
Screen ResolutionCrop
Friday 4 November 11
Screen ResolutionCrop
Friday 4 November 11
Graphics
Vector Graphics
Raster (Bitmap) Graphics
Friday 4 November 11
Screen DPI
Friday 4 November 11
Screen DPI
Desire HD iPhone 4
480 px
640 px
800 px960 px
Virtually
Friday 4 November 11
Screen DPI
Desire HD iPhone 4
480 px
640 px
800 px960 px
Physically
Friday 4 November 11
Screen DPI
Desire HD iPhone 4
Physically
480 px640 px
800 px 960 px
Friday 4 November 11
Screen DPI
Desire HD iPhone 4
480 px640 px
800 px 960 px
Physically
1 inch
240 px
240 px1 inch
326 px
326 px
Friday 4 November 11
Screen DPI
Device Resolution DPI
Apple iPhone 4S 640 x 960 326
HTC Desire HD 480 x 800 240
Apple iPad 768 x 1024 132
Samsung Galaxy 10.1 Tab 800 x 1280 149
BlackBerry PlayBook 600 x 1024 192
Friday 4 November 11
Screen DPIContent Scaling for Virtual Size
object.width = n;
Friday 4 November 11
Screen DPIContent Scaling for Physical Size
object.width = flash.Capabilities.screenDPI * physicalSize;
Friday 4 November 11
Input
Friday 4 November 11
Input
Keyboard
Mouse
Multi-touch
Gestures
Accelerometer
Microphone
Camera
Friday 4 November 11
Keyboard
import flash.events.KeyboardEvent;
stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDown_handler);
protected function keyDown_handler(event:KeyboardEvent):void { trace(event.keyCode);}
Friday 4 November 11
Mouse
import flash.events.MouseEvent;
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown_handler);
Friday 4 November 11
Multitouch
import flash.ui.Multitouch;import flash.ui.MultitouchInputMode;import flash.events.TouchEvent;
if (Multitouch.supportsTouchEvents) {Multitouch.inputMode = MultitouchInputMode.TOUCH_POINT;
stage.addEventListener(TouchEvent.TOUCH_BEGIN, onTouchBegin);stage.addEventListener(TouchEvent.TOUCH_END, onTouchEnd);
}
protected function onTouchBegin(event:TouchEvent):void { trace(event.touchPointID);}
Friday 4 November 11
Multitouch Gesturesimport flash.ui.Multitouch;import flash.ui.MultitouchInputMode;import flash.events.TransformGestureEvent;
if (Multitouch.supportsGestureEvents) {Multitouch.inputMode = MultitouchInputMode.GESTURE;stage.addEventListener(TransformGestureEvent.GESTURE_ZOOM, onRotate);stage.addEventListener(TransformGestureEvent.GESTURE_ROTATE, onZoom);
}
protected function onRotate(event:TransformGestureEvent):void { trace(event.rotation);}protected function onZoom(event:TransformGestureEvent):void { trace(event.scaleX + ", " + event.scaleY);}
Friday 4 November 11
Accelerometerimport flash.sensors.Accelerometer;import flash.events.AccelerometerEvent;
var acc_obj:Accelerometer;
if (Accelerometer.isSupported) { acc_obj = new Accelerometer(); acc_obj.addEventListener(AccelerometerEvent.UPDATE, onAccUpdate);}
private function onAccUpdate(event:AccelerometerEvent):void { trace(event.accelerationX); trace(event.accelerationY); trace(event.accelerationZ);}
Friday 4 November 11
Input
Accelerometer Check Multitouch/Gestures Checkor
Keyboard Fallback Mouse Fallbackor
Friday 4 November 11
Technology
Friday 4 November 11
Technology
Java
Objective-C
C or others
Friday 4 November 11
Technology
.apk
.bar
.ipa
Friday 4 November 11
Technology
.apk
.bar
.ipa
Adobe Flash Platform
Friday 4 November 11
Technology
DEMO
Friday 4 November 11
Game Engines - 2D
• Flixel (http://flixel.org/)
• FlashPunk (http://flashpunk.net/)
• PushButton (http://pushbuttonengine.com/)
Friday 4 November 11
Game Engines - Isometric
• AS3 ISO Lib (http://code.google.com/p/as3isolib/)
• TheoWorlds (http://www.theoworlds.com/)
Friday 4 November 11
Game Engines - Physics
• JigLib (http://www.jiglibflash.com/blog/)
• Box2D (http://box2dflash.sourceforge.net/)
• APE (http://www.cove.org/ape/)
• WOW (http://code.google.com/p/wow-engine/)
Friday 4 November 11
Multiplayer / Multiuser
P2P
Socket & SocketServer
Friday 4 November 11
3D & GPU
Stage 3D (Molehill)http://alternativaplatform.com/en/demos/maxracer/
Starling Frameworkhttp://www.starling-framework.org
Friday 4 November 11
Questions?
http://www.hsharma.com
@hemanthsharma
http://www.facebook.com/hemanthsharma
http://www.adobe.com/gaming
http://labs.adobe.com
Friday 4 November 11
top related