Creative Coders March 2013 - Introducing Starling Framework


Published on

Introducing Starling Framework presentation by Wu Huijie
18 March 2013

- Introduction to Starling Framework and Stage3D technology by Adobe.
- Tips on getting started with Starling Framework.
- Find out more about Adobe Gaming, and tools that can help you build games for various platforms, including iOS, Android and Blackberry.

More info about Starling Framework:

More info about Stage3D:

Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Creative Coders March 2013 - Introducing Starling Framework

  1. 1. Contents Before Stage3D About Stage3D Starling framework Starling Feathers extension
  2. 2. Contents Demo mobile game app Getting started with Starling Adobe Gaming SDK Adobe Scout
  3. 3. Contents Adobe Texture Format (ATF) eBooks Other resources Games showcase
  4. 4. 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 SpriteSource:
  5. 5. 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:
  6. 6. Before Stage3D ProblemsImagine a scene from Epic Citadel rendered using CPU only?
  7. 7. Before Stage3D Problems10 minutes later…
  8. 8. About Stage3D Introduced for desktop since Flash Player 11.0 & AIR 3.0 For mobile since Flash Player 11.2 & AIR 3.2
  9. 9. About Stage3D Actionscript 3D frameworks 2D frameworks (Away3D, Alternativa3D, etc (Starling, ND2D, etc) ) Stage3D OpenGL, OpenGL ES 2.0, DirectX GPUSource:
  10. 10. About Stage3D Advantages Leverage on 3D hardware acceleration Offload rendering tasks to GPU Achieve higher frame rates (30 – 60 fps) More detailed 3D scenesSource:
  11. 11. 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:
  12. 12. About Stage3D Special stage layers StageVideo (bottom-most layer) Stage3D[0] Stage3D[1] Stage3D[n] Stage (top-most layer)Source:
  13. 13. 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:
  14. 14. 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:
  15. 15. Starling framework 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.MovieClipSource:
  16. 16. Starling framework More advantages... Event model Lightweight It’s free!Source:
  17. 17. 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:
  18. 18. Starling Feathersextension 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.
  19. 19. Starling Feathersextension Useful layout functions. Useful for creating quick prototypes. Useful for creating “Settings” screen for apps. Prefers AS3 Signals over Events.
  20. 20. Getting started withStarling Tools Adobe Flash Builder 4.7 Eclipse with FB4.7 plug-in FlashDevelop FDT Adobe Flash Professional CS6
  21. 21. Getting started withStarling 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
  22. 22. Getting started withStarling Frameworks/Libraries Starling framework
  23. 23. Getting started withStarling 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)
  24. 24. Adobe Gaming SDK package that contained all SDKs &tools needed to start making games!Just need a free Creative Cloud account.
  25. 25. Adobe Scout ex.html Next-gen profiling tool for Flash Player and AIR. Able to profile apps running in mobile devices.
  26. 26. 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:
  27. 27. 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:
  28. 28. Adobe Texture Format(ATF) Available from FP 11.4/AIR 3.4 onwards Links es/introducing-compressed-textures.html es/atf-users-guide.html
  29. 29. eBooksIntroducing Starling Available for free at O’Reilly
  30. 30. Other resources Starling framework website “Help” section Starling video tutorials Tutorials, tips
  31. 31. Other resources Video tutorials, tips; Creator of Hungry Hero open- source game Tutorials, tips
  32. 32. Games showcase
  33. 33. Conclusion Please donate!