Skip navigation
Help

ActionScript

warning: Creating default object from empty value in /var/www/vhosts/sayforward.com/subdomains/recorder/httpdocs/modules/taxonomy/taxonomy.pages.inc on line 33.

I am no longer committed to supporting any Flash related open-source projects.

Here is why. When I started using the Flash Player it was quite easy to reach its limits. However you were able to get around those limitations with clever hacks and debatable optimization techniques. I was always keen to share my knowledge with the community and to explore all possible options to achieve best performance.

The Flash Player has been hibernating for half a decade now. The only glimpse of performance was finally a set of specialized op-codes which allow you to modify an array of bytes. In layman’s terms this means it was finally possible to do a[b] = c with an acceptable performance. So I wrote a tool which allows you to do just that and many other things. I have spent a good time of my free time trying to improve the performance of the Flash Player and contributing all my code to the community.

As a reminder: I showed some drastic performance improvements at Flash on the Beach in 2009. That was three years ago. It was not necessary to modify the Flash Player and it was not necessary to modify the ActionScript language.

The Adobe roadmap for the Flash runtimes states that Flash Player “Dolores”

  • will support ActionScript Workers
  • comes with improved performance for Apple iOS
  • and ActionScript 3 APIs to access the fast-memory op-codes

This player should be released in the second half of 2012. The “Next” Flash Player will finally include

  • modernizing the core of the Flash runtime
  • work on the VM
  • updates to the ActionScript language

This is planned for 2013 apparently. And what can we expect? Type inference, static typing as a default, and hardware-oriented numeric types. Hooray, so it will be finally possible in 2013 to write a[b] = c without having to use some weird fast-memory op-codes. If we look back to the year 2009 this makes me really sad.

With the introduction of the speed tax you will now have to license your application. No matter if you make money out of it or not. Now I think that 9% is a decent number and I can understand Adobe’s position on this. In fact it is much more friendly than the 30% Google or Apple take. However the AppStore was an invention. What is the invention here? Squeezing money out of an already existing feature, and suddenly making it unavailable after people have been relying on it for years to push the boundaries of the platform and actually innovate?

But for the hell of it, a[b] = c is not a premium feature. Nor are hardware accelerated graphics. That is what I would expect from any decent runtime.

Limiting the capabilities of a runtime — by defaulting back to software rendering for instance — will make it less attractive to use it in the first place. You are probably not interested to go through a signing progress for a small demo. So your performance might be crap, people will complain about the Flash Player taking 100% CPU because its using software rendering (YEY! 2013!), laptop fans will start to dance and you will look like a bad developer because that other guy got the same thing running with hardware acceleration. Or you could use a different technology.

Why is this bad? Because apparently this signing with a $50k threshold targets the enterprise and small developers seem to be acceptable collateral damage. However thinking about the next five to ten years: who is going to write ActionScript code if it is no longer attractive to play around with it in the first place?

We still rely on the Flash Player at audiotool.com. I am still developing for it and we will probably have to use it as long as there is no alternative. Me no longer supporting open-source tools is just me no longer spending my personal time for a platform that I would not use for private stuff. Work is of course not always about fun. But fortunately I am able to spend 90% of my time writing Scala code.

I will finish this blog post with some bad karma:

It’s also worth noting that the new Adobe license will prohibit scenarios where you’d have the first level of a game in the Flash Player, and the full experience inside the Unity Web Player. Alas, this is something you’ll need to be aware of if you were considering such a route.

You will not only pay for the features. You are also welcome to cede some of your rights.

flattr this!

0
Your rating: None

At GameHouse, we believe it's good to game! As the largest developer, publisher, and distributor of casual games, we offer more games and more ways to play them - all across the expansive mix of channels including online, download, smartphone, tablets, and leading social networks. We also power some of the world's most popular game destinations including www.gamehouse.com, www.zylom.com, and www.atrativa.com.

GameHouse Canada, located in spectacular Victoria B.C., is aggressively expanding its

0
Your rating: None



Adobe has published its roadmap for its Flash browser plugin and its AIR desktop application counterpart. More releases, more features, and more performance, are all planned, but on fewer platforms: Adobe is giving up entirely on supporting smartphone browsers, sticking to the core desktop platforms for its plugin—and with a big question mark when it comes to Windows 8.

The company sees Flash as having two main markets that will resist the onslaught of HTML5: game development, and premium (read: encrypted) video. To that end, the features it has planned for future updates focus on making Flash faster, with greater hardware acceleration and improved script performance, and more application-like, with keyboard input in full-screen applications, and support for middle- and right-mouse buttons.

Read the rest of this article...

Read the comments on this post

0
Your rating: None

You load an external SWF file at runtime using Loader.load() method. You extract the file via
Loader.content, cast it to MovieClip, and store in a MovieClip variable.
You add a listener to mouse clicks to your loaded MovieClip only to discover
that it does not respond to clicks. Isn't Loader.content in the case of loading an SWF file
a MovieClip? We discuss the issue and give examples. Flash and AS3 source files included.

0
Your rating: None

Welcome to the preview release of codename "Alchemy." Alchemy is a research project that allows users to compile C and C++ code that is targeted to run on the open source ActionScript Virtual Machine (AVM2). The purpose of this preview is to assess the level of community interest in reusing existing C and C++ libraries in Web applications that run on Adobe® Flash® Player and Adobe AIR®.

With Alchemy, Web application developers can now reuse hundreds of millions of lines of existing open source C and C++ client or server-side code on the Flash Platform.  Alchemy brings the power of high performance C and C++ libraries to Web applications with minimal degradation on AVM2.  The C/C++ code is compiled to ActionScript 3.0 as a SWF or SWC that runs on Adobe Flash Player 10 or Adobe AIR 1.5.

Alchemy is primarily intended to be used with C/C++ libraries that have few operating system dependencies. Ideally suited for computation-intensive use cases, such as audio/video transcoding, data manipulation, XML parsing, cryptographic functions or physics simulation, performance can be considerably faster than ActionScript 3.0 and anywhere from 2-10x slower than native C/C++ code. Alchemy is not intended for general development of SWF applications using C/C++.

Download and Discuss


With Alchemy, it is easy bridge between C/C++ and ActionScript 3.0 to expand the capabilities of applications on the Flash Platform, while ensuring that the generated SWCs and SWFs cannot bypass existing Flash Player security protections.

Adobe is providing some example libraries, and developers are encouraged to share their ported libraries.

0
Your rating: None

I just posted my thoughts on the Flash Player team blog, about the recent announcements we have made regarding Flash Player support on mobile browsers.

As a long time Flash developer who loves Flash, I can tell you that what is happening right now is a good thing.

First, we are making bold moves like stopping the development of the browser plug-in on mobile browsers in favor of investing further in Flash-based apps packaged with AIR. Playing existing content sounds like a great idea on paper, but we know it doesn't always work that way -- you need to author for mobile and think for mobile, but from talking to customers and looking at content today, we realize that very few people are targeting the plug-in on mobile browsers.

Flash developers have always created some of the most stunning, immersive, emotional experiences on the web. They've always pushed the cutting edge, with few restrictions. But mobile is different, and developers need to adapt to different constraints and affordances. Flash lets you do that, whether you are taking advantage of efficient hardware accelerated video playback or native support for features like multitouch and accelerometers. But it's costly to create beautiful experiences optimized for mobile browsers — a cost that doesn't make sense if people using one of the most popular mobile platforms can't see the content you create.

Existing content for desktops didn't always look as magical on phones as people were used to seeing with Flash Player on their desktops. Content optimized for desktops with big screens and beefy processors can’t look as good on a phone or a tablet it was never designed for. This really had an impact on the trust that people had in Flash, and this perception made it hard to start new projects optimized for mobile browsers. There was just no appetite to even try doing this.

In contrast, you guys create super nice Flash-based apps packaged with AIR and delivering them to app stores across iOS, Android, and BlackBerry devices – by the end of this year, you will be able to reach over 350 million tablets and smartphones. Have you seen an article from a journalist saying that MachinariumComb over Charlie, or TweetHunt are horrible ? No, people love those games. Your work fits the trend the entire industry is seeing: even as we're excited about improvements in mobile browsers, the most compelling, immersive experiences for mobile devices are delivered through apps, optimized from the ground up for mobile. We're helping you guys leverage your talent – the same skills in ActionScript and tooling – to reach that huge, growing market of smartphone and tablet users with amazing apps. Flash makes it possible for developers who craft beautiful desktop experiences to deliver great mobile app experiences. We are going to really focus on that, creating the best solution to build stunning interactive content, games, and video apps across all screens.

Flash Player on the desktop continues to show a path for the consistent, super duper experiences that are impossible to deliver to over a billion people with any other technology. For example, Flash Player 11 was released only a month ago, and it now enables fluid, cinematic hardware accelerated 2D and 3D visuals for more people on the web than any other technology. Flash Player uniquely does for the desktop what apps do for phones and tablets: it helps ensure that what you imagine is exactly what your users will see. Flash Player remains the best technology for delivering premium experiences on the desktop, period. Focusing helps us make sure that we continue to drive that continued innovation.

We are not stepping out of the mobile space with Flash, we are just focusing on what makes sense and where Flash looks great, standalone apps with AIR.

In the long term, we're actively working on an ambitious future for Flash. The implementation details may change, as we've been talking about today. We believe that the DNA of Flash doesn't reside in those implementation details, but in our promise to make it easy to create and deliver the most amazing experiences everywhere. We're focusing on fulfilling that promise, and we’re excited to see what the future – and our community – will bring.

0
Your rating: None

The 3-C Institute for Social Development is seeking candidates for a Game Developer/Designer position. The Game Developer/Designer will develop and improve socially-conscious and evidence-based games for pro-social behavior in children. The ideal candidate is a motivated team player that learns new technologies quickly and communicates well with others in a variety of discplines. The Game Developer/Designer would also work on innovative new technologies for future projects as needed.

0
Your rating: None