Creating Java 3D Games with NetBeans
By seapegasus on Jul 28, 2009
While taking a few days of vacation (before coming back in time for the release of NetBeans 6.7.1!) I finally got my jMonkeyEngine notes and files in order. If you don't know it yet: The jMonkeyEngine (jME) is a free and open-source 3D engine for creating 3D games and simulations in Java.
(I would have blogged about it earlier, but the project is moving servers in July... So if the links below should change again and break, search the web for "jmonkeyengine" and then search within the page...)
If you have never seen it before, these jME videos and demos show best what you can do with Java3D nowadays.
I had created a simple 3D world with jME 1.0 and started migrating useful elements to jME 2.0 -- which is well doable despite a few API changes, especially since NetBeans marks the broken lines, fixes the import statements, and I can get the new syntax from the code completion popup. Here are my notes that I shared on the jME wiki:
- General jMonkeyEngine beginners FAQ -- Those are my questions and answers that I found. I just updated it for jME 2.0 and will be filling in more stuff as I go along.
- jMonkeyEngine + NetBeans Tutorials -- I created this index page because I noticed that several authors had started writing jME+NetBeans tutorials for various versions! Thanks to the community for covering this so well.
- Setting up NetBeans 6.7 for jME 2.0 -- This is my jME tutorial contribution. Maintaining the native libraries and JARs is easier now with NetBeans 6.5 (or higher). I also mention Maven briefly, and how to wrap up a whole project (JARs and native libraries!) into one distributable JAR file (using OneJar), and how to make this distributable java application startable in a user-friendly way.
There is probably more to be said about distributable JAR files, but OneJar solves my current questions. If you figured out how to get native libraries into a webstartable JNLP file, leave a comment. This blogger here has some more tips regarding JNLP signing and where to place the native libraries, so this is my next lead to investigate. But first I need to get my rusty 3D app going again--taking into account the new stuff I've been reading about programming patterns lately, suddenly my old class structure looks quite... sub-optimal. ;)
PS: updated links to stable jmonkeyengine.com URLs.