stage 3d - changing the game - adobe: ngdc 2012

89
Stage3D Changing the Game Friday, 2 November 12

Upload: nasscom

Post on 09-May-2015

633 views

Category:

Technology


1 download

DESCRIPTION

Stage 3D - Changing the game - Adobe: NGDC 2012

TRANSCRIPT

Stage3DChanging the Game

Friday, 2 November 12

Stage3DChanging the Game

Hemanth SharmaGaming Evangelist, Adobe

http://[email protected]@hemanthsharma

Friday, 2 November 12

Direction & Focus

Friday, 2 November 12

Direction & Focus

Flash Player on Mobiles

Friday, 2 November 12

Direction & Focus

Flash Player on Mobiles

Adobe AIR and Gaming

Friday, 2 November 12

Direction & Focus

Flash Player on Mobiles

Adobe AIR and Gaming

Flash Player for Desktop-web

Friday, 2 November 12

facebook.com/AngryBirds

Audience

The audience

Approximately 500M people have already opted into using the silent auto update feature.

500M$is$more$than$2"#mes"the"number"of"Xbox360,"PS3"and"Wii"ever"sold.

We can update these 500 million people to new versions of the runtime in less than 48 hours.

facebook.com/AngryBirds

Tuesday, October 9, 12Friday, 2 November 12

facebook.com/AngryBirds

Audience

Approximately 500M people

The audience

Approximately 500M people have already opted into using the silent auto update feature.

500M$is$more$than$2"#mes"the"number"of"Xbox360,"PS3"and"Wii"ever"sold.

We can update these 500 million people to new versions of the runtime in less than 48 hours.

facebook.com/AngryBirds

Tuesday, October 9, 12Friday, 2 November 12

facebook.com/AngryBirds

Audience

Approximately 500M people

That’s more than 2x Consoles ever sold

The audience

Approximately 500M people have already opted into using the silent auto update feature.

500M$is$more$than$2"#mes"the"number"of"Xbox360,"PS3"and"Wii"ever"sold.

We can update these 500 million people to new versions of the runtime in less than 48 hours.

facebook.com/AngryBirds

Tuesday, October 9, 12Friday, 2 November 12

facebook.com/AngryBirds

Audience

Approximately 500M people

That’s more than 2x Consoles ever sold

Less than 48 hours to Upgrade

The audience

Approximately 500M people have already opted into using the silent auto update feature.

500M$is$more$than$2"#mes"the"number"of"Xbox360,"PS3"and"Wii"ever"sold.

We can update these 500 million people to new versions of the runtime in less than 48 hours.

facebook.com/AngryBirds

Tuesday, October 9, 12Friday, 2 November 12

facebook.com/KingsRoadGame

Top Games

9 of the top 10 games

* This list was compiled by looking at the top games on Facebook with more than 100,000 monthly active users and giving priority to those games with the highest user satisfaction scores.

facebook.com/KingsRoadGame

Tuesday, October 9, 12Friday, 2 November 12

facebook.com/KingsRoadGame

Top Games

9 of the top 10 Facebook games

* This list was compiled by looking at the top games on Facebook with more than 100,000 monthly active users and giving priority to those games with the highest user satisfaction scores.

9 of the top 10 games

* This list was compiled by looking at the top games on Facebook with more than 100,000 monthly active users and giving priority to those games with the highest user satisfaction scores.

facebook.com/KingsRoadGame

Tuesday, October 9, 12Friday, 2 November 12

* Chrome Only

Go DRY

Friday, 2 November 12

* Chrome Only

Go DRY

Reuse AS3 code

Friday, 2 November 12

* Chrome Only

Go DRY

Reuse AS3 code

*

Same Code (ActionScript 3)

Friday, 2 November 12

* Chrome Only

Go DRY

Reuse AS3 code

No Shared Runtime Required

*

Same Code (ActionScript 3)

Friday, 2 November 12

Powered by Stage3DPowered by

Stage3DUse one set of platform agnostic GPU APIs to target the browser and mobile devices (iOS, Android)

just converted a small project to Starling+AIR and am getting solid 60fps... super impressive.

I'm quite impressed. Am doing a 3-month project using AIR + Starling and I'm totally looking forward to it thanks to this.

Yeah its an AIR game. Using stage3d you get pretty close to native nowadays.

Tuesday, October 9, 12

just converted a small project to Starling+AIR and am getting solid 60fps... super impressive.

Yeah its an AIR game. Using stage3d you get pretty close to native nowadays.

““

Friday, 2 November 12

Powered by Stage3D

One set of platform agnostic GPU APIs

Powered by Stage3DUse one set of platform agnostic GPU APIs to target the browser and mobile devices (iOS, Android)

just converted a small project to Starling+AIR and am getting solid 60fps... super impressive.

I'm quite impressed. Am doing a 3-month project using AIR + Starling and I'm totally looking forward to it thanks to this.

Yeah its an AIR game. Using stage3d you get pretty close to native nowadays.

Tuesday, October 9, 12

just converted a small project to Starling+AIR and am getting solid 60fps... super impressive.

Yeah its an AIR game. Using stage3d you get pretty close to native nowadays.

““

Friday, 2 November 12

Powered by Stage3D

One set of platform agnostic GPU APIs

Target browser & mobile devices (iOS and Android)

Powered by Stage3DUse one set of platform agnostic GPU APIs to target the browser and mobile devices (iOS, Android)

just converted a small project to Starling+AIR and am getting solid 60fps... super impressive.

I'm quite impressed. Am doing a 3-month project using AIR + Starling and I'm totally looking forward to it thanks to this.

Yeah its an AIR game. Using stage3d you get pretty close to native nowadays.

Tuesday, October 9, 12

just converted a small project to Starling+AIR and am getting solid 60fps... super impressive.

Yeah its an AIR game. Using stage3d you get pretty close to native nowadays.

““

Friday, 2 November 12

Powered by Stage3D

Friday, 2 November 12

Powered by Stage3D

GPU

Friday, 2 November 12

Powered by Stage3D

OpenGL, OpenGL ES 2.0, Direct3D

GPU

Friday, 2 November 12

Powered by Stage3D

OpenGL, OpenGL ES 2.0, Direct3D

GPU

Stage3D

Friday, 2 November 12

Powered by Stage3D

//compile vertex shader var vertexShader:Array =

["dp4 op.x, va0, vc0", //4x4 matrix transform from 0 to output clipspace "dp4 op.y, va0, vc1","dp4 op.z, va0, vc2","dp4 op.w, va0, vc3","mov v0, va1.xyzw" //copy texcoord from 1 to fragment program

];var vertexAssembler:AGALMiniAssembler = new AGALMiniAssembler(); vertexAssembler.assemble(flash.display3D.Context3DProgramType.VERTEX, vertexShader.join("\n"));

//compile fragment shader var fragmentShader:Array =

["mov ft0, v0\n",

"tex ft1, ft0, fs1 <2d,clamp,linear>\n", //sample texture 1

"mov oc, ft1\n" ];

var fragmentAssembler:AGALMiniAssembler = new AGALMiniAssembler(); fragmentAssembler.assemble(flash.display3D.Context3DProgramType.FRAGMENT, fragmentShader.join("\n"));

_shaderProgram = _context3D.createProgram(); _shaderProgram.upload(vertexAssembler.agalcode, fragmentAssembler.agalcode);

_indexBuffer = _context3D.createIndexBuffer(6); _indexBuffer.uploadFromVector(Vector.<uint>([0, 1, 2, 0, 2, 3]), 0, 6);

var bitmap:Bitmap = new MolePeople();_texture = _context3D.createTexture(256, 256, Context3DTextureFormat.BGRA, false); _texture.uploadFromBitmapData(bitmap.bitmapData);

Friday, 2 November 12

Frameworks

Friday, 2 November 12

Frameworks

Starling Framework

Friday, 2 November 12

Frameworks

Starling Framework

Box2D, NAPE

Friday, 2 November 12

Frameworks

Starling Framework

Box2D, NAPE

Away3D

Friday, 2 November 12

Frameworks

Starling Framework

Box2D, NAPE

Away3D

Flare3D

Friday, 2 November 12

Frameworks

Starling Framework

Box2D, NAPE

Away3D

Flare3D

Alternativa3D

Friday, 2 November 12

Frameworks

Starling Framework

Box2D, NAPE

Away3D

Flare3D

Alternativa3D

and more...

Friday, 2 November 12

Starling Framework

www.starling-framework.org

Friday, 2 November 12

Starling Framework

Open Source

www.starling-framework.org

Friday, 2 November 12

Starling Framework

Open Source

2D Games

www.starling-framework.org

Friday, 2 November 12

Starling Framework

Open Source

2D Games

GPU Accelerated

www.starling-framework.org

Friday, 2 November 12

Starling Framework

Open Source

2D Games

GPU Accelerated

Funded by Adobewww.starling-framework.org

Friday, 2 November 12

Starling Framework

//compile vertex shader var vertexShader:Array =

["dp4 op.x, va0, vc0", //4x4 matrix transform from 0 to output clipspace "dp4 op.y, va0, vc1","dp4 op.z, va0, vc2","dp4 op.w, va0, vc3","mov v0, va1.xyzw" //copy texcoord from 1 to fragment program

];var vertexAssembler:AGALMiniAssembler = new AGALMiniAssembler(); vertexAssembler.assemble(flash.display3D.Context3DProgramType.VERTEX, vertexShader.join("\n"));

//compile fragment shader var fragmentShader:Array =

["mov ft0, v0\n",

"tex ft1, ft0, fs1 <2d,clamp,linear>\n", //sample texture 1

"mov oc, ft1\n" ];

var fragmentAssembler:AGALMiniAssembler = new AGALMiniAssembler(); fragmentAssembler.assemble(flash.display3D.Context3DProgramType.FRAGMENT, fragmentShader.join("\n"));

_shaderProgram = _context3D.createProgram(); _shaderProgram.upload(vertexAssembler.agalcode, fragmentAssembler.agalcode);

_indexBuffer = _context3D.createIndexBuffer(6); _indexBuffer.uploadFromVector(Vector.<uint>([0, 1, 2, 0, 2, 3]), 0, 6);

var bitmap:Bitmap = new MolePeople();_texture = _context3D.createTexture(256, 256, Context3DTextureFormat.BGRA, false); _texture.uploadFromBitmapData(bitmap.bitmapData);

..........

Friday, 2 November 12

Starling Framework

//compile vertex shader var vertexShader:Array =

["dp4 op.x, va0, vc0", //4x4 matrix transform from 0 to output clipspace "dp4 op.y, va0, vc1","dp4 op.z, va0, vc2","dp4 op.w, va0, vc3","mov v0, va1.xyzw" //copy texcoord from 1 to fragment program

];var vertexAssembler:AGALMiniAssembler = new AGALMiniAssembler(); vertexAssembler.assemble(flash.display3D.Context3DProgramType.VERTEX, vertexShader.join("\n"));

//compile fragment shader var fragmentShader:Array =

["mov ft0, v0\n",

"tex ft1, ft0, fs1 <2d,clamp,linear>\n", //sample texture 1

"mov oc, ft1\n" ];

var fragmentAssembler:AGALMiniAssembler = new AGALMiniAssembler(); fragmentAssembler.assemble(flash.display3D.Context3DProgramType.FRAGMENT, fragmentShader.join("\n"));

_shaderProgram = _context3D.createProgram(); _shaderProgram.upload(vertexAssembler.agalcode, fragmentAssembler.agalcode);

_indexBuffer = _context3D.createIndexBuffer(6); _indexBuffer.uploadFromVector(Vector.<uint>([0, 1, 2, 0, 2, 3]), 0, 6);

var bitmap:Bitmap = new MolePeople();_texture = _context3D.createTexture(256, 256, Context3DTextureFormat.BGRA, false); _texture.uploadFromBitmapData(bitmap.bitmapData);

..........

var bird:Sprite = new Sprite();bird.x = 200;bird.y = 200;

hero.addEventListener(TouchEvent.TOUCH, onTouch); addChild(bird);

Friday, 2 November 12

Starling Framework

Friday, 2 November 12

Starling Framework

Rovio:ANGRY BIRDS

Friday, 2 November 12

Starling Framework

Friday, 2 November 12

Starling Framework

Zynga:Ruby Blast

Friday, 2 November 12

Delta Strike: “Fleet”

Away3DAway3DLightweight open-source 3D framework. Huge community contributing. Funded by Adobe.

away3d.com

Tuesday, October 9, 12

Friday, 2 November 12

Delta Strike: “Fleet”

Away3D

Light Weight

Away3DLightweight open-source 3D framework. Huge community contributing. Funded by Adobe.

away3d.com

Tuesday, October 9, 12

Friday, 2 November 12

Delta Strike: “Fleet”

Away3D

Light Weight

Open Source

Away3DLightweight open-source 3D framework. Huge community contributing. Funded by Adobe.

away3d.com

Tuesday, October 9, 12

Friday, 2 November 12

Delta Strike: “Fleet”

Away3D

Light Weight

Open Source

Funded by Adobe

Away3DLightweight open-source 3D framework. Huge community contributing. Funded by Adobe.

away3d.com

Tuesday, October 9, 12

Friday, 2 November 12

Delta Strike: “Fleet”

Away3D

Light Weight

Open Source

Funded by Adobe

away3d.com

Away3DLightweight open-source 3D framework. Huge community contributing. Funded by Adobe.

away3d.com

Tuesday, October 9, 12

Friday, 2 November 12

Delta Strike: “Fleet”

Stage3D

Friday, 2 November 12

Farmville 2 by Zynga

Flare 3D

Friday, 2 November 12

FeathersFeathersCreate 2D UI on the GPU with Feathers. A lightweight open-source 2D UI component extension for Starling.

feathersui.com

Tuesday, October 9, 12Friday, 2 November 12

Feathers

Light Weight

FeathersCreate 2D UI on the GPU with Feathers. A lightweight open-source 2D UI component extension for Starling.

feathersui.com

Tuesday, October 9, 12Friday, 2 November 12

Feathers

Light Weight

Open Source

FeathersCreate 2D UI on the GPU with Feathers. A lightweight open-source 2D UI component extension for Starling.

feathersui.com

Tuesday, October 9, 12Friday, 2 November 12

Feathers

Light Weight

Open Source

Built on Starling

FeathersCreate 2D UI on the GPU with Feathers. A lightweight open-source 2D UI component extension for Starling.

feathersui.com

Tuesday, October 9, 12Friday, 2 November 12

Feathers

Light Weight

Open Source

Built on Starling

www.feathersui.com

FeathersCreate 2D UI on the GPU with Feathers. A lightweight open-source 2D UI component extension for Starling.

feathersui.com

Tuesday, October 9, 12Friday, 2 November 12

The Stack

The stack2 of these frameworks are funded and supported by Adobe (Starling and Away3D)

By funding these, we also want to make sure they integrate between each other beautifully.

Away3D (3D) Starling (2D)

Open-source, free and vibrant community

Feathers (2D)

Integration

Tuesday, October 9, 12Friday, 2 November 12

The Stack

2 Funded(Staling & Away3D)

The stack2 of these frameworks are funded and supported by Adobe (Starling and Away3D)

By funding these, we also want to make sure they integrate between each other beautifully.

Away3D (3D) Starling (2D)

Open-source, free and vibrant community

Feathers (2D)

Integration

Tuesday, October 9, 12Friday, 2 November 12

The Stack

2 Funded(Staling & Away3D)

Well integrated

The stack2 of these frameworks are funded and supported by Adobe (Starling and Away3D)

By funding these, we also want to make sure they integrate between each other beautifully.

Away3D (3D) Starling (2D)

Open-source, free and vibrant community

Feathers (2D)

Integration

Tuesday, October 9, 12Friday, 2 November 12

The Stack

Friday, 2 November 12

The Stack

GPU

Friday, 2 November 12

The Stack

OpenGL, OpenGL ES 2.0, Direct3D

GPU

Friday, 2 November 12

The Stack

OpenGL, OpenGL ES 2.0, Direct3D

GPU

Stage3D

Friday, 2 November 12

The Stack

OpenGL, OpenGL ES 2.0, Direct3D

GPU

Stage3D

Starling

Friday, 2 November 12

The Stack

OpenGL, OpenGL ES 2.0, Direct3D

GPU

Stage3D

Starling Away3D

Friday, 2 November 12

The Stack

OpenGL, OpenGL ES 2.0, Direct3D

GPU

Stage3D

Starling Away3D

Feathers(Button, List, ProgressBar, CheckBox, etc.)

Friday, 2 November 12

Multi-platform

Friday, 2 November 12

Multi-platform

Friday, 2 November 12

Multi-platform

One Code

Friday, 2 November 12

Multi-platform

One Code

Multi-platform

Friday, 2 November 12

Profiling

Project “Monocle”Revolutionize the way you pro!le Flash content across desktop and mobile devices.

Monocle exposes granular information never exposed before to Flash developers.

Tuesday, October 9, 12Friday, 2 November 12

Profiling

Project “Monocle”

Project “Monocle”Revolutionize the way you pro!le Flash content across desktop and mobile devices.

Monocle exposes granular information never exposed before to Flash developers.

Tuesday, October 9, 12Friday, 2 November 12

Profiling

Project “Monocle”

Extreme Profiling

Project “Monocle”Revolutionize the way you pro!le Flash content across desktop and mobile devices.

Monocle exposes granular information never exposed before to Flash developers.

Tuesday, October 9, 12Friday, 2 November 12

Profiling

Con!gure Test Analyze/Pro!le

Tuesday, October 9, 12

Friday, 2 November 12

Extensible (ANE)

Extensible (ANE)Extend the AIR runtime by using native code in your applications.

Interact easily with native APIs (Game Center, iAd, In-App payment, etc.)

Tuesday, October 9, 12

Friday, 2 November 12

Extensible (ANE)

Extensible (ANE)Extend the AIR runtime by using native code in your applications.

Interact easily with native APIs (Game Center, iAd, In-App payment, etc.)

Tuesday, October 9, 12

Friday, 2 November 12

gaming.adobe.com

gaming.adobe.com

Tuesday, October 9, 12

Friday, 2 November 12

Tooling

Friday, 2 November 12

Runtimes

Friday, 2 November 12

Runtimes

Flash Player 11.4

AIR 3.4

Friday, 2 November 12

Runtimes

Flash Player 11.4

AIR 3.4

Stage3D

Friday, 2 November 12

Runtimes

Flash Player 11.4

AIR 3.4

Stage3D

Support for more hardware-accelerated video cards

Friday, 2 November 12

Runtimes

Flash Player 11.4

AIR 3.4

Stage3D

Support for more hardware-accelerated video cards

Compressed texture with alpha support

Friday, 2 November 12

Runtimes

Flash Player 11.4

AIR 3.4

Stage3D

Support for more hardware-accelerated video cards

Compressed texture with alpha support

ActionScript Native Extensions

Friday, 2 November 12

Runtimes

Flash Player 11.4

AIR 3.4

Stage3D

Support for more hardware-accelerated video cards

Compressed texture with alpha support

ActionScript Native Extensions

AIR Direct Deployment

Friday, 2 November 12

Reach

Friday, 2 November 12

Reach

Over 25k AIR apps on the App Store and Google Play

Friday, 2 November 12

My dad made this

2 Hours, Starling Framework, AIR 3.3

Friday, 2 November 12

Tuesday, October 9, 12

Friday, 2 November 12

Questions?

Friday, 2 November 12

http://www.hsharma.com

@hemanthsharma

http://www.facebook.com/hemanthsharma

http://gaming.adobe.com

Questions?

Friday, 2 November 12