multiplatform game design & development

Post on 24-Dec-2014

4.069 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

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

top related