Thoughts on 2D support?

I was just woundering if the jmonkey team ever plans on full 2D support with physics and everything? like instead of extending SimpleApplication we could extend a class called SimpleApplication2D or Simple2DApplication.

I just think it would bring more users to the engine / project / community and allow users to create more amazing things. It would also be easier for people new to game development to write a 2D game(they dont have to deal with Quaternion’s, etc…). plus alot of game ideas work better as a 2D game.

1 Like

jME is a 3D engine. Writing a 2D game in it isn’t hard. I do it a lot. But it’s a 3D engine.

We are not not not not not Unity. We are also not not not not not not a drag-and-drop engine. We expect users to have a basic understand of Java and programming already… in which case adapting to 2D is just a matter of putting your stuff in the guiNode instead of root. You don’t have to use Quaternions if you don’t want to, for example.

I don’t even begin to know what that would do and may indicate a fundamental misunderstanding of what’s going on here.

Edit: even integrating a 2D physics engine was only about 20 minutes work with the right experience. And without the right experience, 2000 other things are going to trip a dev up that have nothing to do with that.


I think this here is open source and everybody can contribute. So maybe you write that 2D extention as an jME addition and provide/maintain it as an open source project. I also do not really think that the core devs do all that work to increase the user base but because they like what they do. And because of that I guess the roadmap is not primary to increase the user base but just have fun or just what is important to them. at least this was the case for me maintaining and developping httest :slight_smile:
that is open source IMO, I do something I need and provide it to others in case they also need it find it usefull. Everthing beside that is a payed job. payed jobs are less fun because you also have to do stuff you dont need or even worse you think is the wrong thing.

Well, when you develop an engine you have to decide what is “core” to an engine. 2D games are not core to JME so we will not add code to core to support it… other than what is already there to support 3D applications. There is already too much in core, in my opinion and it increases the maintenance burden significantly. (At least we finally have separate published jars for stuff.)

So, yes, as for contributions, I highly recommend plugins… for whatever isn’t in core. It’s better for everyone. So if someone creates a library that has some SimpleApplication2D that you must extend (that doesn’t really do anything as far as I can tell) then that’s up to that author to make it and publicize it here.

Better still, some separate add-on utilities like:
-dyn4j integration library for JME
-sprite library… even better if it has animation supported by standard 2D animation tools
(the sprite library may already be started a few times now)

I like the idea. I think ill make a github repo and link you guys. I was thinking it would be awesome if the 2D thing including .tmx map loader support(really cool tile map creator) along with it so people could rapidly make really cool maps.

1 Like

And that’s what I like the most in jME.

Yeah i kinda agree. I find you learn a lot more about the way games are built with this engine.

I didn’t know jME was a drag-and-drop engine :chimpanzee_winktongue:

Hey am actully testing a 2D engine in java right now as a side project and that thing work really well. The things is name libgdx

So I would recommend not to try reinventing the wheel, too much effort and usually not enough results, but hey, ain’t nothing to the passion I guess :stuck_out_tongue:

boolean dragndrop = true;
boolean jmeDragNDrop = !!!!!!dragndrop; //It's true!

@pspeed considering the not operator, you made that statement wrong :stuck_out_tongue: :wink:


Did you ever make something of this? :slight_smile: