jMonkeyEngine Introduction

This post was written by Erlend Sogge Heggen from the jMonkeyEngine team.

Greetings fellow GNU/Linux gamers!
A few days back I got in touch with your very own Maxim Bardin, asking if maybe he could help me promote the game development suite jMonkeyEngine’s participation in the PacktPub Open Source Awards.
Maxim kindly obliged, and invited me to do a guest posting on this site, so here I am.

So what’s jMonkeyEngine ?

My first draft of this guest post actually turned into our new introduction, so I’ll leave you with that for the basics.
To answer from a different angle; it’s the game engine that powers games like Mad Skills Motocross and Grappling Hook, which you might have seen linked to on this site already.
Some other games include Nord, Poisonville (also mentioned) and Urban Galaxy; the last two of which are still in the development stages, but you can play Nord on Facebook any time.

Key Features

By now you should realize some of the things jMonkeyEngine is not, like a visual RPG Maker or a finished game with modding capabilities. We only ask for some technical savvy to give you utter freedom in return.

jMonkeyEngine is free, open source software, as covered by the New BSD license. Meaning, you are free to do with it as you would like.

jMonkeyEngine requires minimal adaptations for cross-compatibility and can sit on top of any OpenGL 2 -ready device running the Java Virtual Machine.

jMonkeyEngine is built around a shader based architecture. This ensures excellent compliance with current and next generation graphics standards.

jMonkeyEngine’s SDK comes in the form of jMonkeyPlatform, a complete IDE with graphical editors and plugin capabilities.

jMonkeyEngine brings game development essentials straight out of the box, yet complete modularity keeps the end-developer in power.

Who is jMonkeyEngine for ?

That’s harder. In short, it’s for intermediate Java developers. That being said, jMonkeyEngine can be a starting point for any aspiring 3D games developer; not just Java programmers, but anyone able to adapt to Java programming.
While the scope of games and 3D technology is huge, jMonkeyEngine wraps all the basics and-then-some in a neat little package for developers to explore step by step. Still, the real power of jME is only limited by the power of OpenGL and your imagination. And these two brought us Jurassic Park and Games like Crysis.

Why you should care about it

Simple: It’s as cross-platform as it gets. When developers develop a game using jME, they have got all the reason in the world to make it cross platform, and practically no incentive not to.
As someone who is passionate about GNU/Linux games and the people who make them, the readers of this blog should make excellent advocates for a GNU/Linux-friendly game development platform such as jMonkeyEngine.

A note on Ardor3D, the fork

Maxim asked me to explain Ardor3D; I’m happy to indulge, though I’ll be brief. Ardor3D is a fork of jME2, spearheaded by some of jMonkeyEngine’s original developers.
They are open source too and they are doing great things for Java game development.
As a project they differ from us due to their commercial pursuits, which I sincerely commend them for by the way; I’m all for open source business models.
Technically speaking, I don’t think either project knows the other well enough to make a fair comparison at this point. However, we were always of the opinion that jMonkeyEngine 3 and the ecosystem of developers and projects around it
has always been more game development oriented from the start.

A note on Java performance

Honestly you’re better off doing your own research, and please, hands on testing.
I’m both biased and unqualified, tech-savvy speaking. I’ll just say this: Bad programming can hurt performance in
any programming language. I believe the only thing separating Java from the likes of C++ for high-performance game development at this point is developer adoption, not a technical divide.I believe the more experienced Java developers realize they now have the tools to apply their skills to the exciting field of game development, the sooner the old performance myth of Java will seize to exist.