The Fellowship of the Flash

It only took 10 minutes after the big Adobe Molehill announcement on Sunday. The dust hadn’t even settled, and Unity stole the stage.
They took everyone by surprise by announcing full blown support for Flash Molehill. In the past months, everyone was wondering, and discussing about the upcoming 3D nuclear war between Adobe and Unity. Who will win? Which one will be better? …”Adobe is bigger!”…”Unity is smarter!”…
And then, as it often happens, reality was much more peaceful than predictions: they’re going to be friends and to love each other. How sweet!
How well is it going to work?
And how hard is it going to be for Unity to get to support Flash?
It’s true that Unity in the past has been quick to add to their engine the capability to publish to other platforms, such as iPhone, Android and consoles. But it’s also true that the Unity 3D engine has a lot of optimized native C++ code, and possibly some assembly too.
The Unity scripting language gets converted to .NET, which needs a .NET runtime available on the target platform.
All the platforms that currently Unity support do feature C++, native language support, and even have ports of some flavor of .NET runtimes.
This is not true for Flash. There’s no C++ (except for Alchemy, which is not native C++ anyway). No assembly. No .NET. Porting Unity to Flash sounds a lot like starting to work on a Flash 3D engine from scratch.
At Unity they definitely have the horsepower to do that. But there sure is a lot of work involved.
Unity does feature physics and collision detection support. Actionscript is way slower than C++. Will they be able to provide robust and fast collision detection, like they do with the non-Flash version?
My prediction is that collision detection and physics will be quite watered down in Unity-Flash.
Scripting Support
The solution Unity promises to offer to scripting in Flash is cool.
In Unity normally you would script either in C# or in Javascript.
In Flash Unity they’re going to provide the capability to script directly in Actionscript, or alternatively, to convert the C#/Javascript into Actionscript.
I’m a bit suspicious of the way they propose to do Actionscript coding though. From Unity’s blog:
var go:GameObject = new GameObject(“Just normal ActionScript 3 code”);
So, are they going to stuff Actionscript into a string, and compile that at runtime? I’d rather have the compiler catch errors at compile time. Hopefully they’re going to refine that. It’s all still in the early planning stages after all.
To Flash or not to Flash?
What is going to happen to the amazing social underground of those other Flash 3D engines that have flowered in these past years? Away3D, Papvervision3D, Sandy, Alternativa, Flare3D. Do they have a chance to survive?
I think they do.
Unity no doubt is going to be a big player in the land of Flash 3D. Maybe the biggest fish in the pond. Unity is a fantastic tool. It features a really amazing editor for creating games.
However, if you’re looking to create some 3D content that is not a game, but it’s more of a typical Flash site, with some 3D flavor to it, then Unity is not exactly a “Flashy” environment. What about MovieClips, and the integration of other kind of Flash content with the content typically produced by Unity?
Flash designers and animators have grown accustomed to take for granted that they can have a timeline, buttons, rollovers, and such. They won’t find any of those in Unity.
Unity is not going to be cheap. The iPhone version costs $1900 to have. That’s 2.5 times the cost of Flash. The cost of Away3D is zero. It’s true that Away3D doesn’t feature a full blown editor like Unity does. But hey…free is free.
So, my conclusion is that Flash-Unity might eventually going to be the best tool around specifically for creating games. However if you want to do more Flashy stuff, or don’t plan on spending all that money, there are probably going to be other tools that may end up being a better choice.
The Flash Gaming Platform
So, Molehill opens a totally new market for Flash. Before Molehill, we had the simple 2D Flash games, and then there were the cool, ultra high end AAA games with fancy 3D graphics and such, strictly developed in native code. With Molehill, we’ll start to see more and more Flash games that run in the browser and are close in quality to the big AAA games.
If this happens, how long till the other big guys port their engines to Flash as well? When is Epic Games going to announce their Flash-Unreal Engine? If we jump the fence, and go see what happens in the land of native code, we find a whole lot of 3D engines, both commercial and free.
Are any of these going to come to Flash, and when? For sure the near future of Flash 3D is going to be an interesting show to watch!
Opinions?
Add your comments below!
Filed under: News
Like this post? Subscribe to my RSS feed and get loads more!
I think Adobe will be the winner in browsers and web-based solutions.
Adobe just needs to work further on network capabilities and APIs for Flash Player.
I think Adobe Director will be the robust tool chain which aims only 3D in Flash Platform in the future.
But the only issue is desktop and portable devices.
Unity compiles to native code but Flash is still SWF which runs on AIR runtime on desktop and mobile devices.
I think Adobe have to do the same for native desktop apps but only for 3D.
AIR belongs to RIAs and of course should be able to render 3D contents on GPU too.
Adobe is not mimic company.
I like their lazy movement because it’s stable approach.
Need to be patient and see what happens.
Great website
keep moving…
-Hamidrzea
I think that for companies like Flare3D and Alternativa are much easier to develop a IDE than making a C to AS3 converter.. It will never work.
All of this little companies were succesfull in to optimizing their engines for AS3. Why Unity made the anouncement but didnt demonstrated at least a technical demo ??? They want to reach all of the market but they will lose performance and credibility.
Anton.
Its quite simple, adobe needs to buy unity who have excellent tooling, and combine knowledge to make an excellent cross platform, widely adopted 3d package.