Starling is a flash based game engine, perhaps most famous for Angry Birds. For some time the primary maintainer has been quietly pounding away on the next version. Today (actually a couple days ago, this news item slipped through my net, sorry about that) Starling 2.0 is available and it’s a pretty extensive update. Behind the scenes there were a number of fundamental changes, such as the addition of a mesh class as well as the addition of render cache.
The render cache has a pretty profound effect on CPU load, as illustrated by this graphic demonstrating Starling 1.7(upper) vs 2.0(lower) CPU usage:
The filter API was also rewritten, to make use of the new render cache and improve functionality. Finally there were several convenience changes:
- The
TextField
class is now accompanied by the new TextFormat. The setup is quite similar to classic Flash — but without the pain of constantly having to re-assign the format for changes to show up. In Starling, when you change the TextField’s format, it’s going to be updated right away!- The
TextField
class also includes a new wordWrap property.- The
Image
class contains two new properties: scale9Grid and tileGrid. For Feathers-users, this will sound familiar: they replaceScale3Image
,Scale9Image
andTiledImage
.- All Display Objects can now be scaled uniformly with a single property: scale.
- My personal favorite: the new pixelSnapping property, which is enabled per default, makes sure that all objects are rendered as sharp and crisp as possible. No more casting to
int
to avoid blurriness!- You can now attach “frame actions” to
MovieClips
, i.e. code to execute at certain frames.- The Pool provides simple object-pooling for standard classes like
Point
,Rectangle
andMatrix
.- The juggler now supports
uint
handles forIAnimatable
removal, which prevents nasty pooling bugs.
Full details of the release are available here.