Project overview

Minie is a 3-D physics simulation library for JMonkeyEngine that takes physics-based games to the next level.

Use it to:

  • add solidity to walls, characters, projectiles, landscapes, and vehicles,

  • detect collisions between complex shapes,

  • perform contact, ray, and sweep tests,

  • simulate characters and buildings collapsing in real time, and

  • simulate cloth, rope, and deformable volumes, including their interactions with rigid bodies and each other.

Forked from the jme3-bullet library in 2018, Minie adds many useful features while preserving most of the jme3-bullet API. Most JMonkeyEngine physics examples can use Minie without modification, plus Minie provides its own tutorials and example apps to help you get started.

All software in the Minie project is free and open-source, including the library itself, the demo, tutorial, and utility apps, and the software used to build, test, and run them.

The underlying simulation software comes from Bullet, a mature real-time physics simulator. But although Bullet is written in C++, you won’t need any knowledge of C++ to use Minie.

Caveats

Minie’s focus is on simulating classical mechanics in just enough detail to add verisimilitude to 3-D games. It’s not intended for 2-D platformers, nor for scientific research. For 2-D physics, consider using dyn4j instead.

In order to use the latest Minie release, you’ll need version 3.5.2 JMonkeyEngine libraries. (You can still use a JME 3.2 or 3.3 SDK, however.) For more information about the libraries Minie depends on, see the Library version dependencies page.

Like JMonkeyEngine, Minie and its documentation assume a certain level of proficiency with the Java programming language. This project isn’t aimed at non-programmers, nor developers without prior Java experience. Similarly, some familiarity with 3-D graphics and vector math is assumed.

While an understanding of classical mechanics is assumed, many of its technical terms are linked (at first use) to the relevant article in the English Wikipedia.

Minie’s BSD-style license disclaims liability for defects. Please don’t use this software in safety-critical applications.

Getting help

For self-help, make use of the tutorials, the javadoc, and the source code.

The JMonkeyEngine Forum/Hub is a good place to ask technical questions. The most relevant categories are:

For issues that are best handled privately, contact me by e-mail. My personal e-mail address appears on my homepage and in the source code.

The name

The Minie project is named after Claude-√Čtienne Mini√©, who in 1846 developed an improved bullet for rifles. It’s a play on words, not intended to denigrate the man, nor glorify him.

The preferred English pronunciation is roughly "min-YAY", but "MIN-ee" is also acceptable.

Next steps

If you’re curious how Minie works, proceed to the Implementation page.

To gain hands-on experience, proceed to the first tutorial page.