[gameprogrammer] Re: Browser capabilities for a 3D game

My research on 3D capabilities in a browser is pretty much complete. Here is what I found:

Flash:
* Can do primitive 3D, but slow and lacking in any modern features.
* It is cross platform
* You have to write your own software renderer from scratch. If you search for "Flash 3D engine" a few hits do pop up but nothing substantial enough that you couldn't do yourself.


Shockwave 3D
* Performance-wise this seems promising. There is a commercial site here: http://www.shockwave3d.com/
There are a It features a number of games that use this technology and they run and look fine. However, none of them feature a huge number of polygons, as what you would expect in a complex shooter for example. Whether this means it cannot be done or they didn't do it I don't know
* I believe it is Windows only
* This requires that you buy Director MX, which costs roughly $1200 for a new version and $400 for an upgrade version.
* To program, you use a scripting language called Lingo. According to Macromedia's website, there are two scripting languages but the site is vague I haven't found any references to any other scripting languages. Lingo seems to be similar in syntax to C. Lingo is totally proprietary, used only in Shockwave. To me that is a big negative, because it means my time spent learning it won't carry over into other fields. If I spend a lot of time pursuing it, only to find out that Shockwave can't do what I want, then I wasted all that time.


Java
* I've seen some excellent looking examples for Java but I've been told that Java cannot support good framerates for what I want to do.
* It has some nice, game-development oriented tools such as
http://www.lwjgl.org/
* There are 3D libries out there, including
http://www.dzzd.net/
http://www.jpct.net/
I contacted the authors of these libraies to get their feedback on the performance. If I see proof that Java actually can do high performance 3D then I will followup and amend this in a later email.
* It's free and cross platform
* Java is pretty close to C++ and since it is in wide-spread use your time spent learning it won't be wasted


Flux (Proprietary Plugin)
http://www.mediamachines.com/
* The demos look OK but nothing near what I need to do. I'm not saying that Flux cannot do the job - simply that the demos do not show it. The author is reponsive so believe support would be good and performance will constantly be improving.
* The price is undisclosed so far
* There is no information about an SDK
* I believe Windows / IE only


Wild Tangent (Proprietary Plugin)
http://www.wildtangent.com/
* This is a decent engine, which you can integrate with C++, Visual Basic, I think Java, and possibly others
* Uses a proprietary DirectX driver
* Has a 3DSMAX and possibly other exporters
* None of the demos or samples show the kind of performance I require. However, I believe it is possible since this is simply running DirectX in a browser.
* Information on the website is vague, which is why I have so many 'maybes' and 'believes' here. When I contacted them for information I got back a form letter that did not address my question. The engine supports showing ads in and out of game. There are complains about the driver sending user information back to the company and difficulty uninstalling the driver.
* Fees range from $5000 to $10,000 for commercial products. The actual breakdown is here
http://www.wildtangent.com/downloads/Tech_License.pdf
In my particular case, I would have to give 2% of my gross back to them, minimum $5000. To me that is absurd, not because of the amount but because I don't want some 3rd party digging into my company's finances.


Writing your own ActiveX control
* It's a bitch to get working
* It can do anything
* That's all I know about it

VirTools (Proprietary Engine)
http://www.virtools.com/
* This is by far the most powerful engine in the list. You'd really have to go to the site to see all the features, as there are too many for me to list here. The only thing I'll add is this seems to be based on releasing actual executibles, of which web support is one output stream.
* Since the information is spread out and slightly vague, I emailed them and got a response right away. These are the answers I got to my questions:


1. Can VR tools make a networked game that runs entirely in the browser?
[[Virgile Delporte - Virtools]] Yes. Combining Virtools Dev and the Virtools Server. You may want to check this example: http://www.virtools.com/applications/technology-chatpark3d3.asp


2. If so, is it cross-platform?
[[Virgile Delporte - Virtools]] The Virtools authoring platform is on the PC and the Virtools Web Player runs on both the PC and the Mac platforms.


3. Does VR tools support C++?
[[Virgile Delporte - Virtools]] Yes. Virtools is built in C++, and our SDK is in C++. However, we provide 3 programming levels within Virtools. 1/ a flowchart programming, using ready-to-use components called Building Blocks; 2/ a proprietory scripting language with a syntax close to C/C++ ; 3/ the SDK itself, with the source code of most of the 450 Building Blocks we provide in Dev, together with the source code of many internal engines (sound, video, animation, particle etc.)


4. How much is a developer license?
[[Virgile Delporte - Virtools]] The entry price for Virtools is $9,500.

So in summary, I would rank these engines in terms of performance and cost as:
1. Vir Tools ($9500 +)
2. Wild Tangent ($10,000 commercial, $5000 web only)
3. Shockwave 3D ($1200)
4. Flux (?)
5. Java (Free)
6. Flash (?)


For a top of the line game, I would go with Vir Tools. For a mid-level game, I'd go with Shockwave 3D. For a simpler game, or if you want to do pseudo-3D, I would go with Java. If you have the money, time, and knowledge, you can always write your own using Active X.


--------------------- To unsubscribe go to http://gameprogrammer.com/mailinglist.html


Other related posts: