# JMonkeyEngine

jMonkeyEngine (abbreviated JME or jME) is an open-source and cross-platform game engine for developing 3D games written in Java. It can be used to write games for Windows, Linux, macOS, Raspberry Pi, Android, and iOS (currently in alpha testing). It uses Lightweight Java Game Library as its default renderer, and also supports another renderer based on Java OpenGL.
jMonkeyEngine is community-centric and open-source. It is released under the New BSD license. It is used by several commercial game studios and educational institutions. The default jMonkeyEngine 3 comes integrated with a software development kit (SDK).

## jMonkeyEngine 3 SDK

By itself, jMonkeyEngine is a collection of computing libraries, making it a low-level game development tool. Coupled with an integrated development environment like the official jMonkeyEngine 3 SDK, it becomes a higher-level game development environment with multiple graphical components.
The SDK is based on the NetBeans Platform, enabling graphical editors and plugin capabilities. Alongside the default NetBeans update centers, the SDK has its own plugin repository and a selection between stable point releases or nightly updates.
Since March 5th, 2016, the SDK is no longer officially supported by the core team. It is still being actively maintained by the community. The term "jMonkeyPlatform" is also used interchangeably with "jMonkeyEngine 3 SDK."

## History

jMonkeyEngine helps to improve the lack of full featured graphics engines written in Java. The project has evolved over time.

### jMonkeyEngine 0.1 – 2.0

Version 0.1 to 2.0 of jMonkeyEngine marks the time from when the project was first established in 2003, until the last 2.0 version was released in 2008. When the original core developers gradually discontinued work on the project throughout the end of 2007 and the beginning of 2008, Version 2.0 had not yet been made officially stable. The code-base became adopted for commercial use and was most popular with the engine's community at the time.

#### 2003 (2003)

    Initial work on jMonkeyEngine was begun by Mark Powell (aka MojoMonkey) as a side project to see if a fully featured graphics API could be written in Java. Much of the early work on the API was inspired by David Eberly's C++ book 3D Game Engine Design.

#### January 2004 (2004-01)

    Mark was joined by Joshua Slack (aka Renanse) and together over the following two years, with the help of other community contributors, a commercially viable API was developed.

#### August 15, 2008 (2008-08-15)

    Joshua Slack announces to step back from active development of the jMonkeyEngine.

### jMonkeyEngine 3.0

Since the departure of jME's core developers in late 2008, the codebase remained practically stagnant for several months. The community continued to commit patches, but the project was not moving in any clear direction. Development on Version 3.0 started as an experiment.
The first preview release of jME3 in early 2009 drew positive attention from many members in the community, and the majority agreed that this new branch would be the official successor to jME 2.0. From there on, all the formalities were sorted out between the previous core developers and the new.

#### April 1, 2009 (2009-04-01)

    Kirill Vainer "shadowislord" starts a new branch in the official jMonkeyEngine repository and commits the first publicly available code for jMonkeyEngine 3.0. Soon after, the branch was renamed to reflect its "test" status.

#### June 24, 2009 (2009-06-24)

    The project sees a new beginning in the official jMonkeyEngine 3.0 branch, initially designed and developed solely by Kirill Vainer. Management responsibilities are picked up by Erlend Sogge Heggen, shortly later accompanied by Skye Book.

#### May 17, 2010 (2010-05-17)

    The first Alpha of jMonkeyEngine 3 is released. The same date marked the first Alpha release of the jMonkeyEngine SDK, only a few months after the first planning stages. The "jMonkeyEngine SDK" has since become the default product download recommended to all jME3 developers.

#### September 7, 2010 (2010-09-07)

    The jMonkeyEngine website was completely re-designed. A new domain, jmonkeyengine.org, is dedicated to all project and community activities. The old jmonkeyengine.com is re-purposed as a product promotion site.

#### October 22, 2011 (2011-10-22)

    jMonkeyEngine 3 SDK Beta is released. Stable update track is introduced as an alternative to downloading bleeding edge nightly builds.

#### February 15, 2014 (2014-02-15)

    jMonkeyEngine 3 SDK Stable is released. In spite of being technically stable for a long time, the official 3.0 SDK release was delayed until February 2014.

## Projects powered by jMonkeyEngine

* Nord, a browser-based massively multiplayer online game (MMO) on Facebook, created by Skygoblin
* Grappling Hook, a first-person action and puzzle game, created by an independent developer
* Drohtin, a real-time strategy game (RTS)
* Chaos, a 3D fantasy cooperative role-playing game (RPG) by 4Realms
* Skullstone, a 3D retro-styled single player dungeon crawler game, created by Black Torch Games
* Spoxel, a 2D action-adventure sandbox video game, created by Epaga Games
* Lightspeed Frontier, a space sandbox game with RPG, building, and exploration elements, created by Crowdwork Studios
* Subspace Infinity, a 2D top-down space fighter MMO
* 3079 and 3089, randomly generated and open-world RPGs by Phr00t's Software
* New Star Soccer, a mobile football video game, created by New Star Games.

## Reception

* JavaOne 2008 Presentation
* Finalist in PacktPub Open Source Graphics Software Award 2010

## Ardor3D fork

Ardor3D began life on September 23, 2008, as a fork from jMonkeyEngine by Joshua Slack and Rikard Herlitz due to what they perceived as irreconcilable issues with naming, provenance, licensing, and community structure in that engine, as well as a desire to back a powerful open-source Java engine with organized corporate support.
The first public release came January 2, 2009, with new releases following every few months thereafter. In 2011, Ardor3D was used in the Mars Curiosity mission both by NASA Ames and NASA JPL for visualizing terrain and rover movement.
On March 11, 2014, Joshua Slack announced that the project would be abandoned, although the software itself would remain under zlib license and continue to be freely available. However, a subset of Ardor3D called "JogAmp's Ardor3D Continuation" was still actively maintained by Julien Gouesse as of 2014.