jMonkeyEngine is a modern developer friendly game engine written primarily in Java.
Its minimalistic and code first approach makes it perfect for developers who want the support of a game engine while retaining full control over their code with the ability to extend and adapt the engine to their workflow.




Mythruna powered by jMonkeyEngine

Mythruna (myth + rune + a) is a game under development attempting to combine serious role playing elements with an endless, living, and completely modifiable randomly generated sandbox world. When …
See game page

- -
Become a backer and leave a message...

JMonkeyEngine version 3.3.2 is here!

After 3 months of beta testing, the Java game engine’s long-awaited v3.3 release arrived on 30 March.

With it came exciting new features: AppState ids, light-probe blending, a better ragdoll control, and an animation system rewritten from the ground up.

As often happens, a few key bugfixes missed the cutoff for v3.3.0-stable. In its wake, the JMonkeyEngine team came together and identified a handful of existing fixes that could be safely backported into v3.3. With the help of volunteers, candidate builds received extensive testing on multiple platforms. Their efforts culminated in version 3.3.2-stable, a production-ready patch release from the v3.3 line.

Read More...
More development updates...

Host migration and funding

As you might have noticed already, our services were progressively migrated, during the month of October, to a cloud provider that, I believe, provides the best price/quality for our project. Up till now we have been using amazon aws with one year of credits donated by @adi.barda, that allowed us to never use any of our community fund, but from now on you will see monthly expenses submitted to the fund to pay for hosting and related services. … Read More...
More community updates...

Sgold interviews Adi Barda

stephengold When, where, and how did you first become aware of JMonkeyEngine? What got you interested in using it? SceneMax3D Back in 2018, I decided to create a 3-D animation development environment that would run on Android devices. I went looking for a 3-D Java library … Read More...

jMonkeyEngine

Powerful Graphics

jMonkeyEngine is only one level of abstraction away from OpenGL.
The engine exposes modern opengl capabilities and benefits from high performances due to its low level of abstraction.
Notable features include:
  • Physically Based Rendering
  • Singlepass Lighting
  • Instanced Rendering
  • Multitarget Rendering
  • Tessellation
  • Geometry Shaders
  • Offscreen Rendering
  • sRGB support with linearization
  • Floating point textures
  • Tone Mapping (HDR)
  • Steep Parallax
  • Shadows
And more...

Physics

jMonkeyEngine supports multiple physics solutions
  • Bullet Engine: A native bind for high performance rigidbody physics
  • Minie : An alternative binding to Bullet Engine, with support for rigidbody and softbody physics
  • jBullet: (Legacy) java porting of Bullet Engine

Networking

There are multiple options to write netcode in jMonkeyEngine:
  • Spidermonkey: A feature rich java client-server networking API that uses TCP and UDP packets. With support for RMI and Object Serialization.
  • SimEthereal : A high performance library for real-time networked object synching
  • Monkey Netty : A implementation of a server-client system using Netty.IO that utilizes both TCP and UDP.

GUI

In jMonkeyEngine there are several established choices for GUIs:
  • Lemur : a modular library for 2D and 3D interactive guis, with a groovy-based styling language
  • Nifty GUI: a library to build interactive user interfaces with support for xml layouts.
  • IGUI : a minimalistic immediate GUI with minimal input handling

Postprocessing

jMonkeyEngine supports postprocessing out of the box and comes with several filters ready to use.
Such as:
  • Bloom
  • FXAA
  • Cartoon Edges
  • Light Scattering (GOD rays)
  • SSAO
  • Tone Mapping
  • Volumetric Light
And more...

3D Audio

jMonkeyEngine supports 3D audio with
  • OpenAL: Cross platform 3D audio. With basic support for positional sound and precomputed reverb.
  • jmePhonon : Binding to SteamAudio for immersive sounds. With support for HRTF, occlusion, realtime reverberance and more... (pc only)

Terrain

There are several libraries and frameworks that aid in the creation of terrains in jMonkeyEngine.
Notable choices are:
  • TerraMonkey: An high performance editable heightmap based terrain with autogenerated LOD and triplanar mapping.
  • Blocks : A voxel engine with support for custom shapes, physics and endless terrain.
  • IsoSurface : An isosurface terrain
  • SimArboreal : A library to generate procedural trees
  • SeaMonkey: Postprocessing filter that simulates water and underwater effects

Particles

jMonkeyEngine comes with particles capabilities in the core and multiple advanced thirdparty alternatives:

Multy Paradigm

Thanks to its flexibility, jMonkeyEngine can be used with different paradigms:
  • Spatial-Control model: An intuitive model where Spatials are game entities and Controls determine their logic
  • Zay-ES : High-performance entity-component-system model (ECS)

By The Community

During the years jMonkeyEngine has received many contributions in form of addons, assets and libraries.
Recently we launched the Software Store to collect all of them in a single place.

For The Developers

Simple, easy to setup, modular and minimalistic in its approach, jMonkeyEngine is made for the developers.
Its flexibility allows it to be adapted to different workflows and easily extended to support new features.

Free for everyone

jMonkeyEngine is free and opensource. Released under the permissive BSD 3-Clause license.
No splash screens, no fees and no requirement to mention jMonkeyEngine in your game at all.
And More ...

Contribute

Improve the Documentation

Good documentation is as important as good code, we are always looking for help to improve the wiki and document new features.
Make sure to let us know if you are working on tutorials, books or some other form of learning resource related to jMonkeyEngine, so that we can give it the appropriate exposure.

Find and Report Bugs

If you find an issue or defect in jMonkeyEngine and related projects you can submit a report to the issue tracker.
From there we will be able to pinpoint and resolve the issue for everyone.
If you are unsure if the issue is caused by a misunderstanding or bug in your code, you can ask for an opinion in the community hub.