|
[As Adobe marches towards a Q2 launch for its Molehill, the 3D version of Flash, developers must decide whether to aim for that, Unity 3D, or an in-house solution -- Gamasutra investigates.]
If analysts are correct -- if online and mobile games generate half the projected $87-billion total game market's annual revenue in five years, as investment advisor Digi-Capital predicts -- the question arises: What will it take to capture market share?
Leading-edge tech that supports immersive play, such as in 3D browser-based games, will surely have a major impact across the web, but which technology companies will developers favor?
This year, developers have two new choices: adopt Unity 3, the third version of Unity Technologies' increasingly popular Unity 3D development platform, recently launched in September, or utilize Molehill, the new 3D version of Flash, now in beta and scheduled for a Q2 release.
It's not a simple choice, to be sure, say game makers who must weigh the overwhelming popularity of the near-ubiquitous Flash against the support they receive from the developer-friendly Unity.
Instead, Taiwan-based XPEC Entertainment has chosen a third alternative -- building a proprietary Flash-based 3D engine for its next game, Maze Myth, scheduled for a year-end 2011 release. The game, which XPEC calls "the world's first 3D, Flash-based, real-time battle browser MMORPG," was discussed in detail at GDC China in December.
"We decided against Unity because, even with its new Unity 3 version, it still takes at least 30 seconds to download and plug in the program," says Aaron Hsu, XPEC's chairman. "Most browsers already have Flash installed so there's no need to download it. Which is why we decided to go with Flash when, three years ago, we started working on our Flash-based 3D engine, which we call the Hive Engine."
 Maze Myth
Hsu recalls that his team was thrilled when, on October 28, Adobe announced that its next release, codenamed Molehill, would support 3D, confirming that XPEC was heading in the right direction with its own Flash engine. But why would XPEC continue the Hive project when it could just as easily adopt Molehill?
"Because even though Adobe says Molehill will be available in Q2, there could be delays," explains Hsu. "If there are no delays, we will quickly transition to Molehill. If we complete Hive first, we will use Hive. It all depends on who is quickest."
But Adobe has no intention of missing its deadline. In fact, it is already partnering with Quebec City-based developer Frima Studio which is "adapting and improving its existent technology platform to support all the new features and possibilities included" in the upcoming API, according to Steve Couture, Frima CEO.
"As a pre-release partner, we receive pre-release builds and participate in both forum and voice discussions with the Flash Runtime team," he elaborates. "We were able to expose concrete challenges that game developers face."
Frima has produced several demo videos utilizing the new Molehill technology, the first of which uses the developer's Zombie Tycoon game.
One of the developer-friendly aspects of Molehill, says Couture, is that it supports a fallback to a software renderer for older hardware. "Adobe licensed TransGaming's SwiftShader 3D. Molehill offers a low-level API to access the hardware. This provides enough flexibility for those who want to get their hands dirty, but allows others to use available 3D libraries to use it as well."
Couture believes Molehill "will have a large impact on browser-based games and their quality; it will unlock the full potential of today's hardware."
For example, he says, one could play a game comparable to Call of Duty or Gran Turismo directly on their Facebook wall. The acceleration hardware allows one to have moving items on screen -- 2D or 3D -- giving more interactivity and immersion possibilities for gamers, hardcore or casual, he explains.
"Thirteen years ago, I wanted Flash to become a tool for game developers," he says. "With Molehill, this is it. It's finally a gaming platform."
|
Adobe claims to have 3M developers, but I think 99.9+% won't be able to do advance 3d game development at a production level. From a programming side, 3d game development simply requires more math than they have the experience to do. From an art side, the talents and skills that make up a good 2d vector artist/animator does not immediately correspond to the talents and skills necessary to become a good modeler, 3d animator, rigger, or texture artist. So I believe that Unity has far more developers capable of doing 3d game development than Adobe does.
Given this playing field, Unity simply has better tools, less CPU overhead, and better game development processes in place. Not to mention that Unity is cross-platform. The time that it will take for Adobe to match Unity in these aspects will easily be enough time for Unity to make it's way into every home.
I doubt all flash developers are only skilled in Actionscript and 2d vector graphics. I myself am an Actionscript programmer with the ability to program in Java, C++ and C#. I just choose to focus on Flash at the moment.
My brother and Business partner is a great 2d vector artist with skills in 3d modeling rigging and animation.
It is not wise to make blanket assumptions about a large population of game developers.
From my experience, whether you work in 2D or 3D, the concepts or the thought process of solving various problems are very similar. Where I currently work, we've developed Flash and Unity games. So I think it is very unwise to stereotype about certain developers just because they work with different tools.
My original point is that there are more likely just thousands of developers that could make the jump today as opposed to the millions that are indicated. Also, not all of Unity's tens of thousands of developers would be capable of becoming a professional 3d game developer either. My estimate would indicate a fairly even number between the two.
Given that, Unity is a full engine with a toolset oriented toward game development. Flash is currently a web engine with a toolset oriented toward web development. Game development with flash has been slow to come - one of the reasons Scaleform exists, for example. Given the indications that the Flash 3d api is going to be fairly low level will also hamper the switch to it becoming the standard 3d interface on the web.
By my estimates, there are around 100,000 professional 3d game developers (artists, designers, and programmers) worldwide - and (let's be realistic) not all of those people are qualified to be in this industry. But these are people that have been extremely motivated to get into this industry and had generally worked up a significant 3d game development portfolio before entering. Most of the 3M flash developers have not. Even if 10% have dabbled in 3d game development more than likely only 10% of them have given it serious effort. I also don't think the vast majority of C++ programmers could make the jump to 3d game development - it's a niche that requires a lot of motivation and deep understanding of the mathematics oriented toward that niche.
I am not the best flash developer, I have significant short comings in speed and artistic eye when developing flashed base UI - its simply a different skill set and requires different motivations than what I have. The vast majority of the 3M flash developers out there will always be able to build better web UIs than I will (and better than most of the 3d game developers out there if they ever tried).
I've worked in the industry for many years (the last 3 years concentrating on Flash development). It's difficult not to base my estimates on my skewed experience - it's easy to believe that everyone has the same interests, motivations, and skills as myself. So I try to think about those that don't.
I'm not trying to insult any particular developer and I apologize if I have done so.
A good example would be XNA. Even with my limited programming background and I would consider myself average in the math department, I quickly found examples of how to create a camera, load up a textured mesh file, and manipulate the camera and objects in 3D space without having to worry about the lower level stuff that's required of 3D games!
If Molehill can do this for Flash programmers, then it's hard to believe that only a select few will fully understand. I think we're looking too much on the skills of an individual when in reality, that person who lacks the knowledge can tap into a community who can help them with their needs. Thinking back to when I started learning how to work with Flash, the Flash community and their willingness to share their knowledge helped me tremendously!
Flash Molehill is MEGA low-level - just vertex and fragment shaders and ridiculously good performance with almost no CPU use, whereas Unity is a high level GAME engine, for the non-coders out there who like to click their way to the finished product. Molehill is more for the elite hand-coder who writes games in a text editor.
Flash 3d Molehill will work everywhere without any downloads whatsoever - from Android to TVs to Netbooks to PCs and Macs. Unity will be a niche product, with a minuscule core-gamer-only penetration rate. Your grandma doesn't have unity installed on her PC, but she does have Flash. You can't install Unity at work due to admin privs, but Flash is already there.
Unity will always be best for ultra-hardcore but Flash will serve the casual market.
Finally, Molehill will be FREE (no royalties, no purchase price, no logos on your final product) since you can use Flex or FlashDevelop or Haxe to compile a pure as3 project without ever having to purchase Adobe Flash CS6.
With zero $$$ investment required versus Unity's four-digit cost for the full version (or a crippled free version with the unity banner ad appearing at the beginning), the turnkey, white-label, completely free dev tool of choice for open source lovers will be Molehill.
However, Unity will always be far ahead in terms of features: in Molehill you have to roll your own everything (from physics to particle systems to collision detection) whereas in Unity, non-programmers and artists will prefer the fact that all those higher level game systems are already made for you.
To use Molehill you will need to be a hard-core programmer. To use Unity you need to know how to click a mouse. Molehill is free, will work everywhere without any plugin downloads, and is set to finally provide an alternative to Unity, which for years has enjoyed a monopoly.
But let me stress: these products do not compete with each other nor do they attract the same demographic of users. There is enough room for both to exist and find great success.
This will be interesting to follow in the next year. 2010 put Unity on the map for the first time, with registered developers increasing exponentionally, and major studios like EA signing major Unity licensing deals. Last I heard the plugin install base was over 40mil. Chrome will also have Unity support by default soon.
I don't get the 'niche' comment though, because you can make virtually any genre of game with the Unity engine (see: http://unity3d.com/gallery/game-list/). The 'niche' that Unity caters to is the indie developer and small game studios, which is quite a big audience actually, especially with the console dev industry continuously laying off so much talent, and a void of cheap 3D game engines available.
Unity games are regularly top 10 games on the iOS App Store. These are almost all casual titles.
My guess: HTML5 will be big in 2011, and that will pave the way for WebGL.
Flash will still exist, but will become ever-smaller as Unity takes chunks of their market. Flash will always be better for streaming videos, 2d platformers, etc -the things it was originally built for.
As all hardware is moving toward heavier onboard 3d graphical support, such as GMA950, performance issues with the hardcore unity engine will diminish. People will not consider doing 3d in Flash (much worse performance anyway).
Plus, the download for Unity3d took me only about 4 seconds. That's as fast or even faster than Adobe. Adoption rate and browser plugin penetration will show Unity continuing to rise at a faster rate than Flash, Silverlight, Torque3d & Shiva (did they go broke yet?) -just extrapolate on the graphs that are already out there and you'll see what I'm talking about.
Flash to me is more of a DirectX (or HTML5 + WebGL) equivalent than a Unity equivalent, you pretty much still have to write your entire engine from the ground up. Whereas Unity's engine is there and ready to use. Even for high bar games the extra engine work you need to do is minimal, and tool development is almost nonexistent.
The penetration issue is certainly Unity's biggest drawback, but they're not sitting on their laurels at all. From NaCl to TV pre-installs, they're aggressively pursuing every market that makes sense.
As for binary data files (scene files, prefabs) that don't merge, you could take a look at the Unity TextScene project: https://github.com/terravision/UnityTextScene which is in need of a little help to get completely Unity3-compatible, but which alleviates a lot of the binary pain.
Interesting idea, if Molehill will be free ( no royalties, no purchase price ) after all, it would be interesting Unity developing a better platform for developing flash games than Adobe...
The main USP of flash has been the relative ease of use compared to other options, especially when it comes to animation and display object management. If they can sustain that level of ease while going into 3d, we have a killer combination.
In Unity it's possible to make small good looking casual games in no time, or scale up to full AAA productions. Not only does it offer good performance, but the user interface and workflow in general is really well designed and thought through in all areas of game development.
We went from UE3 to Unity and our productivity has increased immensely - AND we are able to make something that looks just as great as UE3 in a browser! We certainly don't miss "the good old" UE3 days.
I believe that Unity will continue to be far ahead of Flash, as the Unity team just "thinks right" in terms of development pipelines and delivering tools.
It would even possible to create an entire game engine using AIR, using it as the only authoring tool.
Unity is FREE powerful GAME ENGINE, I mean Level Editor, Terrain Editor, Physics, Audio, Network, Input, 3 languages, including C# wich you can program using Visual Studio and Monodevelop. It has good rendering, lighting, shading, and so on. It has a Pro version that has some extra features.
While Adobe doesn't offer a FREE Flash version with all the features of the Unity Editor, no deal! Unity will win in the web game dev field soon or later if this scenario persists, Adobe needs to rethink their business model to battle Unity as a game development platform or just give up with this Molehill BS.
Adobe is just trying to create a "Jack of all trades, master of none", pure BS.
I think Unity and Flash will co-exist without trouble, since they are different tools for different jobs.
Perhaps a better place to put this argument, for web gaming at least, would be 'Flash vs. HTML5' - then for a Unity argument, go for 'Unreal vs. Unity' instead!!
As far as "making something right now," I personally think Unity is a fine engine, but there's lots of reasons why it might not be the right engine for your game. If you are trying to bootstrap your marketing, you tend to naturally converge on Flash or JS because of the penetration figures. Couple that with the higher maturity of Flash tooling, I/O features and libraries and you tend to end up in a sweet spot writing for Flash, warts aside.
http://www.marketwire.com/press-release/Unity-Technologies-Surpasses-250K-Develo
pers-Milestone-35M-Installs-Free-Unity-Web-Player-1344670.htm
Imagine reaching 1% market share. If you sold your game to 350,000 people, where would you be?
http://www.linkedin.com/news?viewArticle=&articleID=393725011&gid=115629&type=me
mber&item=45130534&articleURL=http%3A%2F%2Fblogs.unity3d.com%2F2011%2F02%2F27%2F
unity-flash-3d-on-the-web%2F&urlhash=0Fyo&goback=.gde_115629_member_45130534