Skip to content

About

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

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

 
 

Latest commit

 

History

9,132 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 (v11 or higher)

Android applications must use a toolchain that supports Java 11 class files and configure their module's Java source/target compatibility accordingly. The Android examples already target Java 11 and require API 30 or newer. Java 11 bytecode does not make every Java 11 library API available on Android: check Android's Java API support and enable core library desugaring when using supported APIs that are absent from the application's minimum API level. This change does not add uses of newer Java library APIs.

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

The engine artifacts require Java 11 or newer at runtime. Building this branch requires JDK 17 or newer to run Gradle; the build uses an Eclipse Temurin JDK 25 toolchain (downloaded automatically when needed) to compile engine code with --release 11. Tests and screenshot-test framework code target Java 17. These build requirements are separate from the engine's Java 11 runtime minimum.

  1. Install JDK 17 or newer (Eclipse Temurin JDK 25 is recommended for this branch), 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 '
  1. 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
  1. 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

Running examples

The engine comes with some examples that you can run with:

./gradlew runExamples

You can optionally use the -Pexample property to specify an example to start without the need to navigate the test chooser, e.g.:

./gradlew runExamples -Pexample=jme3test.light.pbr.TestPBRSimple

Android examples

You can run the Android examples on a local android emulator with:

./gradlew runAndroidExamples
# or for a specific example:
# ./gradlew runAndroidExamples -Pexample=jme3test.post.TestBloom

Make sure to have the SDK installed and configured properly, and the emulator running before executing the command.

Running Tests

To run all tests and generate a JaCoCo code coverage report, run the testCodeCoverageReport Gradle task. To avoid the generation of the report, use the test task instead.

This runs all subproject tests and produces two sets of HTML reports:

  • Aggregated report (all modules combined): build/reports/jacoco/testCodeCoverageReport/html/index.html
  • Per-module reports: <module>/build/reports/jacoco/test/html/index.html

A summary index linking to every per-module report is also generated at: build/reports/jacoco/index.html

About

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

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages