New to JMonkeyEngine

Hi i’m new here and I was wondering hows the learning curve? Is it very hard to grasp? Or is it just one of those things that you understand how to use as time goes? Also how powerful is the engine? My main focus for now is 2d tiled based rpg (using pixel art). I also look foreword to working on 3D games in the future as well. Sorry if this question may sound noobish but I am still pretty new to game development, not so much to Java though.

Any responses would be appreciated!


Welcome to this amazing game engine :smile:
I found it easy. Just download and install the SDK and head towards the beginners section and learn :wink:

Hi! :smile:
In my opinion JME is very easy to learn. Usually it is more complicated to understand graphics concepts and how to optimize your game later. :wink:
You can do with this engine pretty much almost everything that you can do with any other. Note that JME is more for coders, so if you want to have full control over everything, then it is definitely for you. Asset pipeline is not so strong, as others usually point out. Also some other things may be lacking, like state of GUI (people seem to dislike nifty and roll their own).
From my point of view, the engine is also lacking some basic support for creating 2D games:

  • There is no sprite engine, although there exist multiple third-party implementations.
  • Particle system is mostly designed for 3D and has some issues in 2D.

All in all, you will probably not get everything out of the box and will have to implement some things on your own, but you will get a vibrant open-source community for support. :wink:

Hello and Welcome to JME.

The difficulty of the engine is more related to one’s experience with Java programming, IMO (the more experience you have, the easier it gets). The learning curve is not bad at all and with the tutorials you can have a good grasp on how to get things going with this engine.

About how powerful, JME is more than powerful enough for indie game development :wink: and there ways to make your code optimal the more you learn your ways around it to keep the framerate high and great visuals. you can check what other members have achieved and it’s fascinating.

When it comes to 2D, JME can do it but I recommend to follow what other have made in the forums. JME renders 3D but if you ignore the z axis you have 2 dimensions and quads to work with just fine.

Thank you for the replies!

It seems that JME is a bit lacking in 2D if i’m not mistaken? That won’t be too much of a problem hopefully.

I was checking out the show case and their are some amazing 3D games made with this engine which really gets me excited for 3D development!

Thank you all for the replies once again, I look forward to trying it in Spring break. (That college life man…haha)

When I release my game I also plan to open source my 2d library! :smile:


Engines such as Unity and Unreal are more powerful, especially regarding foliage, shadows, and things like that. That said, jMonkeyEngine allows more control, and has an easy learning curve.

jMonkey does focus a bit more on 3D, but for 2D things it should be fine too.

With any engine, there will be a sacrifice. In JME, the sacrifice is that you do not have powerful easy-to-implement graphics tools, but you do get control about almost every aspect of the game you are creating.

I think the easiest way to put it is that it’s as powerful as you are able. If my 9 year old son wrote a game, you would imagine that it would work, but not exactly advanced or in-depth, whereas somebody with a lot of shader knowledge and quite mathematically able would come up with some very impressive stuff.

If you youtube search jmonkeyengine - you can find quite a lot of impressive projects - and there are a few users on this website with threads showing some very impressive ideas and proofs-of-concept.

It’s all a matter how interested and determined you are. That’s gamer programming for you, for any engine out there. How much do you want to make this game, and how interesting is it for you to learn what you need to know. Simple as that.


Note: There are alternatives to nifty they just aren’t included in the SDK. And anyone who doesn’t base the ‘rolled their own’ version on at least parts of Lemur is going through a lot of unnecessary work as Lemur was designed for rolling your own gui.