Some advice for a newbie :)


JME was recommend by the nice folk on stackoverflow to make some 3D games in Java, and so far I really like the look of it. However, I am new to games development in general and would like some advice on any materials to help me get started with JME. I have read some books on Java3D, but obviously that is way out of date now (though the theory in the book was interesting). I am wanting to target OpenGL 2 for the lower end of computers, nothing fancy (yet!).

If anyone could recommend any books that would be so helpful, are there any for JME? Do I need a good knowledge of things like OpenGL?

Thank you so much! (The SDK program looks awesome by the way!)

That should get you going.

Basically do every Hello * tutorial, reading carefully. When in doubt, ask on forums. If you do so, you should be fine.

Also, don’t be affraid to ask so-called “noob questions”. If you’re stuck, it’s better to ask noob question and get answer/link to wiki/other thread/etc., than being stuck forever, even if answer is on wiki/in javadoc, but you just can’t find it. I’m being sincere here.


And don’t be afraid to use the search:

1 Like

You don’t need to know OpenGL at all to use JME.

The link Darius posted is the best place to start. Go through the tutorials and try the examples. Then combine the examples into something you want.

There is a JME book coming out, no release date set though (it has been handed to an editor).

Thanks for the answers guys :slight_smile:

Not having to learn OpenGL will be a huge advantage for me currently, though it’s on my ever growing todo list for the future :slight_smile: I’m reading through the tutorials and it all looks awesome and building binaries for windows mac and Linux is an awesome feature!

I have a quick question of someone could answer it for me. How can I limit jme to use no more than OpenGL 2.1? I ask this as I want to support dx9 level hardware, nothing fancy :slight_smile: just for a basic game so that it will play nice on my mac too (afaik they only support up to OpenGL 2.1).

Thank you for being so receptive :slight_smile:

This is a job you’ll have to do. Go through the shaders and only use those that use techniques equals or lower than that:

VertexShader GLSL120:
FragmentShader GLSL120:

You'll find those definitions in the material. A file that ends with .j3md. In short, if you see something like GLSL130, then it needs OpenGL 3.0.

Ah right, thank you for clearing that up for me. I look forward to developing with JME!

All shaders work on OpenGL 2.0, just some of the fancier functions don’t. Most of them are replaced with simpler substitutes though so you shouldn’t really notice much difference in functionality. Just give your users some presets to disable some of the “high-quality” material options and post-processor effects / options.