multiplatform game design & development
DESCRIPTION
Designing and developing games for multiple devices, multiple platforms and form factors has been the most common challenge today. In this session, learn the different aspects of game design & development that need to be considered. Understand the challenges from the right perspective and overcome them with one of the best tools and platforms. Learn how Adobe Flash Builder enables you to write code intelligently for all the platforms, including Web, Windows, Macintosh, Linux, Android, BlackBerry PlayBook and iOS. Understand how easy the porting and packaging is for these platforms. Understand how Adobe Flash Builder can be used to develop and deploy multi-device games and also how to use third party gaming engines. The session also would briefly cover various methods of creating multiplayer/multi-device games, the new 3D capabilities of Adobe Flash Player to bring out the best user experiences on desktops, tablets and phones.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