Should I use jMonkeyEngine 3 (jME 3) or Unity 4.3 to teach game programming to my children?

George 2.0 Hope picture George 2.0 Hope · Feb 7, 2014 · Viewed 13.9k times · Source

I'm looking to teach my kids programming, and it looks like I've narrowed it to two options:

  • jMonkeyEngine 3 (jME 3)
  • Unity 4.3

I couldn't find any "current" comparisons, and so I thought I'd ask:

Which is better jME3+ or Unity4.3+ for Teaching Programming vs Engine Benefits?

I'm not a game developer, but as a corporate & control systems developer I have experience in both C# and Java.

I'm currently leaning towards Unity4.3+ because:

  1. From a Programming perspective, I think C# is a little cleaner than Java, though this means little if the Engine Coding & Object model encourage poor programming

  2. Engine Benefits: Unity4.3+ will "supposedly" have upcoming support for both XBox One & PS4

Note: in fairness to jME, I will make note of this "pre-alpha state" iOS option for jME which is better than a marketing "supposed" perhaps: (http://hub.jmonkeyengine.org/wiki/doku.php/jme3:ios)

If they are equal in all other regards, which one has better Service integration?

Answer

atomix picture atomix · Feb 7, 2014

Glad that you interesting in JME3.

I’m also working for a project that target making education programs (youngs and adults) in gaming enviroment.

If you going to let your children learn programming via game developing, it’s a good idea. But both JME3 and Unity are far more complicated to start with ( I assume your children are still young )… There are also few projects suitable for children to learn programming visually.

Greenfoot ww.java.com/en/java_in_action/alice.jsp

Alice ww.greenfoot.org/door

Kojo ww.kogics.net/sf:kojo

Those things (languages come with IDEs) have short learning curve and easy to get with, require minimum knowledge and suitable for children and starter. That’s the education side.

For the engine side. [This is my personal opinion]

I prefered JME. I’m also left Unity ( did about 4-5 commercial games in unity my self) to go to JME. Before Unity, i also worked in Ogre, UDK, Torque and a lot other engines ( 10 more). I also worked with commercial engine in daytime job in C++, which code dirty as hell but run extremely smooth and cost millions dollar.

The reason is: Those engine tied you up with its limitation and pre-made sollutions. Of course that’s also half of the reason why you choose and engine at first. But when you hit that limitation, for example the license fee or the closed technologies. You will hate them as much as i did.

So that’s why i come to JME in a search of “complete” game developing and entertaining technology.

If you are an experienced Java and C#, in association with JME and Unity developer, i will name you a few things that can be *strong text*compared between the two:

  • License : free open source vs free / commercial

    • IDEs : Netbean – an open and extensible platform ( leading quality) vs MonoEdit (the most buggy IDE you can find on earth)

    ** The based technolgy:**

    • Graphics: OpenGL v2+ vs Modified renderer ( openGL compatiable v3+) Unity win in this one i suppose :( . It’s sad for a long term java developer like me seeing this. But we can improve the graphics from time to time i hope.
    • Data management: You choose ( H2, HyperTable, Neo4j …from Java world 100+ of those) VS Unity database
    • Data oganization: You choose (ES, OO, COD, data driven …) VS ES and data driven only.
    • Networks: You choose ( Java rocks in this one) VS Unity network ( high performance but never… ever defeat Java)
    • Cloud and distributed: You choose (Storm, Hadoop..) VS home grown "cloud techs”

Note that i still usually using Unity and JME3 at the same time, for my job and for my hobby. I used Unity 4 with fancy mecanim animation, sub stance material … at day, and using JME3 for research and improve it at night. IMO, JME3 is the game engine which worth to learn, and it will rocks and shine in the future!!!

Hope this help!