Adobe: Changing the game
-
Upload
devgamm-conference -
Category
Documents
-
view
5.348 -
download
8
description
Transcript of Adobe: Changing the game
Changing the gameDecember 8th 2012
Thibault Imbert | Sr. Product Manager (Graphics, ActionScript, Adobe Scout)@thibault_imbert | bytearray.org
Friday, December 7, 12
The audience
Approximately 600M people have already opted into using the silent auto update feature.
600M is more than 2 #mes the number of Xbox360, PS3 and Wii ever sold.
We can update these 600 million people to new versions of the runtime in less than 48 hours.
facebook.com/AngryBirds
Friday, December 7, 12
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
Friday, December 7, 12
Friday, December 7, 12
No frictionReuse ActionScript 3 code between desktop and mobile targets.
No shared runtime is required when packaged on mobile devices.
Flash Player forDesktop browsers
Adobe AIR forStandalone apps
Same code (AS3)No friction
*
* Chrome only
Friday, December 7, 12
• Concurrency (ActionScript workers)
• Support for more hardware-accelerated video cards
• Compressed texture with alpha support
• StageVideo.attachCamera
• Camera.copyToByteArray/Camera.copyToVector/drawToBitmapData
• LZMA runtime compression/decompression on ByteArray
• AIR iOS Push Noti!cations
• AIR direct deployment (without iTunes)
FLASH PLAYER 11.4 / AIR 3.4
Friday, December 7, 12
• Shared memory support for Concurrency (ActionScript workers)
• Debug stack trace in release builds of Flash Player
FLASH PLAYER 11.5 / AIR 3.5
Friday, December 7, 12
• Query Graphics Data
• Multiple SWF support for iOS
• Fullscreen UI permission dialog improvement
FLASH PLAYER 11.6 / AIR 3.6
On Labs!labs.adobe.com
Friday, December 7, 12
• MovieClip.isPlaying
• DisplayObjectContainer.removeChildren
• FrameLabel events
• No BitmapData size limitation
• ApplicationDomain.getQuali!edDe!nitionNames()
• BitmapData.drawWithQuality
• Native JPEG/PNG/JPEG-XR Compression
• MouseEvent.RELEASE_OUTSIDE
• Cubic bezier
• ...
JDI: TINY APIS BIG IMPACT
Friday, December 7, 12
Demo
QueryWorkers
Friday, December 7, 12
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.
Got 60fps on Mobile & Desktop thanks to @gamua (Starling), Nape, & AIR @gamebuilders is close to release now! #gamedev t.co/usISHxvo
Friday, December 7, 12
Powered by Stage3DUse one set of platform agnostic GPU APIs to target the browser and mobile devices (iOS, Android)
Ruby Blast
Friday, December 7, 12
Powered by Stage3DUse one set of platform agnostic GPU APIs to target the browser and mobile devices (iOS, Android)
Smart Aliens
Friday, December 7, 12
Over 20k AIR apps on the iOS App Store and Google Play
Friday, December 7, 12
Top grossing apps on App Stores
Machinarium
Song Pop
Bingo Bash
Friday, December 7, 12
That’s for the past year.
Friday, December 7, 12
Now, what did just happen this week?
Friday, December 7, 12
On December 3rd, 6:30pm, we introduced...
Friday, December 7, 12
Gaming SDK Adobe ScoutFlasCC
Adobe Game Developer Tools
Create Extend your reach Pro"le
Friday, December 7, 12
It is hard today to get started.
Friday, December 7, 12
FlashDevelop + Starling + Air 3.2 + Stage3D + Android = Love!
1. Download and install the Android SDK (http://developer.nvidia.com/tegra-android-development-pack) 2. Install AIR 3.2 Release Candidate on windows (http://labs.adobe.com/technologies/"ashplatformruntimes/air3-2/) 3. Install AIR 3.2 Release Candidate on android device (http://labs.adobe.com/technologies/"ashplatformruntimes/air3-2/) 4. Download AIR 3.2 SDK (http://labs.adobe.com/technologies/"ashplatformruntimes/air3-2/) 5. Overwrite AIR 3.2 SDK over the "ex folder of FlashDevelop (C:\FlashDevelop\Tools\"exsdk) 6. Download, install and start FlashDevelop (http://www."ashdevelop.org/) 7. Create a new Air Mobile As3 App
8. Change aplication.xmla. <application xmlns="http://ns.adobe.com/air/application/3.2">a. <fullScreen>true</fullScreen>b. <visible>true</visible>
c. <renderMode>direct</renderMode> d. <aspectRatio>landscape</aspectRatio> e. <autoOrients>false</autoOrients>
9. Project → Properties a. Output (tab)
i. Platform → Air Mobile ii. Version → 3.2 iii. Dimensions → 1280x800 (This affects only the swf version for desktop) iv. Framerate → 60
b. Sdk (tab) 1. Choose the path where you copied the AIR 3.2 SDK
c. Compiler Options 1. Additional Compiler Options → -swf-version=13 (-swf-version=15 works too)
10. Change Run.bat a. Target → choose your target type b. Desktop → choose your target resolution
11. Create a certi!cate for Android using /bat/CreateCerti!cate.bat and wait a minute 12. Download and copy last Starling library (http://gamua.com/starling/) to your project folder 13. Write your 3D game / app
Friction
Friday, December 7, 12
14. In your Android device be sure to check on your USB debugging and allow Unknown sources a. Menu → Settings → Applications → Unknown sources b. Menu → Settings → Applications → Development → USB debugging 15. Connect your Android to your computer and let the computer install the necessary drivers16. Publish (ctrl + enter)17. If you get a “Fatal error: The application lost the device context!” just putStarling.handleLostContext = true; before you create an instance of Starling. 18. Enjoy it!
Sweet!It just compiles an
empty SWF!
Friction
Friday, December 7, 12
We should go from 18 steps to 3:
1. Download Flash Builder2. Open a sample provided
3. Compile and test
Frictionless, easy to get started
Friday, December 7, 12
AIR SDK Frameworks Extensions Docs
Game CenterProduct StoreSocialStageAdBetaTesting
Link to resourcesATF DocumentationANE DocumentationCode samples
StarlingAway3DFeathers
Free
AIR SDK 3.5
MacOS (.dmg) Windows (.exe)
}
ATF
ATF command-line tools
Friday, December 7, 12
Friday, December 7, 12
Friday, December 7, 12
Friday, December 7, 12
Friday, December 7, 12
StarlingStarling is an open-source, 2D framework that makes it easy to create GPU-accelerated games and applications.
starling-framework.org
var hero:Sprite = new Sprite();hero.x = 200;hero.y = 200;hero.addEventListener(Event.ENTER_FRAME, loop);addChild(hero);
Free eBook available for download at O’Reilly:
http://oreil.ly/PPsohC
Friday, December 7, 12
Demo
Friday, December 7, 12
FeathersCreate 2D UI on the GPU with Feathers. A lightweight open-source 2D UI component extension for Starling.
feathersui.com
Friday, December 7, 12
Away3DLightweight open-source 3D framework. Huge community contributing.
away3d.com
Friday, December 7, 12
Delta Strike: "Fleet" Gameplay Demo
Friday, December 7, 12
Delta Strike: "Fleet" Gameplay Demo
Friday, December 7, 12
The stackAll of these frameworks are supported by Adobe.
By supporting 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
Friday, December 7, 12
FlasCCBring your native C/C++ games to the browser to reach a billion people.
C/C++
(llvm-gcc)LLVM bitcode
AS3 Bytecode
(.abc)
on AVM2
Friday, December 7, 12
FlasCCNative code runs securely and cross-platform in the ActionScript 3 Virtual Machine.
C/C++
(llvm-gcc)
LLVM
bitcode
AS3 Bytecode
(.abc)
on AVM2
Friday, December 7, 12
Friday, December 7, 12
Friday, December 7, 12
Friday, December 7, 12
Demo
Friday, December 7, 12
Unity Flash exportBring your Unity games to the browser reaching millions of people.
unity3d.com/unity/publishing/flash
Friday, December 7, 12
Pro!lingLimitations today with Flash Player and AIR
VM only
Today, using the pro!ler in Flash Builder only exposes VM related information.
Debugger builds only
The existing Flash Builder pro!ler relies on debugger builds (performing slower than release builds).
Not stable
Complex content can also crash your pro!ling
No in-context testing
Being able to use release builds allows easy in-context testing.
No visualization
There is no existing tool allowing developers to easily spot issues in their content.
No mobile pro!ling
There is no out of the box solution to pro!le mobile content (AIR) today.
Friday, December 7, 12
Adobe ScoutRevolutionize the way you pro!le Flash content across desktop and mobile devices.
Monocle exposes granular information never exposed before to Flash developers.
No code instrumentation needed.
Works with the release Flash Player and AIR runtime.
Friday, December 7, 12
Friday, December 7, 12
Demo
Friday, December 7, 12
Con!gure with Companion App
(App Store/Google Play)
Test Pro!le
Seamless pro!ling
Friday, December 7, 12
Friday, December 7, 12
Great, how do I get this?
Friday, December 7, 12
Friday, December 7, 12
Friday, December 7, 12
FutureLonger term plans
Flash BuilderActionScript “Next”
ASC, AOT, AVMGraphics
Friday, December 7, 12
ACTIONSCRIPT PERFORMANCE
ActionScript 3
Today(ActionScript Workers)
Flash Player 11.4/AIR 3.4
Q4 2012ASC 2.0
Flash Player 11.x/AIR 3.x(better bytecode,
faster performance)
ActionScript 3
2013ASC 4.0
ActionScript “Next”
Introduce concurrencyBring ActionScript to the
next levelPerformance improvements
ActionScript “Next”
Friday, December 7, 12
TOOLING ALIGNMENT
ActionScript 3
Today(ActionScript Workers)
Flash Player 11.4/AIR 3.4
Q4 2012ASC 2.0
Flash Player 11.x/AIR 3.x(better bytecode,
faster performance)
ActionScript 3 ActionScript “Next”
Introduce concurrencyBring ActionScript to the
next levelPerformance improvements
Flash Pro CS6 UpdateFlash Builder 4.7
Flash Builder 4.7 Flash Builder “Next”
2013ASC 4.0
ActionScript “Next”
Friday, December 7, 12
ACTIONSCRIPT PERFORMANCE
A great language for game development (and much else)
1. Provide developers with precise controls over execution speed / memory
consumption of their games
2. Exploit modern compiler/VM technology to eliminate the need for tedious, error-
prone performance tweaks
3. Prepare the language for games of the future (functional programming,
concurrency, parallelism)
Friday, December 7, 12
Graphics
Friday, December 7, 12
TodayFlash Player 11.4/AIR 3.4
Stage3D “constrained” Stage3D
After tomorrowFlash Player 11.7/AIR 3.7
Stage3D “extended” pro!le(for Sergey!)Increased GPU reach
Query Graphics Data
Query Graphics
TomorrowFlash Player 11.6/AIR 3.6
Friday, December 7, 12
ATF Format
New compression formats(2D content)
Stage3D
TomorrowFlash Player 11.7/AIR 3.7
Stage3D “extended” pro!le
Query Graphics Data
Query Graphics
TomorrowFlash Player 11.6/AIR 3.6
Friday, December 7, 12
ATF Format
New compression formats(2D content)
TomorrowFlash Player 11.7/AIR 3.7
JDIs
Improvements
TomorrowFlash Player 11.x/AIR 3.x
Friday, December 7, 12
What about theseStandards
Friday, December 7, 12
gaming.adobe.com
Friday, December 7, 12
Friday, December 7, 12