Fun with code (since 2006)

Changing the web, again.


02.27.11 Posted in 3D, Actionscript 3 by

Zombie Tycoon with Adobe Flash Player using MolehillA 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. Watermark for Incubator builds

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.
We worked closely with most popular ActionScript 3D frameworks so that anyone can get started with Molehill, not only advanced 3D developers. The following frameworks are already Molehill enabled today :

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.

NyxQuest: Kindred Spirits using MolehillI 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.

Molehill for 2DI 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.

Check 2D animation with the display list (check your CPU usage)
Check 2D animation with Molehill (check your CPU usage)

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 ;)



81 Responses to “Changing the web, again.”

  1. [...] force in online gaming. Flash has lacked loyal 3D support, yet that’s changing. In a final week, Adobe expelled a preview chronicle of Molehill, a 3D programming interface, in a Flash Player 11 “incubator [...]

     
  2. [...] in online gaming. Flash has lacked true 3D support, but that’s changing. In the last week, Adobe released a preview version of Molehill, its 3D programming interface, in a Flash Player 11 “incubator [...]

     
  3. [...] often employing the serious coding tools Adobe sells. And Flash is a moving target: Just this week Adobe released a test version of its “Molehill” technology for hardware-accelerated 3D F…. Even as Adobe begins embracing Web technologies, for example by contributing to jQuery, it’s [...]

     
  4. Thibault Imbert says:

    Hi Si++,

    Make sure you download the AGALMiniAssembler here : http://www.bytearray.org/wp-content/projects/agalassembler/com.zip

    It allows you to convert an AGAL string to AGAL bytecode. This zip file also contains other helper classes.

    For documentation on AGAL it is covered in the asdocs available here : http://download.macromedia.com/pub/labs/flashplatformruntimes/incubator/flashplayer_inc_langref_022711.zip

    Let me know,

    Thibault

  5. Behrouz says:

    hi Thibault
    Grate
    I think this change could be one of the most important developments and starting point for getting more professional know Flash Player.

    be successful.

  6. tomsamson says:

    super lame fake with the non molehill version of the butcher anim being vector while the molehill demo being bitmap driven:

    super lame fake comparison.

    Adobe should have made all graphical things in the IDE and using old APIS codeside be hardware accelerated. Having to redo all with new apis is weak sauce.

    As´k yourself why anyone should pay for your tools anymore.

  7. Thibault Imbert says:

    Hi tomsamson,

    There is nothing fake here and I explained multiple times the value of bitmap blitting or manual bitmap caching or explaining that cacheAsBitmap sucks. Just wanted to highlight the value of Molehill for 2D animations too. I agree that it would have been fair to add a BitmapData example, but in many cases using the display list will not be worth compared to Molehill performance through Stage3D.

    The impact it could have if a tool like Flash Pro would output content on top of Molehill instead of the traditional display list would be great. I cannot talk for the Flash Pro team, but believe me, we talked about it and they are excited about the idea.

    As an old Flash Pro user, I am really pushing for making all this automated through tools and transparent for everyone.

    Thibault

  8. [...] the bigger news this week surrounded the availability within the current Incubator build of the Molehill (3D GPU accelerated) APIs (the build also includes support for creating cubic bezier curves). This section will take a look [...]

     
  9. Si ++ says:

    tomsamson,

    Personally I don’t think the native display list in the Flash Player should be pushed through the GPU. The GPU is going to be used mainly for high-quality 3D rendering and 3D/2D games, in both cases it will be pushed hard, and I doubt that many professional developers will want menu systems and HUDs etc using precious GPU power.

    If pushing the native display through the GPU was optional (flagged with a boolean by a developer) then that would be fine, but seriously, having “everything” pushed through the GPU isn’t as ideal as it initially sounds.

    :)

  10. Thibault Imbert says:

    Hi Si++,

    Good reminder yes. There are some things which can be more expensive in memory and just harder to do on the GPU (so slower), so the display list is not going anywhere but I am pretty sure good frameworks can make a good job at using the best tool for the best result. But think about ScaleForm, this is essentially what they are doing, putting on the GPU the display list content authored in Flash Pro.

    I think we all agree on the fact that tooling should make things easy and let the user decide when he wants to use the GPU or not. Abstracting the complexity and automate the use of Molehill when needed would be great.

    Thibault

  11. tomsamson says:

    Thibault: yes, it should be abstracted and well implemented ina visual workflow allowing IDE.
    Si ++ saying “I doubt that many professional developers will want menu systems and HUDs etc using precious GPU power.”

    –>Sorry, i don´t think that makes much sense, i can´t think of anyone who would prefer having anything what´s done with the claiss displaylist, in flash ide visually etc all be just as extremely slow and bad performaing as always.

    After all this hype people will expect to do something (anything) in the next flash version (not just codeside using new apis but also ide visual workflow side or using old api commands for graphical operations) and then expect some disappointment when they realize all that is actually not accelerated.

    Yes, Scaleform is a good example for what some expected from flash on some ends for some years.

  12. Si ++ says:

    tomsamson,

    You need to consider things such as vector animations, and how the GPU actually works. In order to render vector animations using the GPU, the display list object(s) need to be captured as bitmap data (pixels) and then uploaded as textures to the GPU, which is an expensive operation, especially if it needs to be done at ~30 FPS. I really can’t think of anything beneficial to be gained from pushing the entire display list through the GPU, it will at least double the amount of work Flash and the CPU will need to do in order to render the display list.

    ScaleForm is doing a good job but I think it will run into performance problems very quickly, especially if there are lots of vector animations (or a few large ones) running in the display list.

    Maybe Adobe could program the Flash Player to push “cacheAsBitmap=true” display objects through the GPU. I’m still not sure how beneficial that would be, but at least it will allow non-programmers to choose the rendering path of specific display objects.

  13. [...] 说到Web上的3D,你可能需要看看Adobe的Molehill (3D GPU accelerated) APIs,这里有一篇介绍文章。 [...]

     
  14. [...] headlines may clash and obscure significa, but the real pattern underlaying the news is easier to see: we’re rapidly gaining a wide [...]

     
  15. aesthetics.data says:

    where is the valid link to donload the latest Flex SDK to develop with Molehill ?? the link on opensource.adobe is dead.

    Thanx.

  16. seb says:

    Bon tout ca c’est super, mais est il possible d’avoir une fourchette de temps avant que flash player 11 ne sorte en version finale ? Genre 3 mois, 6 mois ? . . . Car vraiment ca donne envie :-)

  17. mircea says:

    ..a little adjustement: Alternativa does not release any “molehill ready” framework yet (not for flash cs5, not for builder)
    They have a new fresh “7.7.0″ with some BIG waited improuvement…but not molehill…
    And really, i am surprised because few mount ago , all the new announced 3d web perspective, started with their name….
    Well…i found something ,….a date on the forum: april. Let’s hope !

  18. [...] For a not-very-formal announcement, check out Thibault Imbert’s post about the release of Molehill. [...]

     
  19. [...] Changing the web, again. [...]

     
  20. [...] Adobe Flash Player 11 (currently released via our incubator program, see Thibault’s blog http://www.bytearray.org/?p=2810 for more information) supports the Molehill API’s on the desktop, and will bring this same [...]

     
  21. [...] online gaming. Flash has lacked true 3D support, but that’s changing. In the last week, Adobe released a preview version of Molehill, its 3D programming interface, in a Flash Player 11 “incubator build.” And like WebGL, [...]

     
  22. [...] recommend to go deeper on this subject by reading : ¬ Changing the web, again, by Thibault Imbert, on 27th February 2o11. ¬ Digging more into the Molehill APIs, by Thibault [...]

     
  23. [...] a un article qui résume parfaitement ce que je pense de cette nouvelle version “Changing the world, [...]

     
  24. Anonymous says:

    [...] [...]

     
  25. [...] posted a 2D sprite demo with his announcement. How was this done? Well, it’s rather simple: here is the code for [...]

     
  26. [...] in online gaming. Flash has lacked true 3D support, but that’s changing. In the last week, Adobe released a preview version of Molehill, its 3D programming interface, in a Flash Player 11 “incubator [...]

     
  27. northmantif says:

    Flash 11 beta released, but the community suffer for lack of good tutorials treating ‘molehill’ – but I quess it’s connected with the complexity of the topic…

  28. Kuba says:

    Hi,
    How to get to beta tests of AIR 3 with Stage3D for mobile? I am planning a new game, right now I am ready to go with HaXe but if AIR’s performance would be good I would to go with AIR. So I would like to check its performance on mobile!

  29. [...] 说到Web上的3D,你可能需要看看Adobe的Molehill (3D GPU accelerated) APIs,这里有一篇介绍文章。 [...]

     

Leave a Reply

Open Sort Options

Sort comments by:
  • * Applied after refresh

ByteArray.org
Fun with code since 2006.