It’s a Starling Halloween

So after making my Starling Particle Editor, I thought I’d take the time to actually build a little something in the framework. And what better thing than a Zombie Shooting Gallery made with the help of my wonderful wife. It’s a 3 meg download with a boring preloader, but it’s fairly well worth the wait. To play, just shoot as many zombies as you can in the allotted 15 seconds. Make sure to use the spacebar to cock the shotgun before each shot. And in case you’ve never seen a zombie movie in your life, be sure to shoot the bastards in the head. It’s funner with the sound turned up as well.

One of the main things I wanted to learn in this exercise was how to use Texture Packer. There were a few technical difficulties though. While the latest version of  Texture Packer will make sprite sheets from .swf files, it does not support 3D transformations within those .swf files. A bit of searching around and I found Zoe from Grant Skinner. While Zoe does support 3D transformations in .swf files, it doesn’t export an .xml file in a format compatible with Starling. After a bit of tinkering (and a helpful tweet from the creator of Texture Packer,  Andreas Löw), I discovered that you can export a .png sequence from Zoe then import that sequence back into Texture Packer to create a single sprite sheet. Once I got that far, I loved Texture Packer. It’s really an amazing tool and highly recommended. I do hope Andreas is able to get the 3D transforms from .swf files in a future release, though.

Still unsure about Starling as a framework in general. It is easy to use and the performance is quite nice, but the api is a bit unsettling. I know the idea was to make it as similar to the regular Flash display list api as possible, but it both goes too far and not far enough. By too far, it keeps all class names the same, so to mix Starling with regular Flash classes (such as the Event class, e.g.) becomes a namespace collision nightmare. On the other hand there are some very basic expected behaviors in Flash that aren’t present in Starling in its current state (for example, you can’t add a child to a Starling MovieClip). My suggestion would be to either make Starling slightly similar to the Flash api, but use some different naming conventions, or go all out and duplicate the display list api in its entirety (I’d prefer the first actually).

Of course the blood gushes were created with my own particle editor.

If you missed the link the first time around, give the game a shot here.

Happy Halloween!