views:

2901

answers:

13

for development of interactive 3d web applications, which engine is recommended?

I am aware that WebGL has been anounced to become standarized for all browsers in the near future (1~2 years).

I am afraid that by investing time into a proprietary game engine such as Unity, torque would be not great once plugin-less open source 3d engines appear (webgl & 3D javascript).

Is this a stupid thing to worry about ? Should I begin with Unity3D (it's demo's and tools were mind blowing).

A: 

I say, None.

Reasons:

  • Unity3D - does not work on Linux, low market penetration
  • Torque3D - Not yet out
  • Google O3D - While a good start, it does not have a good market penetration
  • WebGL - Not yet available.

My solution:

Papervision3D - Based on Flash - that is 95% market penetration and will ensure that "almost" everyone will be able to play your game.

Flash is also very mature and have a lot of game development libraries such as jiglib for physics, native mp3 playback support, video and more.

LiraNuna
ah yes. i left out papervision 3d. this brings up my original concern as well. Adobe has so far left the 3d development to the community and has not taken any leadership roles in this area. With the coming of open source solutions such as WebGL, how will Adobe remain competitive ? I have looked at Papervision3d and a few other flash 3d engines, but its just not optimal to churn out something like Unity3D. of course not a fair comparison, but if 3d web app's will resemble something like Unity3d's complexity, the Adobe flash's future doesn't look bright unless they pursue more active role in 3D.
gpwjg
I'd say it's a temporary solution until Web3D support will be rolled out.
LiraNuna
Is performance still an issue with Papervision 3D? How about in Flash 10.1? I don't have any benchmarks, but personal experience shows Unity3D to blow the pants off Papervision when it comes to performance.
Matt Olenik
-1 because web GL is the next comming standard :) and its far more performant than the flash shit
Quonux
@Quonux are you kidding me? That answer was written **ALMOST A YEAR AGO!**
LiraNuna
A: 

I would go for Away3D in flash. Obviously, you cannot compare performance between flash and mentioned plugins, but have look to http://www.syerit.com for example to see how much 3d is now possible in flash. Also I agree with previous post. Adobe should start pushing serious 3d in flash otherwise they will loose lot of game developers(in fact, it already started)

Pavel
A: 

It depends on what you want to do. Is it games?

I've chosen WebGL. It's in versions of Chrome, Safari, and FF right now. Of course, it won't be turned on for the public at large for a while.

Nosredna
A: 

I’ve compared Unity3D with Torque3D. Everything about the Unity3D environment is so much better (documentation, scripting (Javascript and C#), tutorials, support, and features). Torque3D is so full of bugs, it’s practically useless. You will definitely need the source code, because you have to fix their bugs. Don’t by the Torque3D binary, because you won’t be able to use it to build a game. Don’t listen to the hype or make your decision based on the pretty pictures you see on their site.

I built a complete game using one of their tutorials in a few hours, and it looks great. I used their assets. In the same period of time, I got nowhere with Torque3D. It kept deleting my terrains, and would not save the changes.

Rob
A: 

WebGL is a failure in the making. Why? The PC game market is concentrated solely on DirectX and windows. Wait, who owns DirectX ? That's right Microsoft. Oh hold on, what else does Microsoft own, oh it's Silverlight, the flash alternative on windows. Can you not see where this is going ? WebGL aims to be a cross platform 3d solution but Microsoft already owns the entire gaming market, and they are serious about Silverlight, and why in the hell would they give that up? For an open source initiative? Bull**** Given Microsoft's history, this is not their culture. You can forget wetting yourself about WebGL, its not going to happen because a developer will not want to make the same game twice, Microsoft and something called internet explorer(still holds large chunk of market share) is not going to support it. Why? DirectX on Silverlight is coming, to kill Flash even more in this area.

Many people have mentioned Flash the way to go, however, Flash currently seems to have uncertain plans for hardware accelerated 3d in Flash (flash 10 has hardware acceleration but not for 3d). They have failed to take leadership roles in this area and left it to the community, Papervision3d. Papervision3d is great, but nowhere near the performance of hardware accelerated plugins. You can't really play a descent 3d game even with Away3d, as it will lag....The outlook of Flash seems deem when you look at the onslaught of other players, Microsoft and open source movements.

Market penetration is not as important as you think. Clearly, Unity3D is ahead of the competition in 3d web game market. If the game content is good enough, you users will install the unity3d plugin (not like its a spyware of any sort), and enjoy your games.....

As explained earlier, WebGL is a failure in the making, dont bother with it.

Hence, I strongly recommend Unity3D, or wait till something happens in this market.

pqnb
Developers will use whatever allows them to reach their target market. On Windows right now this happens to be DirectX, but chances are that if you're developing for a browser you don't care so much about high performance and available middleware, you care about reaching a very wide audience. This includes Linux and Mac, which DirectX doesn't touch. And it means making use of common standards, which WebGL is. To say that a WEB BASED game should ignore WEB STANDARDS because one company has a monopoly on non-web gaming is very misguided.
Toji
A: 

WebGL is included in the latest versions of Chrome and Firefox.

If you're not convinced that WebGL is kick-ass yet, enable WebGL in a nightly build of Firefox and visit this webpage: http://www.iquilezles.org/apps/shadertoy/

Here is how to enable WebGL in Firefox: http://blog.vlad1.com/2009/09/18/webgl-in-firefox-nightly-builds/

I would choose WebGL and have a fallback on Flash with Papervision or Sandy 3D.

Alexander
A: 

it really doesn't matter what firefox or chrome does because majority of the pc gaming market is ruled by Microsoft and Direct X

unless WebGL has microsoft onboard, it's a failure in the making. I am 100% sure microsoft will push 3d hardware acceleration through Silverlight, not in Microsoft's best culture to give things away openly.

bohohasdhfasdf
+3  A: 

WebGL has a chance because it's not middleware, and many of you should remember that there are performance and security issues that often result from plugins. Since WebGL is native and will be in all the browsers worth using by default, its market penetration is automatic. All it needs is some good content, which many companies will use.

Also, it has backing by nVIDIA, AMD, Intel, Mozilla, Opera and Apple (Safari) to name a few. That's enough to know that it will go somewhere.

Alex Goven
yeah but IE ? definitely gonna come up with their own proprietary solutinos.....considering IE still has large chunk of market share, market penetration will be severely limited with just the "other guys"
bohohasdhfasdf
+5  A: 

WebGL is not a failure in the making. Speaking like it's a failure shows these peoples ignorance.

That said, if you're just starting out, explore your options. If you're looking for more eyes than just windows users, stay away from proprietary solutions. Microsoft's dominance isn't big as people think, anymore. IE is fading in popularity, thanks to their ridiculous coding.

Run on all platforms, use open standards.

Ten
A: 

Hmm. Let's look at this. Does DirectX run on the iPhone or iPad? Does DirectX run on Android? What does run on iPhone and Android? Hmm. I know, OpenGL and WebKit!

yottzumm
and Unity3D now (on iPhone)...
Richard Inglis
A: 

Hi, hum this is a very interesting topic. I'm asking myself the same question actually : "which language/engine to adopt ?". I tried Papervision. I also tried WebGL a little bit and I have this simple (maybe stupid) question : "How can I prevent people from stealing the code of my WebGL game ?".

Ed
answers are not the place to ask questions.
Camilo Martin
+2  A: 

If your 3D web app is this year or next, go with Unity3D. It provides a rapid high quality development environment, that very few engines can compete with. By choosing Mono for their scripting needs, they have made it basically "choose your own language". Currently supported languages out of the box are Boo, C# and JavaScript.

If you need Linux support, join the forums, and join the people asking for Linux support. Unity seems to actually listen to their users as to what they should add to Unity3D. When i started using Unity 1 year ago, they didn't have a Windows based editor. They listened to their customer and now they do. Unity3.0 is getting Android support for the player, and as you know Android is based on Linux, so it's not a far step to a desktop Linux version of Unity3D. Mostly what Unity is afraid of on Linux is the IDIC of Linux flavors. Binaries on Linux are not guaranteed to run on every distro.

But if your 3D web app is for 5 years down the line.. By then WebGL or Google O3D might be mature enough to fit your needs. But i wouldn't count on it. WebGL is just the next implementation of the long line of failure that is VRML. It was successful 15 years ago, it's not likely to be a success 15 years from now. As for Google O3D, i toyed with it. It can do what needs to be done, but there were unexpected half second lockups. I'm sure Google will, or has already fixed the lockups. But without an IDE targeting it, development will be slow. Add on top of that having to use JavaScript, and your app loses the maximum speed your CPU could provide it. More Complex 3D apps needs a strongly typed language to achieve the maximum speed available from the CPU.

I haven't toyed with Torque3D, so i can offer no educated opinion on that subject.

Corscaria
A: 

WebGL is already working in the nightly builds of all but IE Web Browsers. MS will definitely come up with its own proprietary solution, but someone webgl related will surely provide a plugin for IE. Check what can be already done with WebGL, for example here: http://www.spidergl.org

cheers, RB

rob