If you’re one of the many people aghast at Adobe’s decision to abandon ActionScript 4 then you might be very interested in PlayScript. Developed by Zynga, PlayScript is an open-source ActionScript 3 compatible compiler that targets a variety of runtimes to quickly build 3D games for both the web and mobile devices.
In addition to ActionScript support, Zynga has gone that extra mile and created a new language – PlayScript – which you can think of as a spiritual successor to ActionScript 3. PlayScript is derived from both C# and ActionScript 3, and provides all the exciting features of C# including generics, value types, operator overloading, and asynchronous programming. You can even relatively quickly convert existing ActionScript code into PlayScript with only a few modifications.
To make all this work, Zynga created the appropriate bindings for Stage3D, which in turn allows all your favourite GPU-based frameworks such as Starling, Feathers, and Away3D to run without any modification. It doesn’t stop there though. Unlike Adobe AIR, which has limited support for native iOS and Android APIs, PlayScript provides (via Mono) full access to APIs on various mobile platforms. Of course, you can write your own native extensions for AIR projects, but it’s hardly an ideal solution.
The PlayScript compiler also has experimental C++ and JavaScript targets, allowing ActionScript to be run via JavaScript on the Web, or natively on PC and mobile.
But why would you want to use PlayScript? Well it may not be for everyone, and most people might simply be happy working with Flash Player or AIR. Zynga however felt that there weren’t any suitable technologies that allowed them to deliver their games to the web and across a wide enough range of mobile devices.
PlayScript is available on github. It’ll be interesting to see what Zynga produce using PlayScript over the coming months.
It’s interesting that they aren’t intending to use PlayScript for 2D games – only 3D. They use Cocos2d-x for cross platform 2D game development.
Do the apps run where AIR does not? I mean Windows 8 Modern UI for example?
Yeah, but is it REALLY flash? You mentioned flashplayer runtime as a target for the compiler. I couldn’t find information for that, yet. Would be great if you could give me some hints on how to compile for flash.
Hi Mike. Yeah that was a mistake on my part. Thanks for spotting it.