I have concern about time effectiveness of JMonkey if compare to Unity: is it faster to create game with Unity ? I heard JMonkey is more hard-core engine. I know eventually its about free/proprietary software, but I want to consider this in context of time effectivity.
Hello @Ro_Se, it depends on how big your game shall become in the end. The fundamental implementations are provided by jME, all other functions need to be added by yourself. Of course programming skills are important here too. If you have more experience in C# than in Java I would choose Unity for first.
Even though I never used Unity, I think there are some additional features you can add per drag and drop, which you have to do in jme yourself.
However, JME gives you a lot freedom when it comes to game development. But it takes some time until you read up on how things work here. Beside all that, 3D game development is a long term process and no matter what engine you decide to work with, it will take you some time.
If you are an experienced java-coder you will make better progress in jME and have a lot more fun on the way.
If you are not an experienced java coder you will progress quicker in Unity.
Unity has a store with ready-made models and other assets available - mostly for money but also some free stuffs. This may/may not make you progress faster.
I’m used to both, Unity and JME3, and even if I prefer JME3, with Unity3D you can get things done faster, even more if we are talking about 2D games. JME3 is really a hard-core Java engine, the benefits is to have the full source code at your hands.
Try it for your self and later you can decide.
Thanks a lot guys.
I think it depends what u are trying to do. If you are after a fancy looking game with standard game mechanics, then the quickest way imo would be the Unreal Engine with Blueprint scripting. Easy enough to learn, and you don’t even have to write code and can get some pretty nice results.
This is the big difference between jme and unreal/unity/timber/whatever.
In Unity you can buy yourself a whole game, you just take what you need and buy it.
Also you need to code much stuff on your own in jme what you could easily download in unity.
This starts with things like pre-made inventory systems (including the gui), questing systems, some fps stuff, everything you can imagine actually
Yeah, we are hard-core monkeys which like to suffer ourselves just to get done some features that are around on other engines since ages.
But what can I do if I like suffering?
Having used some of the other engines. It is surprising how much you need to code in them as well. Unless your game is has very boilerplate mechanics and assets (aka a re skinned X game), you will end up doing quite a bit of code yourself.
jME has a surprising amount of stuff in it. Well written and as stable as Unity. Add you can get source code, well its a pretty good choice out of the many choices you have. But then your not going to go too wrong with other choices either.
I would decide on language. If you know your java and not C++ or C# then jME is a good place to start. But be warned, no matter what you use, there is some minimum you need to know about 3d and stuff to be really productive in any engine.
In my Opinion, C# is a plain copy of Java.
The only difference is: You have to declare which methods can be overriden and you use another Capitalization Style
Well those features are not there in other engines but in their users contributions (or rather sold libraries).
But when I’m done with my first game I have my very own toolkit which would make development on a second game way faster.
I saw people completing pretty cool 3d games in a weekend during ludumdares using Unity3d.
My suggestion is, if you are looking for the shortest possible path for a single project, check unity features and if your game doesn’t require anything else, go for unity. If you need some features that are not available in unity or you are doing this for the sake of learning I would consider jme.
It really depends on the state you are satisfied with your game project.
- Do you want a game prototype? Unity is the fastest.
- Do you want a playable game? Unity, Unreal, Cryengine, etc.
- Do you want an optimized, stable game? It depends more on the skile of the programmer and less on the engine
I personally feel that jMonkeyEngine unlike an other game engine in that it generates code a beginner java programmer can understand. Your also operating at a level close to the engine meaning the java you code in your own classes fit very easily into your projects. You can easily modify the classes in jMonkey or implement them your own way. The jMonkeyEngine source code that is easy to access. Most classes in jMonkey without comments are coded with few lines. ((without comment noted) (And relative to other engines) I personally find that working closer to the jMonkeyEngine code makes me move much faster. I have to admit I am learning jMonkeyEngine for the flexibility. If you are looking for something similar to your copy paste shooter game then go unreal. If you want something a little more variation go unity and if you want to make your own thing use jMonkey. Sitting on jMonkeyEngine + java’s standard library makes me feel an unparalleled ease of access and flexibility. Unreal and Unity will give you the unparalleled flexibility of C++, but 1 line of code can have 500+ lines under it. Libraries are difficult to import and work with in C++. Lastly, java has is a higher level language though not the highest by far. I want to do my own thing, so jMonkeyEngine is my goto.