Building and Developing using Git Master Branch: New to JMonkey

Hello all,

I’ve been lurking on the JMonkey forum for a few months and reading the documentation to familiarize myself with the platform in my spare-time. I’ve purchased a number of books on JMonkey and Blender and have been reading through those (and these forums and wikis) . I’m now at the point where I feel comfortable moving forward with beginning development. I am completely new to game creation (especially 3-D game creation), but, I am an experienced software developer with fairly significant Java experience and expertise.

I’m on “vacation” for the next week and a half, and I am attempting to get up to speed on development with JMonkey during that time. I want to get a project and work-flow established so I can then continue working a few hours here and there each day/weekend once my vacation ends.

To that end, I’ve decided to follow this path:

  1. Clone & Build the latest JMonkey version from GitHub (Master Branch)
  2. Install the built SDK
  3. Use the built (JMonkey 3.1 - Master Branch) SDK for my development and learning while providing feed-back for encountered bugs in the 3.1 Master Branch (to the Forum I am assuming)
  4. Work through the tutorials and documentation (with clarification from the Forums and/or books I’ve purchased as necessary) available here: http://wiki.jmonkeyengine.org/doku.php/jme3
  5. Submit bug reports and/or forum posts for issues I encounter with the 3.1 master branch release
  6. Once I’ve worked through all the tutorials and worked out the discrepancies (and documented them on Forum posts or wherever else is appropriate) for the 3.1 version - I will then begin development of my own game

So far, I’ve set up Netbeans 8.1 and downloaded/cloned the GitHub branches. I’ve checked out the master branch, and built the entire project, including the SDK from Netbeans using Gradle (it all built without errors - hat’s off to the development team for making this so easy). I was able to start the SDK that was built directly from Netbeans and also from the command-line (Yay!). The version of the build I’ve produced is as follows (from “Help->About”):

Product Version: jMonkeyEngine SDK 3.1-5354
Updates: jMonkeyEngine SDK is updated to version NetBeans 8.0.2 Patch 2
Java: 1.8.0_45; Java HotSpot™ 64-Bit Server VM 25.45-b02
Runtime: Java™ SE Runtime Environment 1.8.0_45-b14
System: Linux version 4.2.0-22-generic running on amd64; UTF-8; en_US (jmonkeyplatform)
User directory: /home/gbutler/netbeans/Git/jmonkeyengine/sdk/build/testuserdir
Cache directory: /home/gbutler/netbeans/Git/jmonkeyengine/sdk/build/testuserdir/var/cache

I was able to create the “JmeTests” project as described here (http://wiki.jmonkeyengine.org/doku.php/jme3) and successfully execute most of the tests (some of the tests - probably less than 10 - did fail with exceptions - I will re-run them and catalog the failures/exceptions if that would be helpful to the development team).

First off, is the 3.1 Master Branch (I realize 3.1 Alpha release was only recently) at a sufficient stage of development for a newbie to work with as long as they are willing to work through issues encountered and provide feed-back to the development team for bugs etc? Or, is it likely to be such a frustrating problem at this point due to instability that I would be better off first learning/developing on the 3.0 Stable Release? Being that I am starting an entirely new project and that I am expecting to spend at least 6 months developing proof-of-concept code that I will likely most throw away (or at least massively re-factor) once I have become more familiar with JMonkey and 3-D development in General, I felt it made sense to begin my work from the 3.1 Master Branch and try as much as possible to track the new development occurring, and perhaps even provide some positive contribution back to the project once I become more familiar with it (at least in providing solid bug reports and possibly debugging and/or fixing issues I might encounter).

Secondly, all the books I’ve managed to find and purchase for jMonkey are for jMonkey 3.0. Also, the Wiki seems to be (for the most part) documenting jMonkey 3.0. So, I realize that documentation for the 3.1 development version is going to be somewhat lacking and that may force me to the forums for assistance more frequently; however, from what I’ve read of the documentation and forums so far, that doesn’t seem like it will be an insurmountable issue. Is there a development version of the Wiki for 3.1 somewhere? For example, the Wiki entries available here (http://wiki.jmonkeyengine.org/doku.php, http://wiki.jmonkeyengine.org/doku.php/jme3:build_from_sources) that describe how to build jMonkeyEngine/jMonkeySDK from source all refer to SVN and the 3.0 version. Should the current Wiki entries be updated to document the version 3.1 stuff (if so, I may be able to contribute some time to this) or is the goal to only switch the Wiki when the 3.1 version has an actual production release? It seems, from reading forum and blog posts that the 3.1 version has a log of nifty features that I would prefer to use and learn how to use rather than first learning/working with the 3.0 branch, but, I don’t want to go down the 3.1 road if I am likely to become so confused by the documentation discrepancies that I become too much of a burden on the forums with endless questions.

So, am I on the right track or would the more experienced people here on the forum recommend that I, as a newbie to both jMonkey and 3-D game development, would be better off sticking with the 3.0 Release until I’ve become more familiar with the platform and technologies. Again, I am willing to work through issues, and I am not expecting an Alpha branch to be completely smooth sailing, but, from what I can see, it is at a sufficient stage of development where I think I can tolerate having to work through the issues.

Any recommendations on how I should proceed or anything I should do differently?

Thanks to all,

Gerry B

Hi Gerry .
As I was reading your post I remembered of myself. We both start since a few month ago and now both are in the same state . I also did exactly what you did . (except : I learned Blender From YouTube :smile: ). I also build SDK from source and my JME3.1 VERSION IS 5359 . (Haha mine is 5 number greater than yours .:stuck_out_tongue_winking_eye: ).
I think it is better to Go with JME3.1. So we can help each other better. You can run all sample codes from Book in JME3.1 too . (And do not forget that 3.1 has better support for blender than 3.0 ) .
Good Luck Bro .

+1 here, however I built it from source once, but now I am using 3.1 Alpha, it is stable, and works fine I think plugin not available, but you could use the packages directly.

1 Like

Hey, thanks for the info. I now ran the installer (of the build) and it installed; however, when it starts up, it shows the dialog prompting for selecting the folder for JME3 projects, but, the dialog is empty and cannot be interacted with (not even to close it). This doesn’t happen when I run the build of the SDK directly from Netbeans. I think it is something to do with the UI theme. Is there any way to set up the configuration file so that it uses the Gtk Theme as opposed to the Dark Theme? When I run it from Netbeans, the SDK comes up with the Gtk theme and everything works, but, when I run the version installed by the built installer, it seems like it attempting to use the “Dark” theme, and I think this is not working. Any ideas?

You can change theme from : Tools → Option

Did you use this way to build SDK:

@All_RS:

Unfortunately, when I run the version installed by the installer I built, I can’t even get past the dialog prompting for the JME3 projects folder (in order to be able to change the preferences). What I am looking for, is there a configuration file where that is stored that I can edit so that it starts up with the Gtk (aka Native) theme as opposed to the Dark Theme?

As far as how I built, I followed the following procedure:

  • Installed Netbeans 8.1
  • Enabled Gradle/Ant/etc support
  • Cloned the GitHub repository in Netbeans
  • Right-Clicked on the Project in Netbeans and selected “clean->build” (this ran the top-level Gradle clean-build with the output showing in the Gradle output window in Netbeans and completed with “Build Successful”)
  • once that was done, I was able to right-click on the SDK sub-project and select “Run” and it successfully launches the build SDK (in the Build sub-folder of the jMonkeyEngine SDK sub-project) – I was able to create the JmeTests project and run the tests
  • then, I closed that down, right-clicked on the jMonkeyEngine SDK sub-project in the Netbeans, and selected “build” - this then ran the Gradle build script that builds the installer - again, it completed successful with “Build Successful”
  • then, I ran the installer that it built into the “dist” sub-folder and it successfully ran through the installer and installed under ~/jmonkeyplatform
  • when I try to run the installed jmonkey from the “~/jmonkeyplatform/bin/jmonkeyplatform” folder, it shows a blank dialog with a title that says, “Please select folder for storing projects” - this dialog is empty and cannot be interacted with at all - it won’t even close if I click the “close” button in the title bar - I have to kill the process

Any thoughts on what I might be missing?

You can add the -laf option in the jmonkeyengine.conf file and supply the corresponding laf class, see here: NBLookAndFeels - NetBeans Wiki

Actually I never tried this method. I built it with command line in windows.but both do same thing .
the difference is in my case it runs on top of Netbeans 8.0.2 . I tried to change it to 8.1 in gradle.properties . but it failed ! you can check it here

Yes, it still ends up getting built with Netbeans 8.0.1 (that’s what the build SDK is using). I simply used Netbeans 8.1 to check-out and build the SDK (which ends up build on top of Netbeans 8.0.1). What specific command-line commands did you use to build it? Any special options?

I’m building on Linux (Ubuntu 15.10), not Windows, but, that shouldn’t make a difference.

Hey, thanks for this. I ended up editing the ~/jmonkeyplatform/etc/jmonkeyplatform.conf and adding “–laf=Metal” (or alternatively “–laf=Nimbus”) to the “default_options” parameter. That made the dialog that prompts for the project folder come up, but now, when I select a folder, it just goes to bed with a time-out cursor spinning and the dialog locks up. I then need to kill the process. Nothing shows as an error on stderr. I’m more familiar with Eclipse. It’s been awhile since I’ve done anything in Netbeans. It’s odd, that the version built into the “build” sub-folder of the project, when run directly runs fine. It’s only the installed version (which is created from what is in build and ends up in dist as the installer.sh) that fails to work. I’m wondering if it is an issue with getting the wrong JVM or somesuch?

Yes, that was it. The installed version was picking up the OpenJDK 7 instead of the latest Oracle 8 JDK that I had installed. I edited the “~/jmonkeyplatform/etc/jmonkeyplatform.conf” file and removed the “–laf=…” option I added and added the “jdkhome=/usr/lib/jvm/java-8-oracle” entry. This worked. Hopefully this information will help anyone else running into this issue.

1 Like