First of all, let’s present myself.
I started game development with GLUT/OpenGL in C++. All was pretty good although I had no experience at all. But I found development a bit messy… I used L3DS (http://www.levp.de/3d/) to load 3DS models which I modeled using Anim8or (http://www.anim8or.com/)… Not fancy, but it worked.
Well, after having resolved the 50 welcome bugs for n00bs I had a running game prototype… I even had sound with Fmod (http://www.fmod.org/)… All couldn’t be better… until I tried to compile on Windows… (I was working under linux)… And then the problems began… GLUT versions weren’t synchro between Linux & Windows… Lots of portability issues… One of my freinds tried to compile on mac… And it was even worse, L3DS didn’t work at all and all he got was a black screen and a crashed mac. Then I decided to go SDL, and after having issued 100 SDL parachute errors and figured out that C++ is really not as good as gamedev.net says.
Then I began to look for a Java solution… I had tried Tribal Trouble (http://tribaltrouble.com) and it seemed to me pretty, fast, and portable… So I decided to go the way they had gone… I downloaded LWJGL but unfortunately there was no test to run easily on linux, and as I had very little knowledge I didn’t went very far. I then e-mailed Tribal Trouble development team, which answered I could also try Java3D or Xith3D which were also pretty good. Java3D was dead and didn’t have any linux release so I downloaded Xith3D, followed the Installation Guide, then the Getting Started Guide and started coding again my game… And it was fine.
Some weeks after the news arrived Java3D was resurrected… Although (as you can have seen) I’m a lib-changing guy I didn’t wanted to try the new Java3D… Then I heard about jME… I even ran some demos which were beautiful, but Xith3D was fitting my needs. So I just stick with it.
Actually I’m fighting with my artists to have a working graphic pipeline… To say you all :
- MD2 isn’t precise, and Blender export don’t work really. And it doesn’t support bones
- OBJ is precise, and Blender export works, and I can import it in Xith but it doesn’t support bones
- Cal3D cannot be imported currently in Xith3D
I have regularly proposed my ideas of merging libs or at least merging the efforts, improving collaboration… each time some gurus had really good reasons not to participate to that…
Now it’s ridiculous how the competition has become between Xith3D and jME… “Oh I can get 10 more FPS with jME, let’s take it”, “Oh Xith can support Collada, let’s go Xith3D !” Don’t tell me the usage of jME and Xith are different it’s just political or personal opinion that make you chose one or another…
And now there are duplicated effort… Each one is going to write its own loaders and all just because there are many separate libs that don’t contain every feature they need.
Collaboration is good. What can be shared between Xith3D and jME is, IMHO :
- Culling methods, and everything in general that can increase FPS
- Loaders : MD5, Collada, Cal3D and others if there are volunteers…
This is the strict minimum if the community won’t go further which would be creating a unique library, not formally a merger but a common effort.