[java] A 3D engine for Java

Started by
18 comments, last by felonius 23 years, 4 months ago
Hi, Sorry. This should be in the annoucements section, but I don''t think Java people read that. I have now written a Java interface for the 6DX 3D engine from Eldermage (www.eldermage.com). Check that site out for screen shots. 6DX is a Quake II style 3D engine that allow high performance applications (and games) to be written and allows importing of maps and models made in various Quake editors. 6DX is currently in version 1.0, but the version 1.1 that is currently in the Alpha stage has by one of the alpha testers been reported to be faster than Half-life on large levels. If you are interested you can download the Java interface at: http://www.rolemaker.dk/JWindows/6DX/index.htm It comes with full documentation and is free. 6DX only works on the Windows platform as it uses DirectX 7.0. And one note to Bobbin: I would not have been able to write this without the MFC wrapper and the techniques described in the report. Doing a MFC wrapper also has the purpose as functioning as a core to do other C++ libraries requiring the Windows platform. Jacob Marner
Jacob Marner, M.Sc.Console Programmer, Deadline Games
Advertisement
The only thing is, you have to pay for the 6DX engine.

Which is against everything that I stand for (in other words, keeping my wallet full)

;-)
True, you have to pay for the full version ($195), but it is quite cheap (compared to other engines) and you really get something for your money compared to writing to for instance OpenGL directly (using Magician). In comparison, both the Unreal and LithTech engines cost $250,000 per product you wish to make. For 6DX the amount of prduct you may make is unlimited. Admittedly 6DX isn''t as advanced as Unreal or LithTech, but if it was then it would probably cost more. I don''t know of any other 3D engine that is free, has high performance, an active community and is available for use in Java.

In fact it was the C/C++ 3D engine I found to be best (I evaluated about 25 engines - most really crap) when I choose which one to make a Java interface to one of them.

Anyway, the evaluation version is limited only in the amount of world geometry you can make, and I made the this Java interface using only the that version.

And finally, because I wrote this Java extension for 6DX, I have been given a free registration. If you prove your worth by making a great demo, some extension, or proper documentation then Eldermage will give free registrations away.

Jacob Marner
Jacob Marner, M.Sc.Console Programmer, Deadline Games
What about TNB ( http://www.radonlabs.de/ ). It''s a free next gen 3d rendering engine. Take a peek it has ALL the bells and whistles. They are releasing the engine open-source because they don''t want to bother supporting it they want to write games. It''s a full ~10mile visibility, fog, mes deformation, ..... it''s hard to even remember all of the things this thing has. I''de recommend everyone doing 3d take a look it''s very impressive.

If I cann''t get java to run faster I may end up switching to this or wrapping the classes so I can intermingle java with it.
The Nebula Device was one of the engines I evaluated before choosing 6DX.

I ditched TND because it lacks support and practically (at least at the time I made the evaluation) had no proper documetation. These two things combined made me go away.

Jacob Marner
Jacob Marner, M.Sc.Console Programmer, Deadline Games
I don''t dispute it''s a hell of a lot cheaper than a lot of other engines on the market.

What can I say? I''m Scrooge McDuck with a Java badge.
felonius, did you consider the Crystal Space engine when you researched wrapping a 3D engine? Since CS runs on many different platforms, wrapping the generic API would alleviate issues of platform-independence and native binding, no?

I just downloaded your paper describing your technic. I''m looking forward to reading it!

-Omar

---

"We are Indigenous. Welcome."
Indigenous Technologies, Inc.
---"We are Indigenous. Welcome."Indigenous Technologies, Inc.
Cristal space does not have a java interface already... after poking aroung I found...

http://www.wildtangent.com/ Plug-in for windows that allows you to write games in Java or java-script includes multi-track audio and 3d.

http://sourceforge.net/projects/nebuladevice/ Now has a Java interface wrapper. Nebual is imature but free and developing quickly.

Crystal Space is good, and should be easy to interface with as the windows version has a full COM interface. It is more mature, but less full featured than nebula.

Good luck
Yes, I did consider Crystal Space. Actually for a time I actually had decided using it and began working on a wrapper for it, but I ditched that project again because Crystal Space was way to unstable and in all the tests I ran also ran quite slowly. The graphics looks nice, but it often does not work or runs slowly. Crystal Space is simply not complete enough to be of serious use - the same goes for the nebular device. 6DX and now also 6DX for java is complete enough for that. Furthermore, Crystal Space is no easy engine to get working - on any platform - I think it is more important to be able to get an application up running fast rather than having to use much (C++ specific) time just getting things to work.

Doing by evaluation period (about 3 weeks of trying things out) I went over these engines:

Genesis3D, Jet3D, Panard Vision, Fly3D, GamesBasic, EasyGen3D, FOCUS Renderer, RenderWare, Sparklight3D, Power Render, Wildtangent, Morfit and Nebula Device, NeMo, 3D GameStudio A4, 6DX, LightCube, 3D RAD, Dark Basic, java3D, and Crystal Space.
To expensive for me to try was LithTech, NetImmerse, and Unreal.

Some of the above engines requires the use of some internal scripter, but if the including scripting languages had been better in those then I wouldn''t have made a java wrapper at all but would have used those scripters.

I can''t find the Java wrapper for the nebula device. Snowmoon, can you be more specific.

There has certainly been some new developments in WildTangent since I last looked at it. It looks like a owrthy (better?) alternative to 6DX. As a user I would try both. I will look closer at it myself.

Jacob Marner
Jacob Marner, M.Sc.Console Programmer, Deadline Games
I have downloaded WildTangent and looked at it in more detail. It looks pretty cool, but one must note that the purposes and advantages of WildTangent vs. 6DX are different.

Issue 1:
------------
WildTangant runs only as an applet in on a web page, as a plug-in (netscape) / ActiveX component (IE). It can, though switch to full screen. There is no application support.

6DX runs as an application only. There is no applet support. (at least not at the moment)

Issue 2:
------------
A consequence of issue 1 is that WildTangent cannot be used with native compilers. This is worsen''t by the fact that the VMs in browsers are some of the slowest available, so if you add much code to a WildTangent things will become very slow.

6DX for Java works fine with native code compilers.

Furthermore, because it runs in browsers WildTangent only supports Java 1.1 code (but not newer), while 6DX for java works on any 1.2.2 Java or newer VM.

Issue 3:
------------
WildTagent seems to have more features than 6DX and can make nicer graphics, however, when looking at the postings in the forum it seems that the framerate suffers.

Among features that WildTangent has that 6DX does not have (except in the alpha version available only to registered users) is an outdoor scene renderer, a flare lences.

It seems that WildTangent (life for instance NeMo) uses dyanmic entities for everything, but in 6DX as much is possible is made static. This allows you to get higher frame rates.


Conclusion
----------------
It really depends on whether you intend to use the code on the web or not.

I hope this small discussion has been of use to someone.

Jacob Marner
Jacob Marner, M.Sc.Console Programmer, Deadline Games

This topic is closed to new replies.

Advertisement