Choosing Technology for a Simple Game

I want to build a ‘simple’ 3D game in Java for some language research that I’m doing. I know that the Java 3D community is in a state of flux with the slow fade of Java3D and the rise of jogl, in addition to constant evolution of API’s/engines such as Xith3D, LWJGL, OpenMind, etc. I’m trying to determine the ‘best’ technologies to learn/pursue.

The rough idea for the ‘game’ is as follows:

  1. create a virtual playroom - initially a single room is fine, but a small house would probably be more interesting
  2. populate the room/house with some static and some movable objects (e.g. furniture & simple toys)
  3. create a simple child character within the game representing the computer
  4. create a simple parent character within the game representing the user
  5. define some simple actions that the parent can perform on each object (e.g. pick up, drop, touch, bounce, etc.)
  6. allow the user to describe textually to the computer what he/she is doing

The child/computer will ‘watch’ what is happening and attempt to learn basic language based on the current actions and corresponding descriptions of the parent/user.

All of this is based on a system I devloped in Java which enables a computer to learn nouns/verbs in a bottom-up fashion by ‘watching’ simple videos and parsing short descriptions of each video.

I believe that by moving to a virtual vision system, I can bypass a lot of computer vision issues and provide a much more robust language learning environment.

A short paper on my research is available from:
http://www.cs.cornell.edu/~regina/lwm03/papers/lwm007.pdf

Any pointers on the ‘best’ approach (technologies, tools, etc.) for this project would be much appreciated.

Without a doubt a scenegraph will be exactly what you need, and Java3D, despite living in a cardboard box under the railway bridge, is still the most mature and complete technology here.

Cas :slight_smile:

It’s right that Xith3D is not as mature and complete as Java3D, but it has an active community and develops fast. Actually you may try both APIs.

My understanding of xith was that although not 100% compatable, the idea was pretty much that it looked alot like java 3d, so once you had an app in java3d, and xith has developed some more, you should be able to port over. Also, there is some form of movement at sun with regards to java3d, but no-one on the outside knows which way it’s moving, and it looks alot like a snails pace right now, but I suspect it will look alot like java3d to the end user.
So my suggestion, learn java3d, it’s easy to use and fairly reliable, plus it will allow you to move onto xith when xith is more mature.

Endolf

Thanks everyone. Guess I’ll roll with Java3D and consider other options later.

Xith3D is getting very good very fast… I would at least keep an eye on it’s development.

In the next few days I plan to have JWS demo’s up for you to see.

Will.