The Future of Flash 3D at Neo-Pangea
"This is the way the world ends: Not with a bang but a whimper"
-T.S. Elliot, "The Hollow Man"
It's taken me a while to get this post together, because what it's based on keeps shifting. There's been a slow-motion upheaval in the Flash 3D world, with the de facto standard for commercial Flash 3D, Papervision3D, losing all of its momentum while new tools continue to make huge strides. And Adobe's announcement that Flash will soon be able to harness the GPU through its "Molehill" API isn't making the whole picture any clearer. All of this chaos can do a number on anyone who does 3D for Flash, and it's fair to say I've seen my fair share of Tums and Jim Beam over the past year because of this. Confusing the situation even more are unknowns like Adobe's ability to get Molehill to people quickly, the ability of 3rd party software developers to adapt to the new technology, the penetration rate for the versions of Flash player that can take advantage of the new 3D capabilities, etc. If we see this as an opportunity though, it can be a crossroads that lets us reevaluate where we are in the Flash field, find out where we really want to go, and learn some new languages and ideas on the way there. So let's begin with the closest we could nail down some of the options that are on the table, comparing old vs. new. And then below that is a more in-depth breakdown of some of these projects and what we see for them in the future.
|Papervision3D||Away3D||Sandy||Flare 3D||Alternativa3D||Unity 3D|
|Cost||Free||Free||Free||$496 per seat||Free||$1500 per seat|
|License||open-source(MIT License)||open-source (MIT License)||open-source (Mozilla Public License)||proprietary||proprietary (Requires visual label in Flash or credit on site)||proprietary|
|Flash 10 3D support?||No||Yes||No||??||Yes||N/A|
|GPU Acceleration||No||Coming with Molehill||No||Coming with Molehill||Coming with Molehill||Yes|
Unity3D - The IDE that Unity brings to the party is pretty kick-ass, and with their announcement that they are looking into an "Export for Molehill" option, there is definitely a lot to consider there. Also, their ability to publish Android and iOs apps is amazing, and very tempting, because it opens up the possibility for one standardized workflow no matter where the app is being pushed to. I can appreciate that platform independence because it was the reason I switched from HTML development to Flash in the first place. In the end though, the pricetag is $1500 per seat per deployment platform, which is probably too steep for many small agencies. This is especially true given that the Unity plugin, while gaining in adoption, still has low enough penetration that they do not even release statistics (%users on the internet, at least), and the option to export to Molehill is still under review, not even in the development phase. From what I've tested in Unity, they seem to be a technology on the upswing with great tools, support, and services. But due to commercial and demographic decisions, it seems like something that will be great in the long term but may be inaccessible for a lot of projects with small budgets and/or large target audiences.
Away3D - The thing that jumps out from the research we've done is that of the big contenders, Away3D seems to be hands down the best option for open source implementations of hardware accelerated Flash 3D. With Neo-Pangea being a company that embraces the open source movement as a way of pushing capabilities out to everyone, this is a big factor for us. In addition, it has a smaller learning curve than Unity3D, since it is a fork off of the Papervision3D project and thus shares a great deal of the same syntax and setup. Checking out the Molehill example projects shows the promise of Away 4 and Molehill, and the future looks pretty well lit with some nice Phong shading. As far as tools, Away 4 will only really thrive with the development community's help in inventing new and innovative UI that can compete with some of the awesome API's that Unity and Alternativa have, and we hope to be able to contribute to that process.
Alternativa3D - Alternativa has a beautiful engine, no doubt, and as they displayed at Adobe MAX 2010, they have some great tools already built for it. However, as far as I can tell from their website, there is a premium required to not
display the Alternativa logo either display the Alternativa logo or otherwise credit Alternativa on the site housing the Flash. That can be tough if you're making a Flash component for a larger site where you don't have access to the HTML and you can't credit them visually because of design considerations. Essentially, this means that commercial applications are pretty much out for it, though it will probably fall in indy game developers' wheelhouses as it's a pretty sweet tradeoff of tools and technology for exposure.
Papervision3D - While Papervision3D is essentially dead moving forward, it made such progress in its heyday that it still provides a robust, easily deployable implementation for non-GPU enabled 3D in Flash. As such, it is great for many of the one-off projects that Flash 3D requires, though lightweight alternatives like Away3DLite will soon eclipse it. We have already begun to port many of our solutions for PV3D to Away in anticipation of a bigger shift, so in reality, it could be only a project or two more before Papervision is nowhere to be seen.
The Rest - And boy are there a lot now. It is impossible to keep up with all of the newly released engines, and in the end I have found it to be counterproductive. With the sheer amount of new stuff hitting the scene right now, giving yourself too many options can be an invitation to inaction.
In general, delaying decisions about which new technology to learn until you have exhaustively researched every possible option on the market can lead to finding yourself behind the pack leaders pretty quickly. Sometimes it can be more helpful to just pick one that hits all of your needs and learn the crap out of it. With that in mind, Away seems to be the winner of this little battle royale, as it gives the best balance of performance, flexibility, and integration into our current development cycle. As we shift our focus from research to production, I'll try and post as much as I can about our growing pains and successes. Thanks for reading, and please feel free to add or append to the table above in the comments, or let us know if you find better options. We're all ears.