Java-Gaming.org Hi !
Featured games (90)
games approved by the League of Dukes
Games in Showcase (726)
Games in Android Showcase (217)
games submitted by our members
Games in WIP (796)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  JMonkeyEngine  (Read 1544 times)
0 Members and 1 Guest are viewing this topic.
Offline Coding17

Senior Newbie


Exp: 1-3 months



« Posted 2017-03-15 08:39:36 »

What are your thoughts on the JMonkeyEngine and is it worth me getting? Been having a look at it recently but debating on whether i should download it or not.
Offline philfrei
« Reply #1 - Posted 2017-03-15 08:51:59 »

I haven't used it myself, but @FrozenShade has done a nice job with SkullStone.

music and music apps: http://adonax.com
Offline SteveSmith
« Reply #2 - Posted 2017-03-15 08:57:31 »

I've written a couple of games using JMonkeyEngine (https://www.youtube.com/watch?v=uxIgyGygJNs&t=42s and https://www.youtube.com/watch?v=GjimNDGTkJQ), and IMHO it's probably the easiest 3D engine to use (in Java at least).  Since it's all in Java and not a wrapper around C code, there's no manual memory management like some other engines seem to have. There's some very good tutorials at https://jmonkeyengine.github.io/wiki/jme3.html#tutorials-for-beginners

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline FrozenShade
« Reply #3 - Posted 2017-03-15 13:47:56 »

JMonkeyEngine is an engine which acts as a huge library - just use what you want and don't use things that you don't like. It requires Java knowledge at decent level - you make game by writing real code, there are no blocks or chunks to drag, drop and script.
Stock materials should fit to any small project, but you have the possibility to write your own shaders or even make your own rendering pipeline (like I did).

You should try it.

Offline Coding17

Senior Newbie


Exp: 1-3 months



« Reply #4 - Posted 2017-03-15 18:28:42 »

Yeah i know what it's for thanks. I've used lwjgl and done things like an obj loader and messed around with rendering terrain and things like that and also used shaders. Still struggling on what library's and tools to use to make my games.
Online princec

« JGO Spiffy Duke »


Medals: 904
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #5 - Posted 2017-03-15 18:46:29 »

Well, decide on a game first! Then think about what technology you need to realise it.
My stuff's simple enough to do in plain LWJGL but if I were starting again today, I'd probably go for libgdx.
Being risk-averse, and very thoroughly grounded in my appreciation of my skills and talents, I've avoided JMonkeyEngine because 3D = world of pain.

Cas Smiley

Offline SteveSmith
« Reply #6 - Posted 2017-03-15 20:29:14 »

...3D = world of pain.

Amen to that.  Something like JMonkeyEngine (or LibGDX) make basic 3D deceivingly simple, but as your game needs more features, what would be relatively simple in a 2D game becomes exponentially more complicated.  And then there's needing 3D models for everything....  And then, when it does work, it's dog slow because of all the 3D!

I've just gone the other extreme and started an ASCII roguelike, and it's like a breath of fresh air.  Need a sprite?  Just choose a letter. Smiley

Offline FrozenShade
« Reply #7 - Posted 2017-03-15 21:16:59 »

And then there's needing 3D models for everything.... 

So find 3D artists, build your own team... It is possible without spending a penny. There are nine people behind Skullstone's production, not only programmer, but 2D/3D artists, sound designer, composer etc. It is not so hard when you are not alone.
Game becomes slow? So maybe it needs some optimizations, it is not as easy as putting 10000 objects on scene's graph and letting GPU to render all of them Wink There s a lot of things that needs to be done properly, JME is doing most of them for you.

Offline Cero
« Reply #8 - Posted 2017-03-15 22:02:11 »

Its pretty tough to recommend anything but Unity to a small indie in 2017.
Maybe Unreal Engine... sure.

Just pretend C# is Java : p

Offline Coding17

Senior Newbie


Exp: 1-3 months



« Reply #9 - Posted 2017-03-16 01:48:35 »

I've tried to use Unity and Unreal engine before and it's always come back to Java.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Cero
« Reply #10 - Posted 2017-03-17 22:43:25 »

I hated Unity for years, especially when I wasnt skilled at it.
Lots of programmers get stubborn, especially when they are young and make their own engines. Not that there is no value to having made one yourself, for understanding sake.

Offline gouessej
« Reply #11 - Posted 2017-03-17 23:21:51 »

Hi

Since it's all in Java and not a wrapper around C code, there's no manual memory management like some other engines seem to have.
It's not entirely true. Actually, it's not a wrapper but it uses several bindings to benefit of hardware acceleration and there is a little bit manual memory management if you don't want to lack of memory on the native heap as the direct NIO buffers aren't allocated on the Java heap:
https://github.com/jMonkeyEngine/jmonkeyengine/blob/master/jme3-core/src/main/java/com/jme3/util/ReflectionAllocator.java#L100

Offline SteveSmith
« Reply #12 - Posted 2017-03-18 18:01:35 »

What feature of JMonkeyEngine is that?  I've obviously not used all aspects of JME, but I've never come across that class.

Offline VeaR

Junior Devvie


Medals: 2



« Reply #13 - Posted 2017-03-18 19:46:48 »

I hated Unity for years, especially when I wasnt skilled at it.
Lots of programmers get stubborn, especially when they are young and make their own engines. Not that there is no value to having made one yourself, for understanding sake.

Years ago i did go deep into jMonkeyEngine, with a bit different attitude than others. I took the sources and refactored it heavily, specifically for tasks that i needed, threw away stuff i didn't need and added stuff that was missing.

What i couldn't implement myself was shadow mapping. It was just too much effort to get it right. Then i thought about how i would spend all my time implementing new graphics algorithms to no end.

After some time i tried Unity. Its very frustrating to depend on the editor even for the smallest things. I know there has to be a way to do something, but in Unity its some checkbox hidden somewhere. Then if i want to change some default behaviors i have to completely re-implement stuff, or to add some very hacky solutions on top of the engine.

When i worked with jMonkey, i read solutions and whitepapers from the net, read the GPU gems and implemented my own shader stuff. Working with Unity devolves into reading and searching its forums. Then comes the frustration, when the best solution that you find is some hacked trash, that you know for certain will lead to bugs or slow game or glitches. Or you will have to manually tweak objects in the editor, otherwise it won't work the way you need it. But you can't really dismiss the engine, since either you write your own complete solution or you nerf your game and leave that problematic feature out.

Its completely possible to do the second, to adapt features until it becomes manageable. Good game designers do that. But i get very frustrated, since i know that it would be easy to add that feature given access to source code of the engine. But if i have access to the source code, then why would i use it as it is, or use the editor at all, when i can just refactor the source?

The paid solutions you can get for Unity is another story. There are some well-advertised networking servers for Unity. There is one in Java, fine. Well it works on top of Netty.io. I can (i already did) make my own networking server with netty.io. They repackaged netty.io into a product, added various client libraries, advertising and support.

In the end i come back to Java and jMonkey and open source. jMonkey got lots of new features in meantime and Java itself got new features and new libraries. Github and the BSD licence is a wonderful thing.
Pages: [1]
  ignore  |  Print  
 
 

 
Archive (291 views)
2017-04-27 17:45:51

buddyBro (481 views)
2017-04-05 03:38:00

CopyableCougar4 (925 views)
2017-03-24 15:39:42

theagentd (938 views)
2017-03-24 15:32:08

Rule (950 views)
2017-03-19 12:43:22

Rule (918 views)
2017-03-19 12:42:17

Rule (920 views)
2017-03-19 12:36:21

theagentd (981 views)
2017-03-16 05:07:07

theagentd (892 views)
2017-03-15 22:37:06

theagentd (690 views)
2017-03-15 22:32:18
List of Learning Resources
by elect
2017-03-13 14:05:44

List of Learning Resources
by elect
2017-03-13 14:04:45

SF/X Libraries
by philfrei
2017-03-02 08:45:19

SF/X Libraries
by philfrei
2017-03-02 08:44:05

SF/X Libraries
by SkyAphid
2017-03-02 06:38:56

SF/X Libraries
by SkyAphid
2017-03-02 06:38:32

SF/X Libraries
by SkyAphid
2017-03-02 06:38:05

SF/X Libraries
by SkyAphid
2017-03-02 06:37:51
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!