Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (109)
games submitted by our members
Games in WIP (536)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Advise needed for making a 3D opengl virtual tour  (Read 1460 times)
0 Members and 1 Guest are viewing this topic.
Offline ddwarf

Junior Newbie




Java games rock!


« Posted 2005-05-18 20:45:04 »

Hi everyone. I'm new in programming games in java... totally noob  Grin

Therefore i will need your help. I have to choose a technology for a project I'm on. I'll describe it now.

My school (I'm a student) has given me the task of making a new virtual tour of the school, in order to place it on their website. They actually did one, vith VRML. It's pretty ugly and unfounctionnal, and of course not really cross-platform or browser-independant. There are the constraints of my project:

- I have to take the VRML existing data, put it into a 3D editing app, make it much nicer (I habe a friend working on it with me, and he is pretty strong at modelizing):
  - do a not-entirely-flat terrain
  - do nicer textures (perhaps the easier)
  - do overlay textures containing light effects on the buildings

- i have to do it completely cross-platform, not necesseraly a web applet; i have to avoid the use of a software plugin
for "playback"; since I started i am convinced that java with opengl is the best for me; i know that java web start is perfect for the project too.

- the user should "play" this virtual tour like a FPS (just walk and use first person view, maybe a world-of-warcraft-type view (you see your avatar and if you zoom you're in it), with letf/right/forward/backwards controls

- the place is a relatively flat terrain, with mostly parrallelepipedic buildings; the landscape is sometimes a little wide, the soft should be able to show from relative far distances; there is some vegetation (mostly trees (should be hard to do) and grass (a texture will be easy to do))

- I have one month to do it ^_^

- i must optimize the size of the map file for maximum web use

- I have to make the use of "spawn points", in order to let the user warp to named places (2D text overlay) like "hall", "administive building", ...

- we are two students. I have experience in general programming (mostly java and C; java preferred; working with Eclipse IDE). My friend has experience in 3D (works with Maya).

At this point, we have determined that we should use either Xith3D or LWJGL; we haven't chosen the 3D application who could allow us to import VRML and output in the better optimizing 3D format for our project (that is, displaying a quake-like map with relatively far view distance). I tried maya (doesn't please me) and blender (i'can't understand the interface); the school has licenses for 3ds max too, and I'm thinking of trying it.

We have studied the possibility of using completed open-source project who were close to our willing: Jake2, who renders 3D quake maps, would be ok. If so, we could in fact modify it (make it a lot lighter) and keep only the needed features, and make the map in Quake map format, using Qrandiant. The problem is, that it will be hard to be made from VRML (and we'll have to do it from scratch), and that (it seems to me so) it won't be possible to do a not-completely-flat terrain.

We have considered the use of the q3demo of Xith3D, which fits our expectations, but whose renderer seems not as good as LWJGL's. It lacks fluidity (by me). Maybe using it with another loader could be good but only 3DS, OBJ and md2 (q2 map if i'm not mistaken)...

What do you think of all this? Which would be your advise concerning the choice of technology and of 3D programms?  Having read all the constraints we have?

Thanks in advance for giving us a part of your experience in Java games programming and for your indulgency concerning my english and my noobism.  Wink
Offline Orangy Tang

JGO Kernel


Medals: 56
Projects: 11


Monkey for a head


« Reply #1 - Posted 2005-05-18 23:32:32 »

Quote
We have considered the use of the q3demo of Xith3D, which fits our expectations, but whose renderer seems not as good as LWJGL's.

LWJGL doesn't have a 'renderer' as such, its just an interface to OpenGL (and hence is pretty close to talking direct to your graphics card). It therefore looks as good as you can program it and your hardware can handle. Xith (being a scenegraph API) does have a renderer built in that you can't change as much - the advantage being that you get a ready-made optimised renderer with a much higher level interface.

As much as I love doing things by hand (ie with low-level OpenGL) if you've only got a month you need to be using as many high-level tools as you can get your hands on. Don't worry about the actual visuals (as long as its not flat shading) and worry about how you're going to actually get the data and do things like walking and collisions.

A month is *nothing* for a project like this, so do whatever you can to speed up development. Good luck.

[ TriangularPixels.com - Play Growth Spurt, Rescue Squad and Snowman Village ] [ Rebirth - game resource library ]
Offline arne

Senior Member




money is the worst drug- we should not let it rule


« Reply #2 - Posted 2005-05-19 16:32:21 »

I would recommend xith, cause that's easy to learn. If you want to use xith note,
- that you should use available loaders, because applying textures and other stuff is complicated and the doku is not very complete at that point.
- that the collision detection inside xith will probably not work, so you would have to use odejava. Odejava is easy, espacially if you don't want special things like joints or so, but it's another api you have to learn.

Have you also looked at JMe(JMonkeyEngine)? I think it is even higher than xith, so it might be easier for you to learn. (JME contains also a physics engine, I think)

:: JOODE :: Xith3d :: OdeJava ::
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline ddwarf

Junior Newbie




Java games rock!


« Reply #3 - Posted 2005-05-23 14:30:40 »

Thanx a lot for your advises .

For the collision thing, I thought it would not be the biggest problem because of the simplicity of interaction we're aiming to... Well we'll see.

We're gonna use xith3D, with the 3DS format I think. Does anybody here have a comment on this loader?

Kiss
Offline Vorax

Senior Member


Projects: 1


System shutting down in 5..4..3...


« Reply #4 - Posted 2005-05-24 22:19:18 »

Collision detection in 3D involves alot of math and is probably the most difficult part of the job.    Even a simple implementation of planar collision detection can take quite a while.  In 3D, even something as simple as detecting if a user has clicked a mouse on something, is pretty difficult compared to rendering the world itself.  

I am not to familiar with the Java scene graphs, but if nothing else you want one that has picking api's or full collision detection routines, unless it's ok that nothing can be interacted with and people can walk through walls, can't climb stairs, etc.  (which it sounds like it's not).


Offline ddwarf

Junior Newbie




Java games rock!


« Reply #5 - Posted 2005-05-25 13:13:05 »

Ok. But what about using a well made programm like jake2 ? (that's why open source has been made, in order to let people not work from scratch, right? Wink )
Offline arne

Senior Member




money is the worst drug- we should not let it rule


« Reply #6 - Posted 2005-05-25 19:28:15 »

Quote

We're gonna use xith3D, with the 3DS format I think. Does anybody here have a comment on this loader?


If you want to use odejava you have to think also about getting the geometry into the physics engine. But for that there are already tools existing. You will have to be able to acces the Geometry inside the loaded object to do that. The simplest function will probably simply return a Branchgroup or something like that (I don't know actually, cause I've never used this loader), so you'll have to do some searching I guess.

Quote

Collision detection in 3D involves alot of math and is probably the most difficult part of the job.    Even a simple implementation of planar collision detection can take quite a while.  In 3D, even something as simple as detecting if a user has clicked a mouse on something, is pretty difficult compared to rendering the world itself.  


I would never try to write my own physics engine, this would be insane !!!

Oh maybe not... do you also want to show other characters in you roundtrip? If not you could simply adjust the position of your camera (you won't even need to have a model) by picking downwards (this way you get the stairs) and by picking to the sides. This way you should be able to prevent colliding with walls. Unfortunately xith has not a very good picking method. I made one, but it only works for TriangleArrays and it creates a lot of garbage. But it should be easy for you to change this method to your needs and to use it. You can find it
here
.

Arne

:: JOODE :: Xith3d :: OdeJava ::
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

CogWheelz (14 views)
2014-08-01 22:53:16

CogWheelz (14 views)
2014-08-01 22:51:43

CopyableCougar4 (15 views)
2014-08-01 19:37:19

CogWheelz (19 views)
2014-07-30 21:08:39

Riven (27 views)
2014-07-29 18:09:19

Riven (16 views)
2014-07-29 18:08:52

Dwinin (14 views)
2014-07-29 10:59:34

E.R. Fleming (35 views)
2014-07-29 03:07:13

E.R. Fleming (13 views)
2014-07-29 03:06:25

pw (44 views)
2014-07-24 01:59:36
Resources for WIP games
by CogWheelz
2014-08-01 18:20:17

Resources for WIP games
by CogWheelz
2014-08-01 18:19:50

List of Learning Resources
by SilverTiger
2014-07-31 18:29:50

List of Learning Resources
by SilverTiger
2014-07-31 18:26:06

List of Learning Resources
by SilverTiger
2014-07-31 13:54:12

HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!