Intro To The Starling Framework For AS3
Starling Overview
- Free & Open Source – Drop your in-house engine and focus on your games!
- Platform independent – Author in Flash tooling ( Debug your game in Flash Player (test fast, breakpoints, trace statements) then deploy via Browser (Mac+Windows+Linux+Mobile), Desktop (Mac+Windows+Linux), iOS (Ipad1+Ipad2, iPhone+iTouch 3rd Generation, iPhone+iTouch 4rd Generation-Retina), Android (Myriad Devices), Blackberry Tablet OS (Blackberry Tablet). Also more obscure devices such as cameras, refrigerators, and internet-televisions can run Flash via AIR.
- Amazing Performance, familiar API -Starling is a pure ActionScript 3 library that mimics the conventional Flash display list architecture. In contrast to conventional display objects, however, all content is rendered directly by the GPU — providing unprecedented rendering performance.
- Embraced by Adobe™, powered by the Community – Adobe supports the development of Starling and plans to integrate it tightly into its tools. You get the best of both worlds: corporate commitment and a vivid community. Starling’s community is praised for its friendliness and is always there for you when you need help — 24/7.*
*I think the last item is particularly interesting. It seems to be quasi-approved by Adobe. This could lead to tighter integration with future Flash Player improvements and bigger marketing muscle for the framework. The 2D Framework with the biggest community has a distinct advantage.
*Second take, it feels like Adobe helping the little open-source guy who did good, rather than tossing an internal project to an open source foundation (ouch! See my thoughts on Apache Flex).
Angry Birds for Facebook Uses Starling!
The performance of the game is very solid and it has physics included too. It is a solid example of what is possible, but moreover its a demonstration of the confidence that Angry Birds creator Rovio has in Starling. Check out Angry Birds With Starling.
Why ’2D’ on top of Stage3D?
Many of us many be wondering why did Adobe release Stage3D instead of just increasing the speed of the regular 2d Display list? Or why not do both?
I think there is a marketable benefit on getting the Flash Player to compete against other 3D gaming solutions (such as Unity3D) and perhaps compete less with emerging 2D gaming solutions (such as HTML5 gaming) so I can sympathize with Adobe’s (better late than never) focus on 3D for Flash. This article “Why Starling (or any other 2D framework on top of Stage3D)?” explains some really good reasoning.
Regardless of why, Stage3D is here, and Starling’s power lies in how it uses the Stage3D – first available in Flash 11 and AIR 3.0. Stage3D is designed for GPU accelerated 3D. While its possible to use the Stage3D API’s directly, it is very difficult. There are 3D frameworks for AS3 (Flare3D, Alternativa3D, Away3D, Minko, but for many game developers we can exploit its power for 2D gaming. That’s why Starling focuses purely on 2D. So an API like Starling helps developers make great content – quickly.
AS3 frameworks use Stage3D for 2D gaming;
- Starling
- ND2D
- M2D
- AtomEngine
- Citrus Engine (Recently Upgraded To Stage3D)
Resources
- See a simple, complete Starling game with source code in my “Flyer Game – One Game, Many Many Frameworks” article.
- With AIR 3.2 we can use Starling for Flash-To-Mobile development for iOS/Android/Blackberry
- Very pretty, complete-ish game with full source code – Whack! And The Tutorial
- Great Video Tutorial on Starling. When he mentions ‘TexturePacker’ you can skip that extra work, by using the ‘Dynamic TextureAtlas’ below.
Extensions
This is no small thing!
The Starling community can share extensions, such as Particle Systems. Particles are cool, but this sole extension – the ONE that I totally love is here. It will save you life!














[...] To Adobe Game Developer Tools. With excitement and momentum (created primarily by Stage3D and its Starling Framework) we see proactive, positive marketing by Adobe for gaming and the Flash Platform. The community [...]