What's the status of JME3 2d game development

It can be done easily enough. There is a decent sprite shader out there I believe that will perform well. I do feel like you’d be better off with libgdx though which is made for this sort of thing and so has a lot of other features you may end up needing (personally though I’d use jme3 for 2d aswell since I did not enjoy working with libgdx).

What features are desirable aside from just using a parallel projection camera?

TMX tiled map support - loading and rendering, Box2D built in, 2d particle system.

Some you can implement yourself easily enough sure, some not so easy.

I haven’t used Box2D, how does it differ from Dyn4j? I rather enjoyed working with Dyn4j.

Not a clue! Never used Dyn4j. I only remember good things about box2d, I had 2d shopping carts crashing into each other all over the place. The map editor ‘Tiled’ though is really brilliant.

dyn4j is really nice. I looked at both before choosing a 2D physics engine and went confidently with dyn4j. I don’t remember why exactly I didn’t try box2d but the fact that I didn’t even download it means something to me.

I went with it purely on the basis of “I don’t have to do anything to set it up” lmao

Box2D is a very popular physics library, is made in c++ but i think there is a translation to java called JBox2D,
agry birds use Box2D for collisions in general

i would like to have an specific object for 2D games, for no create a mesh and change camera setting, i dont know how difficult would be give 2D game , support to JME3

JME is a 3D game engine.

libgdx is a very populate 2D game engine.

And that explains why I didn’t use it. :slight_smile: dyn4j is pure Java and works very well.

The neon vector shooter is a nice tutorial and can teach several stuff. However if you are serious about making a 2d game you’ll need to rewrite it from scratch afterwards.

The good news: I’m working on a 2d game as well, and I’ve put the library on github:

It also include some partial support of dyn4j… I’m working on it so things are improving.
Hope to have you onboard :slight_smile:

TMX has a java library to read maps, but its not JME compatible. I did an overhaul of the XSD for the author a few days ago, it was quite enlightening and fun, but he agrees that the format is not as it should be. The XSD is not even used in the Tiled program - so its decoupled which makes no sense because of double work and forgetting to keep it updated.

The format should be well defined and the schema of the format (in whichever way you want to define it) should define the editor and the options, and the consumers should adapt to the format - not the other way around (when you have multiple technologies consuming the format, it ends up like moms spaghetti if you want to cater for each one).

If you wanted to, you could contribute to JME with your own AssetLoader that can read tmx-files into some sort of Map-objects, defined as a library (perhaps a TMX plugin is well suited).

I have decided not to use the TMX format for my 2D game. It will probably look like it in some sense, but definitely not in others.

What game are you working on?

Wow… just realized I don’t have an even half decent presentation page… :frowning:

However here you go:

https://hub.jmonkeyengine.org/uploads/default/original/2X/a/a7d40d5d2d7561894a593320f3496317ab9dcb17.png

https://www.kickstarter.com/projects/175133942/phenomenally-powerful-princess-pink/

i know what libgdx is, but I would like only one tool, look, there are several tools but at certaing point is too difficult to learn a lot of things of diferent development platform. I personaly see a lot of potential in JME3, and I consider will be direct contendant for UNITY in near future

1 Like

so I may assume if you are using dyn4j you don’t need Box2D right?

Yes, they do the same stuff

by the way im gonna try, dyn4j for a game 2d library im making in java core, looks pretty nice.

Sure JME is great for making 3D games. But it’s not designed for 2D games. It will never have specific features added for 2D games. It is a 3D game engine. So if you want to use it for 2D games then take it like it is.

I can pretty much guarantee that we will never add a 2D-game specific feature to core. It’s just ugly bloat because we are a 3D game engine.

I understand that when people are just starting out with software development (relatively speaking) that it’s tempting to try to use one tool for everything. After you do it for a long time, you realize that it’s faster to use the right tools for the job.

I’ve made plenty of 2D games in JME but I already know JME very well. (And even then I was tempted to use libgdx for one of the projects I abandoned.) If you already know JME well then it’s fine for 2D game development but then I wonder what the purpose of this thread was.

Yes, dyn4j is a 2D physics library. Box2D is a 2D physics library. You’d use one or the other. I use dyn4j because the API was nice and I didn’t have to mess with any native code issues.