More info about jME?


as you might've noticed from my other post im new to these boards and just registered, so a big hi to everyone.

I've just recently installed jME and am following the tutorial with great interest. I have no real experience with 3d engines nor game engines so I'm a bit clueless what makes jME better than any other engine besides that its in Java and im far more proficient in Java than C/C++. :slight_smile:

When I initially made my choice I was doubting between jME and Ogre. Ogre has some nice screenshots but thats more artist-related than engine. Maybe it would be interesting for jME to have a very nice-pretty engine demo of its capability's? I'd even want to make one myself as im about to make semester for my own at college where I want to pick this as subject (which more or less means I can meddle with jME freely for 10 weeks).

Perhaps someone can tell me what the substantial differences between jME and Ogre(or any other engine) are because when I read the feature list I just see a bunch of letters without meaning to me  XD

Maybe im asking the wrong question but I'm interested in what jME's is capable of. Tried looking at the showcase but 9/10 pictures aren't showing up.


there are many demos showing capabilities on the jme webpage and even more in the sourcecode :slight_smile:

Yea I've ran all of them but I don't see what's special about them. I mean, they look pretty but I can't see the whole picture of all those effects in game thats why i'm interested in seeing a demo with all those features combined in demo. If you've seen the Half-Life 2-source-demorun, then you know exactly what I'm aiming for. Maybe it's easier to ask if jME is equal to source?


I would say no in the majority of respects although jME does have its advantages over probably any other engine out there.  One major advantage over the Source engine is the pricetag. :-p  Further, being able to develop your games in Java puts it in an entirely different league.

If you're asking if you can do professional game development in jME, the answer is yes.  If you're asking if it's to the level of professional capabilities, streamlined, and polished as the Source engine…no.  This project is primarily driven by the efforts of the community.  If the engine lacks a feature you want or need, you can contribute it or wait for someone else to do so.

Honestly, I'll take jME over the Source engine any day, but that is primarily due to the ability to write much better code in Java than you can ever hope to accomplish in a game in C/C++.

That's just one frogs' opinion…take it for what its worth…and if you don't know what it's worth ask Llama, he's more than happy to tell you. :-p


The last time I looked the java version of Ogre wasn't all that hot, but that was a while ago.  I think JME is the best option for someone getting into 3d with java.  Using a scenegraph is better than going directly to the bindings (jogl, lwjgl).  I have found JME to be much better and easier to get started with than java3d, though java3d can (or will?) be able to support directx.

I don't have experience with xith3d (another java scenegraph) so I can not comment on it.  JME seems to have the best community of any of the options I've seen, and that is a big plus in my book.

The demos that come with JME are primarily just showing off how to use one single effect or feature, not showing everything like you are asking for.  They seem to be more about getting the users jumpstarted using a feature rather than being flashy and showing off.  If you check the user showcase forum you might find someone's program to show you many of the features.

I think JME is a good choice.  If you are really interested in the ogre bindings you can check them out.  I would try to make sure they have a decent community in case you need help.  That is one of the areas where JME really shines imo.


I would compare Ogre and jME with this: the mess and the beauty.

I needed a whole day just to compile Ogre. Sure there are binary releases, but they tend to be as crashy as the CVS version. And the binary version doesn't contain some cool modules found in the Ogre CVS. But then, its a pain to make those modules link with the core engine. I say its a mess.

Ogre4J is right now a quiet project, with developers trying to automate the generation of bindings. This is a clever move, because with each new Ogre release they'd have to patch the bindings manually. But apparently it takes long time to define all the rules for the binding.

On the other side, jME is very cleanly coded, its the best thing for learning how a game engine is structured. And if you want to change something in the engine, you can do it without messing with c++, plus the bindings plus your Java program. Since using jME, I'm on the view that there is no gain in using a c++ engine trough bindings.

darkfrog said:


I would say no in the majority of respects although jME does have its advantages over probably any other engine out there.

Well, not that much left to be said… some of my general thought I posted in an earlier thread:

As for the C++ vs. Java thing, there are only three things that C can do better (none of them are C++ features). Direct control over when/where memory can be allocated and deallocated, direct acces to system memory and inlining assembler code. It's the lack of those features in Java that gives you some of the benifits of Java, garbage collecting and security.

Since Java 1.4/1.5 there are some pretty decent features that will allow you to do most things you'll need to write quite advanced games. They will have a little bit more overhead than C++. Then again C++ has a little bit more overhead than C, so people used frown upon using C++ to write games too. And before that there was a time assembler was the preffered language of choice.

If you have a 100 million dollar budget, and you want to make a game that runs as fast as possible, those arguments can make a lot of sense. But if it's just you and some friends, and you can code twice as fast in Java as opposed to C++, I can promise you that if you'd work on a game for a year, it'd run a whole lot faster and more stable on Java than if you would have done it in C++.

My statement of development in a different league was referring to the development time and capabilities offered through Java as opposed to any other language.  In C/C++ in this day in age it is extremely unlikely for an individual to be able to write a game that will be popular because of the amount of time and effort required to do so.  Most games these days take years with at least a hundred people working on it.  One of the major benefits to Java is that it brings back that possibility.  An individual developer utilizing Java can reuse code more efficiently, make their code easier to understand, abstract away complex features, and use built-in functionality of the language in order to rapidly develop a game that in another language would take years to write as an individual.


I think that sums it up nice, it's exactly what I tried to say in my last sentence.