A few years ago, the Flash Player team introduced video in Flash Player, and today, we know how the Flash Player changed the web for video distribution. Today, we are happy to introduce the public availability of the Molehill (3D GPU accelerated) APIs through the Incubator builds available here.
You cannot imagine how the team is excited to imagine what you guys will do with Molehill, definitely a game changer.
But first, what is this Adobe AIR and Flash Player Incubator thing ?
The AIR and Flash Player Incubator is a place for the Adobe Flash Runtimes team to share with developers features that are under development or experimental in order to get early participation, testing, and feedback from the community. It is targeted at you guys that are interested in testing out the bleeding edge of runtime capabilities and contributing to the future of the platform. Keep in mind that the capabilities in Incubator builds may or may not be supported in a future release of the runtimes.
We will use the new Adobe AIR and Flash Player releases blog to share announcements about new Incubator builds. I will also relay the info here. For each new Incubator drop, we will highlight the features we are looking for feedback on. Incubator builds will contain features under consideration, development, or just experiments. By providing feedback on the features, use cases or things you will create, you will help us shape the future of the Flash runtimes.
As a developer, the Incubator program is extremely valuable, first, because you get to see features under consideration or development, but it also allows you to test your content against our builds. This way, you can track early in our development process if a current feature you rely on breaks, to make sure your content performs perfectly on the new version of the runtimes.
The Incubator builds are watermarked on the top bottom right of the stage, so that makes things easier to know if you are using an Incubator build or not.
Here are the key two features available in the first Incubator builds :
- “Molehill” 3D APIs for Flash Player and AIR — A new set of low-level, GPU-accelerated 3D APIs that enable advanced 3D experiences across devices through the Adobe® Flash® Platform runtimes.
- Cubic bezier curves — Using the cubicCurveTo drawing API, developers can easily create cubic beziers without custom ActionScript code required.
On the top left of this post you can see the amazing Zombie Tycoon game developed by Frima Studio, they took this existing game produced for the Sony PSP and made it a web game with Molehill. You can play to the game by clicking here, of course make you have installed the latest Incubator build.
I am sure other companies will follow quickly by adapting more and more games and make them available inside your browser. We just received a few days ago from the Mandreel company, they ported this beautiful game called NyxQuest: Kindred Spirits (screenshot on the right) from the Wii to Flash Player using Molehill.
The power of Molehill does not stop to 3D. You should think about it as a new rendering engine tied to the GPU. If you architect your application, website, or game correctly (by using classic techniques to leverage the GPU) you will be able to use Molehill in many situations. If you develop games on the GPU already you know exactly where I am going. Think about using a sprite sheet that is uploaded to the GPU, where you can sample the frames in your big bitmap and use them as UV textures on your 2D plane, and you're golden -- 2D on GPU.
But it is important to note that this new capability is not limited to games. Again, Molehill is not a gaming engine, just pure raw GPU APIs. You can imagine 2D components or 2D animations used as transitions running on Molehill in any website or application.
I will cover more details on this in a forthcoming article. On the picture on the left, we have those animated characters exported from Flash Pro as a series of bitmap, merged into a sprite sheet and then displayed. The same movie running in the display list uses about 150% CPU, but uses about 7% CPU on Molehill with no tearing at all, just great.
To be fair, I could have used bitmap blitting (BitmapData) for the display list demo, but it would be really hard to achieve the same performance as with Molehill with many elements on screen. The idea here is to highlight that you can also use Molehill for 2D animations.
I am pretty sure some popular 2D gaming engine frameworks like Cocos2D will be quickly ported to ActionScript to allow simple workflow with Molehill with 2D use cases. Of course, new ones will emerge and not only for games.
Note : Do not forget to download here the AGALMiniAssembler, if you want to work with low-level shaders bytecode from assembly string.
The team is excited to be able to work with the broader community at an earlier stage of development through the Incubator program, and we hope to bring you more exciting features and ideas as the program ramps up. Come and interact with us through the forum and have fun! Exciting times ahead