SlideShare una empresa de Scribd logo
1 de 35
Contents
 Before Stage3D

 About Stage3D

 Starling framework

 Starling Feathers extension
Contents
 Demo mobile game app

 Getting started with Starling

 Adobe Gaming SDK

 Adobe Scout
Contents
 Adobe Texture Format (ATF)

 eBooks

 Other resources

 Games showcase
Before Stage3D
       Typical Flash display list
                                                                                           Stage


                                      Instance
                                     SWF file’s
                                     main class

                                              Display
                              Display
                                              Object
                              Object
                                             Container

                                                                              Display
               Button        TextField            Sprite     MovieClip        Object
                                                                             Container


                                                                                  Sprite


Source: http://www.adobe.com/devnet/flash/quickstart/display_list_programming_as3.html
Before Stage3D
      Problems

           Till Flash Player 10, 2D & 3D objects are
           rendered using software mode.

           CPU is over-utilized.

           FP10 can take up max. of 4,000 triangles for 3D
           scenes to maintain acceptable performance.

           Detailed 3D scenes was not possible.

Source: http://www.adobe.com/devnet/flashplayer/articles/how-stage3d-works.html
Before Stage3D
  Problems




Imagine a scene from Epic Citadel rendered using CPU only?
Before Stage3D
  Problems
10 minutes later…
About Stage3D
 Introduced for desktop since Flash Player 11.0 &
 AIR 3.0

 For mobile since Flash Player 11.2 & AIR 3.2
About Stage3D
                                                 Actionscript

                                                               3D frameworks
                           2D frameworks
                                                          (Away3D, Alternativa3D, etc
                        (Starling, ND2D, etc)
                                                                       )

                                                   Stage3D

                                 OpenGL, OpenGL ES 2.0, DirectX

                                                      GPU
Source: http://www.adobe.com/devnet/flashplayer/articles/how-stage3d-works.html
        http://www.adobe.com/devnet/flashplayer/articles/introducing_Starling.html
        http://readwrite.com/2011/10/05/adobes-strategy-to-distinguish
About Stage3D
           Advantages
               Leverage on 3D hardware acceleration
                Offload rendering tasks to GPU
               Achieve higher frame rates (30 – 60 fps)
               More detailed 3D scenes



Source: http://www.adobe.com/devnet/flashplayer/articles/how-stage3d-works.html
About Stage3D
           Disadvantages
               Have to be extra careful when mixing regular Flash
               UI (flash.display.*) with Stage3D.
               Limited to Shader Model 2.0 (latest version is
               4.0), due to requirement to target multiple
               platforms.
               Smaller no. of Shader registers available due to
               older version of Shader Model being used.
Source: http://www.adobe.com/devnet/flashplayer/articles/how-stage3d-works.html
About Stage3D
      Special stage layers

                                      StageVideo (bottom-most layer)
                                            Stage3D[0]
                                                 Stage3D[1]
                                                         Stage3D[n]

                                                                  Stage (top-most layer)




Source: http://www.adobe.com/devnet/flashplayer/articles/how-stage3d-works.html
Starling framework
           Actionscript port of Sparrow framework for iOS.

           Developed on top of Stage3D API.

           Available for desktop and mobile.

           Meant for 2D game development, but has other
           uses too.


Source: http://www.adobe.com/devnet/flashplayer/articles/introducing_Starling.html
Starling framework
           Advantages
               Easy to learn
               Familiar API e.g. flash.display.Sprite starling
               counterpart is starling.display.Sprite
               Similar API useful when updating existing projects
               to Starling.



Source: http://www.adobe.com/devnet/flashplayer/articles/introducing_Starling.html
Starling framework

                                                                                             starling.events.EventDispatcher




                                                                                              starling.display.DisplayObject




                                        starling.display.DisplayObjectContainer                                                        starling.display.Quad




   starling.display.Button   starling.display.Sprite                starling.display.Stage              starling.display.TextField    starling.display.Image




                                                                                                                                     starling.display.MovieClip




Source: http://www.adobe.com/devnet/flashplayer/articles/introducing_Starling.html
Starling framework
           More advantages...
               Event model
               Lightweight
               It’s free!




Source: http://www.adobe.com/devnet/flashplayer/articles/introducing_Starling.html
Starling framework
           Disadvantages
               Layering issues (when using either StageVideo or
               regular Flash display list objects, or both).
               Need to look out for “Resource not available”
               errors (can be solved by Object Pooling).
               Need to watch app file sizes, especially when
               deploying to mobile.
               Spritesheets are limited to 2048 x 2048 pixels.

Source: http://www.adobe.com/devnet/flashplayer/articles/introducing_Starling.html
Starling Feathers
extension
 Lightweight skinnable, extensible UI controls for
 Starling framework.
 Cross-platform, with various themes available for
 both desktop and mobile.
 Provide screen transitions similar to mobile view
 transitions.
 Provide UI controls commonly found in mobile apps
 e.g. header bars, scroll/table views, switches, etc.
Starling Feathers
extension
 Useful layout functions.

 Useful for creating quick prototypes.

 Useful for creating “Settings” screen for apps.

 Prefers AS3 Signals over Events.
Getting started with
Starling
 Tools
  Adobe Flash Builder 4.7
  Eclipse with FB4.7 plug-in
  FlashDevelop
  FDT
  Adobe Flash Professional CS6
Getting started with
Starling
 SDKs
  Adobe AIR SDK 3.2+
  Adobe Gaming SDK
    Pre-packaged with Adobe AIR
    SDK, Starling, Feathers, Away3D, essential native
    extensions and ATF tools
 Flash Player 11.2
Getting started with
Starling
 Frameworks/Libraries
  Starling framework
  http://gamua.com/starling/download/
Getting started with
Starling
 Optional tools (but very useful)
   TexturePacker (for creating spritesheets)
   GlyphDesigner (for creating bitmap fonts)
   PhysicsEditor (when adding 2D physics to games)
   Tiled (widely-used level/map editor)
Adobe Gaming SDK
http://gaming.adobe.com/technologies/gamings
dk/

Convenient package that contained all SDKs &
tools needed to start making games!

Just need a free Creative Cloud account.
Adobe Scout
 http://gaming.adobe.com/technologies/scout/ind
 ex.html

 Next-gen profiling tool for Flash Player and AIR.

 Able to profile apps running in mobile devices.
Adobe Texture Format
       (ATF)
           Traditionally, games use uncompressed formats like
           PNG for game graphics.
           GPUs do not know how to handle image formats like
           PNG and JPEG natively.
           Images are stored into CPU memory instead.
           Better to use GPU memory, but right type of
           compressed textures must be used for each
           platform.
Source: http://www.adobe.com/devnet/flashruntimes/articles/introducing-compressed-textures.html
Adobe Texture Format
       (ATF)
           In order to target multiple platforms, various
           textures must be prepared for each platform:
               DXT for Windows and Mac OS
               ETC1/DXT for Android
               PVRTC for iOS
           ATF can wrap all these formats into one file!


Source: http://www.adobe.com/devnet/flashruntimes/articles/introducing-compressed-textures.html
Adobe Texture Format
(ATF)
 Available from FP 11.4/AIR 3.4 onwards

 Links
  http://www.adobe.com/devnet/flashruntimes/articl
  es/introducing-compressed-textures.html
  http://www.adobe.com/devnet/flashruntimes/articl
  es/atf-users-guide.html
eBooks
Introducing Starling
 Available for free at O’Reilly
 http://shop.oreilly.com/product/0636920024217.do
Other resources
 http://gamua.com/starling/help/
  Starling framework website “Help” section
 Gotoandlearn.com
  Starling video tutorials
 Bytearray.org
  Tutorials, tips
Other resources
 Hsharma.com
  Video tutorials, tips; Creator of Hungry Hero open-
  source game
 Tomkrcha.com
  Tutorials, tips
Games showcase
http://gaming.adobe.com/showcase/
Conclusion
 Please donate!
  http://gamua.com/donate/

Más contenido relacionado

La actualidad más candente

Making High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiMaking High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiLuis Cataldi
 
Androidreadme
AndroidreadmeAndroidreadme
Androidreadmeiderdik
 
iOS app dev Training - Session1
iOS app dev Training - Session1iOS app dev Training - Session1
iOS app dev Training - Session1Hussain Behestee
 
2%20-%20Scripting%20Tutorial
2%20-%20Scripting%20Tutorial2%20-%20Scripting%20Tutorial
2%20-%20Scripting%20Tutorialtutorialsruby
 
New to native? Getting Started With iOS Development
New to native?   Getting Started With iOS DevelopmentNew to native?   Getting Started With iOS Development
New to native? Getting Started With iOS DevelopmentGeoffrey Goetz
 
Luis cataldi-ue4-vr-best-practices2
Luis cataldi-ue4-vr-best-practices2Luis cataldi-ue4-vr-best-practices2
Luis cataldi-ue4-vr-best-practices2Luis Cataldi
 
Intro to unreal with framework and vr
Intro to unreal with framework and vrIntro to unreal with framework and vr
Intro to unreal with framework and vrLuis Cataldi
 
UI Testing for Your Xamarin.Forms Apps
UI Testing for Your Xamarin.Forms AppsUI Testing for Your Xamarin.Forms Apps
UI Testing for Your Xamarin.Forms AppsCodrina Merigo
 
Intro to VR with Unreal Engine
Intro to VR with Unreal Engine   Intro to VR with Unreal Engine
Intro to VR with Unreal Engine Unreal Engine
 
Making VR games and experiences in Unreal Engine
Making VR games and experiences in Unreal EngineMaking VR games and experiences in Unreal Engine
Making VR games and experiences in Unreal EngineLuis Cataldi
 
Behavior Tree in Unreal engine 4
Behavior Tree in Unreal engine 4Behavior Tree in Unreal engine 4
Behavior Tree in Unreal engine 4Huey Park
 
Flutter beyond Hello world talk
Flutter beyond Hello world talkFlutter beyond Hello world talk
Flutter beyond Hello world talkAhmed Abu Eldahab
 

La actualidad más candente (16)

Making High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis CataldiMaking High Quality Interactive VR with Unreal Engine Luis Cataldi
Making High Quality Interactive VR with Unreal Engine Luis Cataldi
 
Androidreadme
AndroidreadmeAndroidreadme
Androidreadme
 
Hello Flutter
Hello FlutterHello Flutter
Hello Flutter
 
iOS app dev Training - Session1
iOS app dev Training - Session1iOS app dev Training - Session1
iOS app dev Training - Session1
 
Intro to appcelerator
Intro to appceleratorIntro to appcelerator
Intro to appcelerator
 
2%20-%20Scripting%20Tutorial
2%20-%20Scripting%20Tutorial2%20-%20Scripting%20Tutorial
2%20-%20Scripting%20Tutorial
 
New to native? Getting Started With iOS Development
New to native?   Getting Started With iOS DevelopmentNew to native?   Getting Started With iOS Development
New to native? Getting Started With iOS Development
 
Luis cataldi-ue4-vr-best-practices2
Luis cataldi-ue4-vr-best-practices2Luis cataldi-ue4-vr-best-practices2
Luis cataldi-ue4-vr-best-practices2
 
Smart apps creator 3 eng step by-step book
Smart apps creator 3 eng step by-step bookSmart apps creator 3 eng step by-step book
Smart apps creator 3 eng step by-step book
 
Intro to unreal with framework and vr
Intro to unreal with framework and vrIntro to unreal with framework and vr
Intro to unreal with framework and vr
 
UI Testing for Your Xamarin.Forms Apps
UI Testing for Your Xamarin.Forms AppsUI Testing for Your Xamarin.Forms Apps
UI Testing for Your Xamarin.Forms Apps
 
Ios - Introduction to platform & SDK
Ios - Introduction to platform & SDKIos - Introduction to platform & SDK
Ios - Introduction to platform & SDK
 
Intro to VR with Unreal Engine
Intro to VR with Unreal Engine   Intro to VR with Unreal Engine
Intro to VR with Unreal Engine
 
Making VR games and experiences in Unreal Engine
Making VR games and experiences in Unreal EngineMaking VR games and experiences in Unreal Engine
Making VR games and experiences in Unreal Engine
 
Behavior Tree in Unreal engine 4
Behavior Tree in Unreal engine 4Behavior Tree in Unreal engine 4
Behavior Tree in Unreal engine 4
 
Flutter beyond Hello world talk
Flutter beyond Hello world talkFlutter beyond Hello world talk
Flutter beyond Hello world talk
 

Destacado

Adobe AIR Seminar
Adobe AIR SeminarAdobe AIR Seminar
Adobe AIR SeminarYoss Cohen
 
Starling Deep Dive
Starling Deep DiveStarling Deep Dive
Starling Deep DiveLee Brimelow
 
Starling Framework
Starling FrameworkStarling Framework
Starling FrameworkKrylover
 
Adobe AIR Programming to Desktop and Mobile
Adobe AIR Programming to Desktop and MobileAdobe AIR Programming to Desktop and Mobile
Adobe AIR Programming to Desktop and MobilePasi Manninen
 
Mobile Gaming: Corona SDK & Adobe AIR RIA Unleashed 2011
Mobile Gaming: Corona SDK & Adobe AIR RIA Unleashed 2011Mobile Gaming: Corona SDK & Adobe AIR RIA Unleashed 2011
Mobile Gaming: Corona SDK & Adobe AIR RIA Unleashed 2011Jesse Warden
 

Destacado (6)

Adobe AIR Seminar
Adobe AIR SeminarAdobe AIR Seminar
Adobe AIR Seminar
 
Starling Deep Dive
Starling Deep DiveStarling Deep Dive
Starling Deep Dive
 
Starling Framework
Starling FrameworkStarling Framework
Starling Framework
 
Intro To Starling Framework for ActionScript 3.0
Intro To Starling Framework for ActionScript 3.0Intro To Starling Framework for ActionScript 3.0
Intro To Starling Framework for ActionScript 3.0
 
Adobe AIR Programming to Desktop and Mobile
Adobe AIR Programming to Desktop and MobileAdobe AIR Programming to Desktop and Mobile
Adobe AIR Programming to Desktop and Mobile
 
Mobile Gaming: Corona SDK & Adobe AIR RIA Unleashed 2011
Mobile Gaming: Corona SDK & Adobe AIR RIA Unleashed 2011Mobile Gaming: Corona SDK & Adobe AIR RIA Unleashed 2011
Mobile Gaming: Corona SDK & Adobe AIR RIA Unleashed 2011
 

Similar a Creative Coders March 2013 - Introducing Starling Framework

Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screenspaultrani
 
.NET Debugging Tips and Techniques
.NET Debugging Tips and Techniques.NET Debugging Tips and Techniques
.NET Debugging Tips and TechniquesBala Subra
 
.Net Debugging Techniques
.Net Debugging Techniques.Net Debugging Techniques
.Net Debugging TechniquesBala Subra
 
Flash for Mobile Devices
Flash for Mobile DevicesFlash for Mobile Devices
Flash for Mobile Devicespaultrani
 
What's New for Presentation in Visual Studio 2008 SP1
What's New for Presentation in Visual Studio 2008 SP1What's New for Presentation in Visual Studio 2008 SP1
What's New for Presentation in Visual Studio 2008 SP1ukdpe
 
Introduction to html5 game programming with impact js
Introduction to html5 game programming with impact jsIntroduction to html5 game programming with impact js
Introduction to html5 game programming with impact jsLuca Galli
 
Adobe gaming flash gamm michael
Adobe gaming flash gamm michaelAdobe gaming flash gamm michael
Adobe gaming flash gamm michaelMichael Chaize
 
GFX Part 7 - Introduction to Rendering Targets in OpenGL ES
GFX Part 7 - Introduction to Rendering Targets in OpenGL ESGFX Part 7 - Introduction to Rendering Targets in OpenGL ES
GFX Part 7 - Introduction to Rendering Targets in OpenGL ESPrabindh Sundareson
 
HTML5DevConf - Unleash the power of 3D with babylon.js
HTML5DevConf - Unleash the power of 3D with babylon.jsHTML5DevConf - Unleash the power of 3D with babylon.js
HTML5DevConf - Unleash the power of 3D with babylon.jsDavid Catuhe
 
Porting C++ apps to FLASCC
Porting C++ apps to FLASCCPorting C++ apps to FLASCC
Porting C++ apps to FLASCCPavel Nakaznenko
 
Sergey Gonchar - Fast rendering with Starling
Sergey Gonchar - Fast rendering with StarlingSergey Gonchar - Fast rendering with Starling
Sergey Gonchar - Fast rendering with StarlingFlash Conference
 
Minko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko3D
 
Adobe gaming today tomorrow Trento
Adobe gaming today tomorrow TrentoAdobe gaming today tomorrow Trento
Adobe gaming today tomorrow TrentoInSide Training
 
Robotlegs on Top of Gaia
Robotlegs on Top of GaiaRobotlegs on Top of Gaia
Robotlegs on Top of GaiaJesse Warden
 
NVIDIA's OpenGL Functionality
NVIDIA's OpenGL FunctionalityNVIDIA's OpenGL Functionality
NVIDIA's OpenGL FunctionalityMark Kilgard
 
JIT Spraying Never Dies - Bypass CFG By Leveraging WARP Shader JIT Spraying.pdf
JIT Spraying Never Dies - Bypass CFG By Leveraging WARP Shader JIT Spraying.pdfJIT Spraying Never Dies - Bypass CFG By Leveraging WARP Shader JIT Spraying.pdf
JIT Spraying Never Dies - Bypass CFG By Leveraging WARP Shader JIT Spraying.pdfSamiraKids
 
Developer Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for BeginnersDeveloper Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for BeginnersJiaxuan Lin
 

Similar a Creative Coders March 2013 - Introducing Starling Framework (20)

Adobe MAX Recap
Adobe MAX RecapAdobe MAX Recap
Adobe MAX Recap
 
Creating Flash Content for Multiple Screens
Creating Flash Content for Multiple ScreensCreating Flash Content for Multiple Screens
Creating Flash Content for Multiple Screens
 
.NET Debugging Tips and Techniques
.NET Debugging Tips and Techniques.NET Debugging Tips and Techniques
.NET Debugging Tips and Techniques
 
.Net Debugging Techniques
.Net Debugging Techniques.Net Debugging Techniques
.Net Debugging Techniques
 
Flash for Mobile Devices
Flash for Mobile DevicesFlash for Mobile Devices
Flash for Mobile Devices
 
What's New for Presentation in Visual Studio 2008 SP1
What's New for Presentation in Visual Studio 2008 SP1What's New for Presentation in Visual Studio 2008 SP1
What's New for Presentation in Visual Studio 2008 SP1
 
SWT - Technical Deep Dive
SWT - Technical Deep DiveSWT - Technical Deep Dive
SWT - Technical Deep Dive
 
Introduction to html5 game programming with impact js
Introduction to html5 game programming with impact jsIntroduction to html5 game programming with impact js
Introduction to html5 game programming with impact js
 
Adobe: Adobe Gaming NOW!
Adobe: Adobe Gaming NOW!Adobe: Adobe Gaming NOW!
Adobe: Adobe Gaming NOW!
 
Adobe gaming flash gamm michael
Adobe gaming flash gamm michaelAdobe gaming flash gamm michael
Adobe gaming flash gamm michael
 
GFX Part 7 - Introduction to Rendering Targets in OpenGL ES
GFX Part 7 - Introduction to Rendering Targets in OpenGL ESGFX Part 7 - Introduction to Rendering Targets in OpenGL ES
GFX Part 7 - Introduction to Rendering Targets in OpenGL ES
 
HTML5DevConf - Unleash the power of 3D with babylon.js
HTML5DevConf - Unleash the power of 3D with babylon.jsHTML5DevConf - Unleash the power of 3D with babylon.js
HTML5DevConf - Unleash the power of 3D with babylon.js
 
Porting C++ apps to FLASCC
Porting C++ apps to FLASCCPorting C++ apps to FLASCC
Porting C++ apps to FLASCC
 
Sergey Gonchar - Fast rendering with Starling
Sergey Gonchar - Fast rendering with StarlingSergey Gonchar - Fast rendering with Starling
Sergey Gonchar - Fast rendering with Starling
 
Minko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSLMinko - Targeting Flash/Stage3D with C++ and GLSL
Minko - Targeting Flash/Stage3D with C++ and GLSL
 
Adobe gaming today tomorrow Trento
Adobe gaming today tomorrow TrentoAdobe gaming today tomorrow Trento
Adobe gaming today tomorrow Trento
 
Robotlegs on Top of Gaia
Robotlegs on Top of GaiaRobotlegs on Top of Gaia
Robotlegs on Top of Gaia
 
NVIDIA's OpenGL Functionality
NVIDIA's OpenGL FunctionalityNVIDIA's OpenGL Functionality
NVIDIA's OpenGL Functionality
 
JIT Spraying Never Dies - Bypass CFG By Leveraging WARP Shader JIT Spraying.pdf
JIT Spraying Never Dies - Bypass CFG By Leveraging WARP Shader JIT Spraying.pdfJIT Spraying Never Dies - Bypass CFG By Leveraging WARP Shader JIT Spraying.pdf
JIT Spraying Never Dies - Bypass CFG By Leveraging WARP Shader JIT Spraying.pdf
 
Developer Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for BeginnersDeveloper Student Clubs NUK - Flutter for Beginners
Developer Student Clubs NUK - Flutter for Beginners
 

Último

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Último (20)

Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

Creative Coders March 2013 - Introducing Starling Framework

  • 1.
  • 2. Contents Before Stage3D About Stage3D Starling framework Starling Feathers extension
  • 3. Contents Demo mobile game app Getting started with Starling Adobe Gaming SDK Adobe Scout
  • 4. Contents Adobe Texture Format (ATF) eBooks Other resources Games showcase
  • 5. Before Stage3D Typical Flash display list Stage Instance SWF file’s main class Display Display Object Object Container Display Button TextField Sprite MovieClip Object Container Sprite Source: http://www.adobe.com/devnet/flash/quickstart/display_list_programming_as3.html
  • 6. Before Stage3D Problems Till Flash Player 10, 2D & 3D objects are rendered using software mode. CPU is over-utilized. FP10 can take up max. of 4,000 triangles for 3D scenes to maintain acceptable performance. Detailed 3D scenes was not possible. Source: http://www.adobe.com/devnet/flashplayer/articles/how-stage3d-works.html
  • 7. Before Stage3D Problems Imagine a scene from Epic Citadel rendered using CPU only?
  • 8. Before Stage3D Problems 10 minutes later…
  • 9. About Stage3D Introduced for desktop since Flash Player 11.0 & AIR 3.0 For mobile since Flash Player 11.2 & AIR 3.2
  • 10. About Stage3D Actionscript 3D frameworks 2D frameworks (Away3D, Alternativa3D, etc (Starling, ND2D, etc) ) Stage3D OpenGL, OpenGL ES 2.0, DirectX GPU Source: http://www.adobe.com/devnet/flashplayer/articles/how-stage3d-works.html http://www.adobe.com/devnet/flashplayer/articles/introducing_Starling.html http://readwrite.com/2011/10/05/adobes-strategy-to-distinguish
  • 11. About Stage3D Advantages Leverage on 3D hardware acceleration Offload rendering tasks to GPU Achieve higher frame rates (30 – 60 fps) More detailed 3D scenes Source: http://www.adobe.com/devnet/flashplayer/articles/how-stage3d-works.html
  • 12. About Stage3D Disadvantages Have to be extra careful when mixing regular Flash UI (flash.display.*) with Stage3D. Limited to Shader Model 2.0 (latest version is 4.0), due to requirement to target multiple platforms. Smaller no. of Shader registers available due to older version of Shader Model being used. Source: http://www.adobe.com/devnet/flashplayer/articles/how-stage3d-works.html
  • 13. About Stage3D Special stage layers StageVideo (bottom-most layer) Stage3D[0] Stage3D[1] Stage3D[n] Stage (top-most layer) Source: http://www.adobe.com/devnet/flashplayer/articles/how-stage3d-works.html
  • 14. Starling framework Actionscript port of Sparrow framework for iOS. Developed on top of Stage3D API. Available for desktop and mobile. Meant for 2D game development, but has other uses too. Source: http://www.adobe.com/devnet/flashplayer/articles/introducing_Starling.html
  • 15. Starling framework Advantages Easy to learn Familiar API e.g. flash.display.Sprite starling counterpart is starling.display.Sprite Similar API useful when updating existing projects to Starling. Source: http://www.adobe.com/devnet/flashplayer/articles/introducing_Starling.html
  • 16. Starling framework starling.events.EventDispatcher starling.display.DisplayObject starling.display.DisplayObjectContainer starling.display.Quad starling.display.Button starling.display.Sprite starling.display.Stage starling.display.TextField starling.display.Image starling.display.MovieClip Source: http://www.adobe.com/devnet/flashplayer/articles/introducing_Starling.html
  • 17. Starling framework More advantages... Event model Lightweight It’s free! Source: http://www.adobe.com/devnet/flashplayer/articles/introducing_Starling.html
  • 18. Starling framework Disadvantages Layering issues (when using either StageVideo or regular Flash display list objects, or both). Need to look out for “Resource not available” errors (can be solved by Object Pooling). Need to watch app file sizes, especially when deploying to mobile. Spritesheets are limited to 2048 x 2048 pixels. Source: http://www.adobe.com/devnet/flashplayer/articles/introducing_Starling.html
  • 19. Starling Feathers extension Lightweight skinnable, extensible UI controls for Starling framework. Cross-platform, with various themes available for both desktop and mobile. Provide screen transitions similar to mobile view transitions. Provide UI controls commonly found in mobile apps e.g. header bars, scroll/table views, switches, etc.
  • 20. Starling Feathers extension Useful layout functions. Useful for creating quick prototypes. Useful for creating “Settings” screen for apps. Prefers AS3 Signals over Events.
  • 21.
  • 22. Getting started with Starling Tools Adobe Flash Builder 4.7 Eclipse with FB4.7 plug-in FlashDevelop FDT Adobe Flash Professional CS6
  • 23. Getting started with Starling SDKs Adobe AIR SDK 3.2+ Adobe Gaming SDK Pre-packaged with Adobe AIR SDK, Starling, Feathers, Away3D, essential native extensions and ATF tools Flash Player 11.2
  • 24. Getting started with Starling Frameworks/Libraries Starling framework http://gamua.com/starling/download/
  • 25. Getting started with Starling Optional tools (but very useful) TexturePacker (for creating spritesheets) GlyphDesigner (for creating bitmap fonts) PhysicsEditor (when adding 2D physics to games) Tiled (widely-used level/map editor)
  • 26. Adobe Gaming SDK http://gaming.adobe.com/technologies/gamings dk/ Convenient package that contained all SDKs & tools needed to start making games! Just need a free Creative Cloud account.
  • 27. Adobe Scout http://gaming.adobe.com/technologies/scout/ind ex.html Next-gen profiling tool for Flash Player and AIR. Able to profile apps running in mobile devices.
  • 28. Adobe Texture Format (ATF) Traditionally, games use uncompressed formats like PNG for game graphics. GPUs do not know how to handle image formats like PNG and JPEG natively. Images are stored into CPU memory instead. Better to use GPU memory, but right type of compressed textures must be used for each platform. Source: http://www.adobe.com/devnet/flashruntimes/articles/introducing-compressed-textures.html
  • 29. Adobe Texture Format (ATF) In order to target multiple platforms, various textures must be prepared for each platform: DXT for Windows and Mac OS ETC1/DXT for Android PVRTC for iOS ATF can wrap all these formats into one file! Source: http://www.adobe.com/devnet/flashruntimes/articles/introducing-compressed-textures.html
  • 30. Adobe Texture Format (ATF) Available from FP 11.4/AIR 3.4 onwards Links http://www.adobe.com/devnet/flashruntimes/articl es/introducing-compressed-textures.html http://www.adobe.com/devnet/flashruntimes/articl es/atf-users-guide.html
  • 31. eBooks Introducing Starling Available for free at O’Reilly http://shop.oreilly.com/product/0636920024217.do
  • 32. Other resources http://gamua.com/starling/help/ Starling framework website “Help” section Gotoandlearn.com Starling video tutorials Bytearray.org Tutorials, tips
  • 33. Other resources Hsharma.com Video tutorials, tips; Creator of Hungry Hero open- source game Tomkrcha.com Tutorials, tips
  • 35. Conclusion Please donate! http://gamua.com/donate/