jME - the future of Xith3D ?

You all Xith users may be surprised that I post a thread with such a provoking title… However it’s really a question I’m askin’ to myself.

First of all, please read this thread if you want to know what it’s all about :

http://www.java-gaming.org/forums/index.php?topic=13784.0

And as sunsett pointed out,

[quote]Perhaps these aspects have changed since I was there last, but perhaps you Xith people need to seriously look at what jME has and just realize that we’ve got everything already and just join us. :-p
[/quote]
It’s often a good idea to consider seriously a sentence before feeling offensed… And what sunsett propose may be just benefit for everybody.

I know SOME xith users already moved to jME, but these have been isolated cases. What I suggest right now is, if there are no serious objections, to declare Xith officially discontinued and effort moved to jME.

So, let’s flame happily and intelligently… (I begin to be used to that… How many times did I heard “One size doesn’t fit all”, or “Scenegraphs are bloated and fiddly, they suck”, or all sort of things… don’t be afraid to say I’m an idiot, I repeat that to myself every day :stuck_out_tongue: :P)

“One size doesn’t fit all” - is not a flame of any sort. Its a fact.

I don’t think you can “declare Xith officially discontinued”. If people stop using it and stop supporting it, Xith will naturally become stagnent and disappear. However, its open source so theres never anything to stop someone picking up the source in the future and starting a fork.

People do still appear to be using Xith so it hardly seems fair to just come along and say “thats it”.

Kev

I often just dislike this lets distill what we are doing down to some minimal set. One of the things I like best about xith is someone seems to come by and reinstill some new energy into the system periodically. I am thinking of javacooldude and croft for example. I really appreciate the long term comitment of people like yuri and dennis.

I personally like xith because it is similar to java3d allowing me to use the example base that java3d has an implement it simply in xith3d. Unless jME mapped very strongly I have yet-another-learning-curve…yuck time is short I want to create not re-learn.

OK I’m satisfied cause I got points which didn’t appeared in previous discussions.
First what I find strange is : both of you, kevglass and hawkwind… I know kevglass for Martian Madness 1 and 2, OBJ, 3DS, MD2 loaders and I know hawkwind for contribution in the GSG ; I probably miss half your contributions but you can precise after. Please tell me when your last message on the xith boards or at least your last contribution is dated ? It’s been several months and we’ve not heard of you, or am I totally wrong ?
I’m not saying you didn’t do anything useful, but it’s a bit easy to say with 4-5 months of absence, “Oh wha’s goin’ on ? By no mean Xith should be discontinued”…
But I don’t wanna judge you for that, just find it interesting.

Now a bit about me. kevglass said “it hardly seems fair to just come along and say “thats it””.
Now “just come along seems a bit insulting to me” (as my suggestion of discontinuing Xith may has been to you).

  • I came first learning Xith, asked 10 noobs question, then spent 10% of my computer time answering to other newbies questions
  • Several months after, always sharing my knowledge as much as possible, I came up and made a new website for Xith : http://www.xith.org/ (Heh, did you even know it existed ?)
  • After that, I became a Developer of Xith core (although not as officially as Arne, which had honours of a whole thread) and I began to refactor, javadoc’d and correct some classes… I also added Arne’s picking classes (which I had rewritten) then released Xith3D version 0.7.0
  • I continued to refactor javadoc’d and everything, removed jogl renderer, switched all the test cases to JSR-231 and ran every of it and fixed all file paths issues with loaders… I also reported a problem with the JSR-231 renderer and cell-shading, and c_lilian and me are working to fix that…

Do you REALLY think this is “just coming along and say that’s it ?”

When I speak about Xith, I know what I’m talkin’ about or you guys hide me everything during the 1.5 years I’ve been on this discussion board… So please take my arguments as serious…

Now about features comparisons between Xith and jME, I think the problem with Xith is not they’re not implemented it’s they’re not underlined. Cell shading, normal maps, particle system, flag simulation, triangle-precise collision detection, and a loads of other things ARE implemented. MD5 and Cal3D loaders are not difficult to port. Architecture can easily be cleaned up. Optimizations are rather easy to do, and YourKit is a download away (http://www.yourkit.com/download/index.jsp)… Documentation is easy to write (I could do it), support is excellent, we have working renderers for LWJGL and JSR-231, Collada support (which jME don’t have)… Multi-texturing, VBOs, everything… So Yes, definitely, IF PEOPLE WANTS TO MAKE XITH BETTER, there’s work to do and it’s not hard. The question is “are people motivate to do so ?”

Just a small interesting comparison of jME and Xith features :

(from jME’s website) :

  Sample applications
* Game system allows for maintence of the main game loop
* SimpleGame provides a quick entry point for proof of concepts
* GameState provides ability to change game states (menu, game, credits, etc)

We don’t have them but I don’t find it useful

  Bounding System
* All geometry can be enclosed in a bounding system.
* Boxes and Spheres.

We have it

  Curves
* Bezier curves can be used for node controlling.

Being implemented by Croft

  Bezier Mesh
* For smooth curved surfaces.

Being implemented by Croft

  Effects
* Transition from on scene to another.

Easy to do
* Lens Flare.
Easy to do
* Particle System.
Done by jcd
* Screen tinting.
Huh ? Do they mean having a colored semi-transparent quad in foregroud node ?
* Vertex and Fragment Program Support.
We have it
* Cloth Simulation.
Done by jcd.

  Image Loading
* Support BMP, uncompressed TGA, JPG, PNG, GIF.

Not really surprising as a feature

  Texture System
* Supports mipmapping, environmental mapping, multitexturing.

It’s been a long time since we have these features

  Input System
* Robust system allows for easy creation of input actions.

HIAL is just good for abstraction, do your input system yourself…

  Collision and Picking
* Bounding volume and triangle accuracy.

We have it.

  Lighting System
* Handles up to eight lights at a time with utilities for optimal light selection.

We have it.
* Supports directional light, spot light and point light.
We have it.

  Shadow System
* Z-Pass Shadow Volumes.

Hmm not sure we have it

  Math Library
* Provides faster system for linear algebra
* Use of look up tables.

Useful ? Maybe switching to alternate vecmath would be a good idea.

  Level of Detail
* Discrete Level of Detail using a switching mechanism for fast model switching.
* Continuous Level of Detail dynamically collapses triangles of a single model.

TODO

  Model Loading
* 3DS, Obj, MD2, MD3, Milkshape, ASE support.

No Milkshape

  Shapes
* Box, Cylinder, Disk, Hexagon, Octahedron, PQTorus, Pyramid, Quad, Sphere and Torus support.

We have it.

  State System
* Minimizes OpenGL state changes.
* Allows merging of Texture and Light states in the tree.

TODO

  Camera System
* Maintains camera as a seperate object or a node in the scene.

Why ?
* Frustum culling for efficiency.
Done. And occlusion culling, too

  Renderer Abstraction
* Allows for any rendering API to be implemented.
* Currently LWJGL implemented.

We have JSR-231 also

  Render Queue
* Sorts scene elements based on Opacity. Opaque are sorted front to back and rendered first, then transparent is sorted back to front, last screen elements are sorted by z depth.

Done.

  Render to Texture
* Render any scene to a texture object.

Done by I-dont-remember-who

  Imposters
* Render to texture used to display a single model to a texture, can be animated as slow as needed to increase frame rate.

Easy to do

  Billboard Node
* Keeps a node facing the camera

We have it.

  Shader Support
* GLSL
* Vertex and Fragment Shaders (GL ARB)

We have it.

  Sound
* Supports OpenAL with sounds organized in a tree, similar to the Graphics.

We have it.

  Terrain
* Terrain blocks act as single geometry.
* Terrain Pages implements a Quad tree of Terrain blocks.

Easy to do

  User Interface
* JMEDesktop System allows rendering of Swing components in jME scenes. 

We have it. Long before them.

Oh please grow up. Its a turn of phrase. No one is saying you haven’t contributed - if Will, or Yuri or even David came round and posted the same thing you did I’d say exactly the same. I’m not sure about you but I don’t see the java forums as somewhere I come to offend or insult anyone. If I wanted to do that I’d go to gamedev - ha ha - you see, its a joke.

I take your arguments seriously, however I don’t agree. Obviously you feel very strongly about it.

In all honesty I see the posts about what should and shouldn’t be done about Xith as noise. At the end of the day what will revive the ailing community is some really good examples of what can be done with Xith. Make it a viable alternative by showing that it can do what JME or Java3D or any of the other scenegraphs can do. Talking around the subject over and over really isn’t going to change anything.

Finally, what someone has or hasn’t done in relation to Xith or any other project in the past really has no bearing on whether they’re going to respond on a public forum. Thats the nature of public forums, you’re going to get anyone who has an opinion turning up and making comments. If you don’t want that I suggest only replying to those comments that fit what you’d like to hear.

Kev

This is a suprising thread to see, to say the least.

There are enough differences in implementation, design philosophies, etc that this is just not a good idea. You actually think xith3d users are going to migrate to jME with open arms? I’m very proud of what jME has become, but I’m not going to delude myself into thinking that it is the answer to everything. Giving people choice, and doing things in a few different ways IS a good thing, your crusade for standardizing everything into single shared community libraries is counter-productive. The freedom to explore ideas in different directions, compete a little bit between one another and strive to make the library that much better benefits everyone. Not to mention, now that jME has entered more of a commercial space, it’s objectives don’t always mesh with the community at large. While NCsoft, Three Rings, Jadestone and Gamalocus tend to give back code to the open part of jME, we (NCsoft and I assume the same can be said for the others) hold back some of the best features for ourselves… we are still a business afterall.

In fact, jME and Xith are different enough that you might not even want to compare the two, but instead start looking at what Java3D has done and compare it with Xith. There still seems to be a lot of catching up to do to get where Java3D has gotten.

Hee hee hee…oh thank you I rarely laugh online but this was fun. In the hawk family tree we say something when we have something to say, otherwise we are quiet…family trait…one I kinda like. Please never equate being verbose with actually saying something…it is not the same thing.

One’s ability to post is a function of free time…the more ya got the more you can spend. I have little and so spend it wisely…

As to contributing, I answer questions I know and listen to answers I don’t. Just as when I was in school I admired those who know more but do not have contempt for those who don’t. As to what I do with xith, this will come out when it meets my standards…not until

OK I’m satisfied cause I got points which didn’t appeared in previous discussions.
First what I find strange is : both of you, kevglass and hawkwind… I know kevglass for Martian Madness 1 and 2, OBJ, 3DS, MD2 loaders and I know hawkwind for contribution in the GSG ; I probably miss half your contributions but you can precise after. Please tell me when your last message on the xith boards or at least your last contribution is dated ? It’s been several months and we’ve not heard of you, or am I totally wrong ?

ooohh ooohh my god what a shock, I had not idea there was a N posts per month requirement, was this on your web page??? Please send a reference and I will try to meet your standards for having an opinion.

I’m not saying you didn’t do anything useful, but it’s a bit easy to say with 4-5 months of absence, “Oh wha’s goin’ on ? By no mean Xith should be discontinued”…

Cool an actual ability to measure “usefullness” I suggest you patent this bold idea for certainly it will be worth money someday.

But I don’t wanna judge you for that, just find it interesting.

Hee hee hee look I laugh yet again…YOU judge me…can’t see that ever happening, a bit amazing you felt that bold.

I am going to guess you are relatively young and this approach seems right to you. Time will help this, trust me. I don’t understand slamming people who took the time to respond to a question you posed. If ya didn’t want opinions, seems best not to ask for them.

I don’t typically respond to this type of posting, equating it to spam, info mercials, and unwanted phone calls. This one was to fun to miss. Unfortunately this post has me exceeding my 1 per 1/2 year schedule so I don;t think I will be able to respond to your follow(s). Please follow up thought, that way you can equate my silence to your…errr…victory.

P.S AS to…

First what I find strange is : both of you, kevglass and hawkwind.

I am most certainly strange…but kevglass seems quite normal…odd assessment

To the xith community…

I know we should’nt get huffy, it just seemed like the thing to do…won’t do it again.

oh please do hawkwind … That really was fun :slight_smile:

okay, okaay

OK, and I did hope that you didn’t agree. It’s pretty reassuring I can still make a half-troll and find solid people answering to it… It’s a goodness to me little young unexperienced thing ^^

I agree.

I understand.

Yep I am young, and ?
I don’t think I won I had no intention to.
I didn’t intended to say you were strange but the moment you were “appearing”.
And I wouldn’t have made a new website for Xith neither wrote HOWTOs neither done support if I don’t believed in it. And yet this was an interesting thread, thanks all, the humor part was provided by hawkwind.

P.S : Oh, and BTW, hawkwind, if I ever have someone to repel about something I’ll call you. However, I can understand you found that “funny”.

Can someone remove this thread please ?