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

I want to teach programmers to my children, and it looks like I narrowed it down to two options:

  • jMonkeyEngine 3 (jME 3)
  • Unity 4.3

I could not find any “current” comparisons, so I thought I'd ask:

What is better jME3 + or Unity4.3 + for teaching programming against the advantages of the engine?

I am not a game developer, but as a developer of enterprise systems and management systems, I have experience in both C # and Java.

I am currently leaning towards Unity4.3 + because:

  • From a programming point of view, I think C # is a little cleaner than Java, although that means little if the engine and object coding model encourages poor programming

  • Advantages for the computer: Unity4.3 + will allegedly have upcoming support for both XBox One and PS4

Note: this is true for jME, I will mark this iOS option "pre-alpha state" for jME, which is better than the supposed "marketing": ( http://hub.jmonkeyengine.org/wiki/doku.php/jme3:ios )

If they are equal in all other respects, which one is better integrated with the service?

+7
language-features unity3d jmonkeyengine
source share
6 answers

Glad you're interesting in JME3.

Im is also working on a project whose goal is to create educational programs (young and adult) in the gaming environment.

If you are going to let your children learn programming through game development, this is a good idea. But JME3 and Unity are much harder to get started (I suppose your children are still young) ... There are also several projects suitable for children to visually program programming.

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

Alice ww.greenfoot.org/door

Kojo ww.kogics.net/sf:kojo

Those things (languages ​​with an IDE) have a short learning curve and are easily accessible, require minimal knowledge and are suitable for children and starters. This is the educational side.

For the engine side. [It's my personal opinion]

I preferred JME. I also left Unity (made about 4-5 commercial games in unity of myself) to go to JME. Before Unity, I also worked in Ogre, UDK, Torque and many other engines (10 more). I also worked with a commercial engine in C ++ daytime work, whose code is dirty but flawless, and it cost millions of dollars.

The reason is that these mechanisms have tied you to their limitations and pre-authorized solutions. Of course, this is also half the reason you choose and move first. But when you click this restriction, for example, a license fee or proprietary technology. You will hate them as much as I do.

So that’s why I came to JME in search of “complete” game development and entertainment technology.

If you are experienced Java and C #, combined with a JME and Unity developer, I’ll give you a few things that can be * strong text * compared to two:

  • License: free open source and free / commercial

    • IDE: Netbean is an open and extensible platform (leading quality) against MonoEdit (the most buggy IDE you can find on earth).

    ** Based Technology: **

    • Graphics: OpenGL v2 + vs Modified renderer (openGL compatible v3 +) Unity victory in this I assume :(. It's sad for a long-term Java developer, as I see this. But we can improve the graphics from time to time, I hope.
    • Data management: you choose (H2, HyperTable, Neo4j ... from the Java world 100+ of them) VS Unity Database
    • Data organization: you choose (ES, OO, COD, data-driven ...) VS ES and only data.
    • Networks: you choose (Java stones in this) VS Unity Network (high performance, but never ... never beat Java)
    • Cloud and distribution: you choose (Storm, Hadoop ..) VS houses grown in "cloud technology".

Please note that I still usually use Unity and JME3 at the same time, for my work and for my hobby. I used Unity 4 with fancy animations of mecanim, substantial stuff ... per day and using JME3 to research and improve it at night. IMO, JME3 - a game engine that is worth exploring, and it will swing and shine in the future !!!

Hope this help!

+21
source share

It's hard for me to make comparisons when I have never used Unity. However, I saw a demo and an interface. But, using jMonkeyengine for about 2 and a half years, I can say that I am a happy customer :).

Unity probably has a little more than anything: developers, users, calls, and whistles, but the cost comes with it.

Similarities between 2: - Large communities (Unity more) - Many free tutorials - Rapid development (here a link to a couple of ludum dares that I participated in using jME http://www.ludumdare.com/compo/ludum-dare-28 / comment-page-3 /? action = preview & uid = 16152 , http://www.ludumdare.com/compo/ludum-dare-24/comment-page-1/?action=preview&uid=16152 ) - Ease of distribution on Windows / Mac / Linux / Android

jMonkeyEngine is completely free and all open source (new BSD license). Thus, you can see all the internal workings of the engine and even change it if you don’t like something (of course, you can make changes back :)). This way you will learn a lot more by delving into the jME source code.

C # and Java is a discussion that can go on for centuries, but I don’t think it should be a determining factor, they are very similar in nature. There is no useful version of iOS in jME, and I don’t think there are any immediate plans for Xbox One and PS4, so Unity will win there.

+6
source share

JME is a bit more hardcore engine than Unity.

UME: - a strong community (mainly English) - OpenSource and free to use. - There are many cool tools. But Unity has a lot more, I think. - Simple compilation and coding of all platforms. - Supports Linux. You can develop games on Linux.

Unity: - Strong community (with many local communities and languages) - Not free. But he has professional tools. - Support for javascript. You can add scripts inside the editor. - Really cool world editor. But coding is better in the JME SDK.

I am using JME. But in many cases it is hardcore.

+3
source share

It really depends on what you were aiming for.

Oneness is an especially way to get assets into the engine (through the store). With jme3 you should be able to at least partially work with blender / 3dsmax or similar. Or use a graphic style where it does not matter (e.g. 2d or blockworld). It also has the best modern features in terms of lighting and shading. But you need to get a license sooner or later, since even basic things are tied to it, such as http://unity3d.com/unity/licenses , and it’s not so cheap.

The pro with jme3 is that it does not limit you. This is just the main engine, but also not intended for some use cases.

As far as I understand, Unity uses its Entity-component system, but without separate systems. (Components contain logic)

In jme3, you can use whatever you want and offer to make a clean split between logic and graphics. You can use any type of programming that you prefer (e.g. ES, OO). Since jme is based on jvm, you also have access to other jvm languages, for example, for functional programming through scala.

Thus, it depends on what your goal (and budget) is more about development and their features or about creating your own game.

Regarding version control, JME3 works great with git and svn, and everything else. Since no special files or logic are attached to any of them.

+2
source share

I cannot say I have ever used Unity, but here are some things that I like about JME3:

  • Completely free and open source under the BSD license
  • Awesome SDK Based on Amazing NetBeans
  • Deploying Linux, Mac and Android (as well as windows) with 1 click, I don't know if Unity can do it
  • An amazing active community that is constantly creating new plugins and features (IOS will be deploying soon), they will also help you with any problems that you encounter.
  • The network is awesome
  • You can use other Java libraries or functions next to


    As for the features of the engine, Unity is probably more. However, I highly recommend JME, it's a great engine. Someone else said that you need knowledge of the blender, while with Unity they have an asset store. Although Blender's knowledge is (very) useful, there are hundreds of websites on the Internet that sell or provide free resources (e.g. www.turbosquid.com ).
+2
source share

I have to ask if there is someone who you are actually preparing a program for the game engine?

If the first thing to learn is the script's welcome world, and then exploring what variables are, then both options do nothing but overly complex, which should be a simple learning environment.

Even if they have the basics of programming down, they should know what the basics of game programming are. They need to know what a vector is and how matrix mathematics works with some understanding of how the engine works.

I don't know about jME, but with Unity, this will be the moment when they can write code that does something in which they can sincerely say that they understand why (which should be the most important part of teaching someone ), I describe Unity as the simplest toy of a big boy. This all the same means that they must be ready for the toys of the big boy in the first place.

Oh, and stick with the free version of Unity. Most pro-functions are graphic elements, such as flowering lighting, that do not affect the programmer's capabilities.

+1
source share

All Articles