News: New team, Major work being done on AOT dynamic runtime, compiler conformance, future work..

183 views
Skip to first unread message

Ben Cooley

unread,
Aug 4, 2013, 2:16:22 PM8/4/13
to plays...@googlegroups.com
PlayScript News
------------------------

We now have three full time engineers devoted entirely to working on the PlayScript project.   Two engineers are focused on completing the runtime and on runtime performance, and one full time engineer working on the compiler and conformance.  This increase in resources will allow us to make faster progress on AS3 compatibility and device performance in the near term as well as also closing out larger issues with Android support, tooling, and testing.

The current focus presently is on performance of the AOT dynamic runtime, and further work on compiler conformance to reduce the number of patches required to port an ActionScript project to be compatible with PlayScript's AS3 compiler (in other words resolving a good number of the P0 and P1 bugs in the github issues list).  

On the dynamic runtime front, we are re-writing the C# dynamic support for AOT mode to make it run optimally without dynamic compilation by simplifying dynamic invoke calls, reducing the number of conversions, simplifying binary and unary and other expression binders, more intelligent caching for AOT, and then testing each change with both real world and synthetic benchmarks on device to check our progress.   The goal is to dramatically improve dynamic runtime performance for all games, and to reduce the overall delta in performance between mobile and web.

On the conformance front, we have the full AS3 language conformance test framework installed and will be setting it up to run on our CI server to track our progress towards our desired conformance goals.   Our overall goal is to be off the shelf compatible with the majority of well written ActionScript code using STRICT mode compilation.  

In the near future will will also be working on delivering the Android port, updating the framework to Mono 3.2, resolving some issues with autocomplete in the IDE plugin, and setting up our internal Jenkins CI server to auto-build and run both the C# and ActionScript conformance tests.

Given the large amount of work being done on the compiler and runtime, we are currently not building binary releases (as they are out of date almost immediately after they are built).   For any evaluation or work with PlayScript, we recommend pulling the playscript-mono github repository and building from source.   As we get closer to a full beta version of the compiler and runtime we will move to building binary installer versions of the compiler.

You are welcome to test-drive PlayScript now by building from source but please understand that this is very much alpha software and we are in a core development phase of the project - not a public release and support phase.  The compiler is relatively complete and capable of compiling very large ActionScript projects, albeit with a variety of required patches for some still as yet unimplemented features.  The runtime is also at this point very usable for larger game projects, though there are still a good number of unimplemented API's.  If you are going to build and run the compiler on actual game code, we would be very interested in hearing any feedback and in accepting any bug reports.

Cheers!

The PlayScript Team




alex...@digikama.com

unread,
Aug 6, 2013, 1:06:31 PM8/6/13
to plays...@googlegroups.com
Hi! That's great news, best of luck to you guys! A lot of Flash game developers are not hardcore software engineers and don't see/understand Playscript potential for now, but as soon as you'll get to the point when it's working out of the box - I believe you'll get a lot of praise from Flash gamedev community! :)
Reply all
Reply to author
Forward
0 new messages