Finally! We can talk about Molehill! (GPU-3D in Flash)
I’ve been in the Molehill Prerelease program for a few months now.
Today I am proudly showing you what’s Molehill all about.
When people are complaining about developing game in Flash, most of the time it drills down to two main arguments:
1: No hardware acceleration
2: Bad resources management
Well it’s almost over! People will have to find other reasons!
The new Flash 3D H.A – Codename: Molehill
As I’m sure you already know it, Adobe just announced our new toy: Molehill.
A new Flash Player supporting 3D Graphics with Hardware Acceleration and a brand new 3D API with a better resources management system.
Needless to say, it’s a web gaming revolution. Better, it’s not only for the web, but also for mobile platforms!
Technically, “Molehill” is a set of programmable shader-based 3D APIs, exposing features like z-buffering, stencil color buffer, fragment and vertex shaders, cube textures and more. “Molehill” will enable developers to leverage the GPU where possible, while providing the flexibility to fallback to a CPU software rasterizer if the hardware is incompatible.
Today, Adobe Flash Player 10.1, renders thousands of non z-buffered triangles at approximately 30 Hz. With the new 3D APIs, developers can expect hundreds of thousands of z-buffered triangles to be rendered at HD resolution in full screen at around 60 Hz
There are many other solutions… is it?
I think Adobe didn’t have much choice to go that way. With WebGL, HTML5, Unity and the Apple war, they had to do something big.
As for the “Unity3D is not only a renderer, it’s also an editor”, the flash community is big VERY big and I’m sure there will be plenty of third party solutions to create Editors just like Unity3D.
Adobe already announced:
The 3D capabilities enabled by the new APIs will also be available to the broader developer community through popular ActionScript® 3D frameworks, such as Alternativa3D, Away3d, Flare3D, Sophie3D or Yogurt3D.
Can you remember the time when flash didn’t support GPU-3D ?
In may 2009, I was at the Login2009 conference in Seattle and there was a round table called “Barriers to entry: Is Flash the answer to Life, the Universe, and Everything?”
Here is the description:
Is Flash, the most blessed and holy of all browser plug-ins, our only hope for eliminating the most deadly barriers to entry for online games?
If your game requires a browser plug-in or downloading and installing an application, do you stay awake at night worrying about how many players will never install your game and thus will never get to the “fun” part?
Is there anything we can do? Are there any solutions on the horizon that will work in every browser without installing additional plug-ins? Can Flash deliver the kind of high-end content our tools will let us create? What about Flash-based technologies like PaperVision3D? Are we going to get help from the developers of the major browsers?
It was kinda funny back then because most game developers were saying that the only real solution “for high-end content” at that time was to go with Unity3D. And the big question was “If Adobe ever introduce 3D HA to the Flash player, would you choose Unity or flash to create 3D games?”
The real answer was never given because there was always somebody to say “Yeah but Adobe won’t do it (3D with HA)! They move SOOO slowly.”
Now that this is coming, I’m smiling just thinking back of that discussion 🙂
My part in this
I’ve worked intensively with Flash for a few years now and I’ve followed the flash scene closely all that time.
The engineer working on the project are releasing good builds, fixing bugs entered by the Prerelease community and adding feature very quickly. They are also doing very fast iteration and making sure the API is convenient and optimized with a lot of VERY experienced and qualified developer. I can honestly tell you that I’ve never seen Adobe making such good and fast development.
Being a Prerelease community member, I’m giving a lot of feedback on performances and optimization that could be made and making sure that the current Flash 10.1 performance problems are part of the discussions.
Game development using Molehill at Frima Studio
I try not to talk about my “day job” too much in here to really keep things apart, but I think this time it worth bending the rule.
Me, a good friend and colleague of mine (JP Doiron) and many other folks at Frima have worked on games prototypes using Molehill and we were able port a proprietary 3D engine and extend it to create a very nice demo for the Adobe Max presentation by Sebastian Marketsmueller (Flash Player engineer). In his presentation on Flash Player 3D Future today he showed a lot of cool stuff including our Zombie Tycoon demo.
Official Video
I strongly suggest you watch it in 720p!
By the way, this is a special version just for you guys to see what kind of performance we can get (HiRes-Stats on top left corner)
Check out the Official Frima Studio Page
Tech
This video shows many things:
And the best thing: All of that in a 1280×1050 window at more than 30fps with practically zero memory allocation and very small usage of the CPU.
I don’t know how this looks to you, but my feeling tells me there is going to be a LOT of new 3D MMOs browser base in the next months / years.
Thanks for that Adobe!
Compare!
Reference
Molehill at Adobe Labs
Frima Studio Zombie Tycoon Tech Demo running on Molehill
Trackbacks & Pingbacks
- 9 Videos showcasing Flash 3D GPU | Photon Storm
- Finally! We can talk about Molehill! (GPU-3D in Flash) (via jpauclair) « Trent's Blog
- WebGL around the net, 11 November 2010 | Learning WebGL
Comments are closed.
Wow! love the demo video. I can’t wait to get my grubby hands on the new 3D API’s and player.
With the talk about unity… I wonder if they will make it so they can target flash as one of their targets to build for. Would make things very interesting for unity as the IDE and flash as the player. plus still being able to code once and deploy anywhere type of concept.
regardless… it’s great to see adobe finally put all this stuff in to the player.
Exciting! I can’t wait for the prerelease to extend, or beta = )
I’m wondering what percentage of web users have 3D hardware acceleration. Probably this audience is familiar with 3D games and will appreciate “new” games from the web.
Regarding non-accelerated computers (like mine), I wonder if Flash will match Unity, which performs more than decently.
I’m not sure to understand. Why Unity would be better on a non hardware accelerated computer?
Flash Player is using the world’s fastest pure software 3D renderer.
The new Flash release is going to have a a software rendering fallback.
So I see no reason why unity would beat flash on this side.
Define “non-hardware accelerated”. Do those even exist anymore? For instance, I have a 12″ laptop with a 9 hour battery life but it still has an Intel chip with built in GPU. In fact, all of my laptops from the past 10 years have HA, including a very low end netbook. Yes, the FPS is pretty poor, though running an old 3d game I wrote in 2005 I can still leverage 24fps. The fact that OS’s now have 3d hardware acceleration in them suggests you are slightly out of sorts with todays machine specs.
In any case, any developer concerned with reaching the highest number of users will simply make sure their product works on the lowest spec machine they can get their hands on. It’s not difficult to write auto-detail drop down and for the worst case Adobe have already announced software rendering fallback.
I think we need to look at Molehill as another tool in our toolbox and get away from blindly moaning about new tech just because you have committed to a rival technology! Unity still has it’s place but it never really penetrated the web and now that’s looking even less likely.
@Jules & jpauclair: Well I was just asking questions. Thanks for your answers.
BTW I’m not a Unity developer but just a viewer, I was just impressed by games running quite well without 3D chips… I’m quite confident Adobe will also publish demos testable on low end computers.
Is there any hope for 2D games to benefit from gpu acceleration? I imagine there will at least be ways to use the 3D engines for 2D games.
Do you know if the hardware acceleration requires full screen?
Thanks for posting this! I’m very excited about this direction for Flash.
I will refer you to Thibault Imbert for awsering this one (http://www.bytearray.org/) This is still in prerelease and I’m just not sure what details we can / can’t talk about!
Thanks, understood. 🙂
2d (non-web) games have been using 3d hardware for years, with sprites laid on two a couple of polys and without persepective, if you get my drift.
Perhaps what you really mean is will the hardware acceleration apply to existing 2d vector drawing and I’m not sure it will.
Wow, new toys! 🙂 You get that feeling again that anything and everything is possible!
Another question: do you know if hardware-acceleration will enable to synchronize Flash player screen refresh with Monitor frequency ?
(this is a well-know and old problem for game devs about flash difficulty to get a perfect scroll without image distorsion due to Flash player use of windows timers out of sync with monitor frequency)
I knew there was going to be a lot of technical question here! Again I’m sorry. I just can’t talk about that. You may ask Thibault on his blog: bytearray.org
ok thanks 😉
I’m thinking that since the API will be off-loading rendering to the GPU then, as far as 3D rendering is concerning it should be synced to the screen’s refresh rate. Still this is just speculation on my part…
Found confirmation:
http://www.bytearray.org/?p=2555
my eyes with tears. thanks adobe.
This is absolutely amazing. I thought the racing game shown at the Adobe Max conference was impressive, but this is just incredible. This is going to change free games on the internet drastically. Great post, I have your blog bookmarked now.
I’ve read a lot about this new API and I really have to say that I wonder about the number of developers who actually have access to it, or as you said, being part of the prerelease group.
In April this year, my company started developing it’s own engine, based on alchemy. We do a different approach than most of the other engines. Instead of using the native classes like drawTriangle, we created a software rasterizer, similar to molehill’s fallback-renderer SwiftShader. I’m a bit pissed off, because so many companies develop their games with molehill, but we don’t have the ability to do that.
Could you please gimme a hint in how to become part of the molehill prerelease program?
I already wrote an email to Thibault Imbert, but I didn’t get any answer yet – he may have received a whole bunch of mails during max 😉
Thanks in advance!
I guess he did!
And you’ll hate me for what I’m about to say but..
“You have to ask Thibault Imbert for that”
😉 sorry!
I am wondering about that too. My main usage for adam will be for reading.
Impressive. Can’t wait to actually test it by myself in my browser with some annoying flash ads on the side to see the performances in an real environment.
I have been disappointed so many times by Adobe that i have some difficulty to actually believe it. For now, it’s still a video. I hope that not a just a marketing demo to counter the raise of HTML5…
trust me! I have no advantage in contering HTML5 🙂 it’s just plain awesome..!
Wow, this is some impressive stuff! Now I’m browsing this entire blog! Found some great gems already!
whaoou can’t wait to learn to use this new 3D api !
I already wrote an email to Thibault Imbert, but I didn’t get any answer yet – he may have received a whole bunch of mails during max
Your blog is pretty interesting to me and your topics are very relevant. I was browsing around and came across something you might find interesting. I was guilty of 3 of them with my sites. “99% of site owners are doing these five errors”. http://is.gd/w4g8Ml You will be suprised how fast they are to fix.
Thanks for what you’ve. This can be the top submit I’ve study