I’m looking to do a multiplayer (client - server, not p2p) game, and on the server run (preferably) a 3d scenegraph library to make picking, collision detection etc a bit easier for a newbie game programmer such as myself. I actually started implementing the server in Java3d, but turns out that J3d requires a Canvas3D to run, else there’s a huge memory leak type bug and the application crashes after a while.
Does Xith3D have a similar requirement, or can that part of the engine be “left out”?
No xith3d also needs to have a canvas to render into (has to do something with OpenGL I think). If not I would be really surprised.
But why do you anyways try to do the rendering on the server? You would have to transfer all the data then to the client, which would result in pretty poor graphics (like internet tv).
But If you don’t want to render anything, you can sure run it on the server. In xith you actually have to set up the render, so you can easily leave that part out. But I don’t know then what the use of a 3d library would be.
Or what do you plan to do?
Arne
Well, as I said in my first post, I want the 3d library to make it easier to check collisions, do some picking etc… Basically, I want to set up a scene graph, add a bunch of “Entities” (extending BranchGroup) into it, check for collisions, do movement and picking, then send data to the clients about what Entities are where, if they’ve taken damage etc etc.
The collision detection and movement can’t be done on the client (would be a cheaters paradise
), so I figured the simplest solution would be to set up a 3d library of some sort on the server and let that handle that stuff (I really don’t have a clue how to write that myself).
I believe Jme can run in silent mode with no window, it uses PBuffers instead i believe. However, jme is not based on Java3D and you might find it different from java3d and Xith. Thus the move is not as easy as it is from java3d to xith. Having said that, the scenegraph of jme is based on NetImmerse (not gambryo) which has quite a few titles to its belt.
Regards,
DP
nah ok then that’s pretty simple for xith3d because when you want to render in xith you do something like this:
public run() {
while(true) {
//do changes to the scene (like the stuff you want to do on your server)
//render - so you can simply leave that part out - it even saves a bit of work!!
}
}
But I will have to warn you: xith3d is not optimal for collision detection. The collision package probably doesn’t even work. So many xith3d programmers who want to do something with physics use odejava.
Arne