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

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

Wyatt Gillette 8793765c74 Reduce object allocations in DirectionalLightShadowRenderer (#2513) 22 小時之前
.github 091c4e3837 update forum link 2 天之前
.vscode cafa271a4f Update vscode config (#2105) 2 年之前
config 4e6a7f1408 1877: Add checkstyle to project (#2042) 2 年之前
gradle 9665dcff0f LWJGL 3.4.0 and Remove OpenVR (#2581) 1 天之前
jme3-android fa4cae6221 Implement an SDSM filter 4 天之前
jme3-android-examples 5f54eb2f56 buildscripts: centralize version numbers in a TOML catalog (#2311) 1 年之前
jme3-android-native c4ca9d1c64 Forced 16Kb for openalsoft by adding LDFLAGS, it's ignoring APP_SUPPORT_FLEXIBLE_PAGE_SIZES 1 月之前
jme3-awt-dialogs d7fcf0aaf5 AWTSettingsDialog: System.gc() - intentional double call 7 月之前
jme3-core 8793765c74 Reduce object allocations in DirectionalLightShadowRenderer (#2513) 22 小時之前
jme3-desktop 10249545a3 Fix misuse of read and skipBytes (#2557) 1 月之前
jme3-effects bbbb43482b fix javadoc 5 月之前
jme3-examples e4cda6f915 Make GLFence, SSBO, ComputeShader NativeObjects 4 天之前
jme3-ios fa4cae6221 Implement an SDSM filter 4 天之前
jme3-ios-native efefbd4059 Changed JmeAppHarness renderer from type GLRenderer to Renderer 1 月之前
jme3-jbullet 9665dcff0f LWJGL 3.4.0 and Remove OpenVR (#2581) 1 天之前
jme3-jogg 5f54eb2f56 buildscripts: centralize version numbers in a TOML catalog (#2311) 1 年之前
jme3-lwjgl 14c9c3ce12 Add a GLFence wrapper object 4 天之前
jme3-lwjgl3 9665dcff0f LWJGL 3.4.0 and Remove OpenVR (#2581) 1 天之前
jme3-networking f0918a4caf avoid use of deprecated methods (mostly Class.newInstance()) (#1774) 3 年之前
jme3-niftygui 5f54eb2f56 buildscripts: centralize version numbers in a TOML catalog (#2311) 1 年之前
jme3-plugins 2d8e4df747 Merge pull request #2482 from capdevon/capdevon-MatShadowSer 4 周之前
jme3-plugins-json 6709ee8dc6 Fix bug #2277 - GltfLoader (#2309) 1 年之前
jme3-plugins-json-gson 5f54eb2f56 buildscripts: centralize version numbers in a TOML catalog (#2311) 1 年之前
jme3-screenshot-tests 87aebf3f1b #2541 Correct copyright year to 2025 5 月之前
jme3-terrain 49dfa9ffcf Update PBRTerrainUtils.glsllib 10 月之前
jme3-testdata 19fd78d829 Update tank material pointing to deleted copy of PBRLighting 11 月之前
lib aa8cceebc8 correct the dependencies of jme3-jbullet (#1541) 4 年之前
.gitignore cafa271a4f Update vscode config (#2105) 2 年之前
.nb-gradle-properties f33fb69803 Add default license for new files 11 年之前
CONTRIBUTING.md 0cd971c3f4 document the correct build procedure (#1675) 4 年之前
LICENSE.md 2036ced6a5 LICENSE.md: add 2025 to the copyright years 1 年之前
README.md 827aa3e99c Update README.md 1 月之前
build.gradle fc32a26c93 build.gradle: use get() to convert Jar-task properties to strings (#2336) 1 年之前
common-android-app.gradle 816ab99ac5 Fix version naming. Use version-branch-SNAPSHOT for local builds, add custom version name property. 6 年之前
common.gradle ab730f1972 new process for publishing snapshots and releases to Sonatype (#2535) 6 月之前
gradle.properties 14dd4daf51 Update gradle.properties 9 月之前
gradlew a3a9011ab1 Update gradle wrapper to 8.8 1 年之前
gradlew.bat a3a9011ab1 Update gradle wrapper to 8.8 1 年之前
javadoc-overview.html abb2b784e0 Javadoc: Add engine overview 11 年之前
natives-snapshot.properties 6952202c54 [skip ci] update natives snapshot 1 月之前
settings.gradle f29b26f3ae Merge branch 'master' into ios-2024_2 9 月之前
source-file-header-template.txt 6946cfd671 #1569 Fix license file to be better detected by GitHub (#1855) 3 年之前
version.gradle 5f54eb2f56 buildscripts: centralize version numbers in a TOML catalog (#2311) 1 年之前

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