A complete 3-D game development suite written in Java.

#gamedev #game-engine #engine #java #jmonkey #3d

codex 24d3649c2a Merge pull request #2490 from capdevon/capdevon-SimpleApplication 2 days ago
.github 574da1a07a Merge pull request #2411 from joliver82/ios-2024_2 4 days ago
.vscode cafa271a4f Update vscode config (#2105) 2 years ago
config 4e6a7f1408 1877: Add checkstyle to project (#2042) 2 years ago
gradle dd7645186c Merge pull request #2382 from jMonkeyEngine/sgold/groovy3024 9 months ago
jme3-android 86b6d59158 JmeSurfaceView.java: documentation enhances 10 months ago
jme3-android-examples 5f54eb2f56 buildscripts: centralize version numbers in a TOML catalog (#2311) 1 year ago
jme3-android-native c4ca9d1c64 Forced 16Kb for openalsoft by adding LDFLAGS, it's ignoring APP_SUPPORT_FLEXIBLE_PAGE_SIZES 1 week ago
jme3-awt-dialogs d7fcf0aaf5 AWTSettingsDialog: System.gc() - intentional double call 6 months ago
jme3-core 24d3649c2a Merge pull request #2490 from capdevon/capdevon-SimpleApplication 2 days ago
jme3-desktop d563d9c25c Merge pull request #2332 from JNightRider/lwjglx_mouse 10 months ago
jme3-effects 7c835e176a add SSAOFilterTest class 6 months ago
jme3-examples 024bd34d7e improve memory efficiency of gltf importer 3 months ago
jme3-ios 01e147fa4c Updated according to @codex128 comments 5 days ago
jme3-ios-native efefbd4059 Changed JmeAppHarness renderer from type GLRenderer to Renderer 5 days ago
jme3-jbullet 5f54eb2f56 buildscripts: centralize version numbers in a TOML catalog (#2311) 1 year ago
jme3-jogg 5f54eb2f56 buildscripts: centralize version numbers in a TOML catalog (#2311) 1 year ago
jme3-lwjgl 662b4ea79f Merge pull request #2331 from codex128/imageShaderMod 11 months ago
jme3-lwjgl3 19cb38da15 debugger 5 months ago
jme3-networking f0918a4caf avoid use of deprecated methods (mostly Class.newInstance()) (#1774) 3 years ago
jme3-niftygui 5f54eb2f56 buildscripts: centralize version numbers in a TOML catalog (#2311) 1 year ago
jme3-plugins 9d70ed7a6a Merge pull request #2558 from riccardobl/gltfautocast 5 days ago
jme3-plugins-json 6709ee8dc6 Fix bug #2277 - GltfLoader (#2309) 1 year ago
jme3-plugins-json-gson 5f54eb2f56 buildscripts: centralize version numbers in a TOML catalog (#2311) 1 year ago
jme3-screenshot-tests 87aebf3f1b #2541 Correct copyright year to 2025 4 months ago
jme3-terrain 49dfa9ffcf Update PBRTerrainUtils.glsllib 9 months ago
jme3-testdata 19fd78d829 Update tank material pointing to deleted copy of PBRLighting 10 months ago
jme3-vr d0e5d6f449 #2379 Remove OSVR from JME VR 10 months ago
lib aa8cceebc8 correct the dependencies of jme3-jbullet (#1541) 4 years ago
.gitignore cafa271a4f Update vscode config (#2105) 2 years ago
.nb-gradle-properties f33fb69803 Add default license for new files 11 years ago
CONTRIBUTING.md 0cd971c3f4 document the correct build procedure (#1675) 4 years ago
LICENSE.md 2036ced6a5 LICENSE.md: add 2025 to the copyright years 11 months ago
README.md 827aa3e99c Update README.md 3 weeks ago
build.gradle fc32a26c93 build.gradle: use get() to convert Jar-task properties to strings (#2336) 1 year ago
common-android-app.gradle 816ab99ac5 Fix version naming. Use version-branch-SNAPSHOT for local builds, add custom version name property. 6 years ago
common.gradle ab730f1972 new process for publishing snapshots and releases to Sonatype (#2535) 5 months ago
gradle.properties 14dd4daf51 Update gradle.properties 7 months ago
gradlew a3a9011ab1 Update gradle wrapper to 8.8 1 year ago
gradlew.bat a3a9011ab1 Update gradle wrapper to 8.8 1 year ago
javadoc-overview.html abb2b784e0 Javadoc: Add engine overview 10 years ago
natives-snapshot.properties 6952202c54 [skip ci] update natives snapshot 1 week ago
settings.gradle f29b26f3ae Merge branch 'master' into ios-2024_2 8 months ago
source-file-header-template.txt 6946cfd671 #1569 Fix license file to be better detected by GitHub (#1855) 3 years ago
version.gradle 5f54eb2f56 buildscripts: centralize version numbers in a TOML catalog (#2311) 1 year ago

README.md

jMonkeyEngine

Build Status

jMonkeyEngine is a 3-D game engine for adventurous Java developers. It’s open-source, cross-platform, and cutting-edge. v3.8.0 is the latest stable version of the engine.

The engine is used by several commercial game studios and computer-science courses. Here's a taste:

jME3 Games Mashup

Getting Started

Go to https://github.com/jMonkeyEngine/sdk/releases to download the jMonkeyEngine SDK. Read the wiki for the installation guide and tutorials. Join the discussion forum to participate in our community, get your questions answered, and share your projects.

Note: The master branch on GitHub is a development version of the engine and is NOT MEANT TO BE USED IN PRODUCTION.

Technology Stack

  • windowed, multi-platform IDE derived from NetBeans
  • libraries for GUI, networking, physics, SFX, terrain, importing assets, etc.
  • platform-neutral core library for scene graph, animation, rendering, math, etc.
  • LWJGL v2/v3 (to access GLFW, OpenAL, OpenGL, and OpenVR) or Android or iOS
  • Java Virtual Machine (v8 or higher)

Documentation

Did you miss it? Don't sweat it, here it is again.

Contributing

Read our contribution guide.

License

New BSD (3-clause) License

How to Build the Engine from Source

  1. Install a Java Development Kit (JDK), if you don't already have one.
  2. Point the JAVA_HOME environment variable to your JDK installation: (In other words, set it to the path of a directory/folder containing a "bin" that contains a Java executable. That path might look something like "C:\Program Files\Eclipse Adoptium\jdk-17.0.3.7-hotspot" or "/usr/lib/jvm/java-17-openjdk-amd64/" or "/Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home" .)
    • using Bash or Zsh: export JAVA_HOME=" path to installation "
    • using Fish: set -g JAVA_HOME " path to installation "
    • using Windows Command Prompt: set JAVA_HOME=" path to installation "
    • using PowerShell: $env:JAVA_HOME = ' path to installation '
  3. Download and extract the engine source code from GitHub:
    • using Git:
    • git clone https://github.com/jMonkeyEngine/jmonkeyengine.git
    • cd jmonkeyengine
    • git checkout -b latest v3.7.0-stable (unless you plan to do development)
    • using a web browser:
    • browse to the latest release
    • follow the "Source code (zip)" link at the bottom of the page
    • save the ZIP file
    • extract the contents of the saved ZIP file
    • cd to the extracted directory/folder
  4. Run the Gradle wrapper:
    • using Bash or Fish or PowerShell or Zsh: ./gradlew build
    • using Windows Command Prompt: .\gradlew build

After a successful build, fresh JARs will be found in "*/build/libs".

You can install the JARs to your local Maven repository:

  • using Bash or Fish or PowerShell or Zsh: ./gradlew install
  • using Windows Command Prompt: .\gradlew install

You can run the "jme3-examples" app:

  • using Bash or Fish or PowerShell or Zsh: ./gradlew run
  • using Windows Command Prompt: .\gradlew run

You can restore the project to a pristine state:

  • using Bash or Fish or PowerShell or Zsh: ./gradlew clean
  • using Windows Command Prompt: .\gradlew clean