I Compared Jmonkeyengine 3.6 with Godot 4.2

Today I studied jolt-java. It’s a good start, but a long way from what I would like:

  • There are no published releases.
  • There have been no commits to the public repo since April 2023, while Jolt continues to evolve.
  • According to the README file, single-body constraints, characters, vehicles, and ragdolls are all unfinished.

On the other hand, after sketching the skeletons of 4 Java classes (BulletAppState, PhysicsSpace, RigidBodyControl, and BoxCollisionShape) I was able to run the “fountain of boxes” test in JMonkeyEngine v3.6.1, and the performance seemed excellent. In fact, I can’t report the maximum number of boxes because I grew bored waiting for the FPS to fall below 30!

I’ve decided it’s worth spending some effort toward integrating Jolt Physics into JMonkeyEngine. I don’t think it will ever be a drop-in replacement for jme3-jbullet or Minie, but if the performance differential is big enough, many developers will make the switch.

I’ve forked jolt-java from GitHub - aecsocket/jolt-java: Java bindings for JoltPhysics and will continue working with it unless someone finds me a better JVM library for Jolt Physics.

There’s no need for you to build Minie from source. Pre-built JARs and other artifacts can be downloaded from GitHub and MavenCentral.

But if you insist, here is the build procedure for “8.1.0+mt” artifacts:

  1. Install a JDK, set “JAVA_HOME”, and clone the source code per the “standard build” instructions.
  2. Run the Gradle wrapper with the “-Pmt” option:
  • using Bash or Fish or PowerShell or Zsh: ./gradlew build -Pmt
  • using Windows Command Prompt: .\gradlew build -Pmt
12 Likes