JME 2.0: best practices

We are in the process of developing an RCP-based application with 3D visualization and manipulation capability.  I've rummaged through JME1 and checked out various apps that use SWT (JMonkeyWorld, fifidi.org Designer). In summary, the JME docs seem to encourage use of the "game state" approach, which relies on StandardGame.  However, the RCP apps based on JME1 do not use this approach, and instead use the "older" approach.  My attempts to blend the two together (I.e. a StandardGame that supports SWT) have been difficult, limited, and so far unsuccessful.



I took a look at JME2, in particular JMESWTTest.  I also took a look at StandardGame.  It seems that the SWT test app is not using the game state approach, and is instead using a seemingly new approach (I haven't seen mention of it in the JME1 docs or the forums, although I did not do an extensive search), relying on JMECanvasImplementor.



Since we are starting from scratch, so to speak, what is the recommended structure for developing a "game" in JME2?  Is the implementor approach meant to be used instead of the game state approach, or in addition to it?  If the latter, does the new StandardGame support SWT (I don't see anything in the code that would indicate this).

The new SWT approach in jME 2 is using the new canvas support from LWJGL (which integrates more smoothly with SWT).



Using StandardGame is a matter of preference, I guess. It's surely more advanced than SimpleGame (etc.) but it does not mix well with render passes or canvases. So if you want to combine SWT and StandardGame you'll be facing some additional implementation tasks (and probably struggles) first.

Which "docs" recommend StandardGame? It's just one of the options (made by Darkfrog…)

The game state approach made a lot of sense to me, even if it was recommended by a frog, dark or otherwise…



I assumed from the documentation that game state was the new and improved direction for jme.  But I take it that that is not the case.  Is the canvas implementor approach something confined to LWGL?  SWT? LWGL+SWT?  Are there any examples/documentation besides the test app that utilizes this approach?



I've already checked out MonkeyWorld and Designer.  Are there any open source RCP apps that use jme?  Are there any that use jme2?  Are there any general purpose apps, RCP or otherwise, that load, save, and interactively manipulate models that would serve as an example of "best practices" for jme2?



BTW: The details are still to be worked out but we hope to open source at least the core portion of our work.

The documentation made StandardGame sound like the new "approved" method to me too… just FYI.

Hey, I thought when I recommend something it is all that's required to make it the "approved" method?  :stuck_out_tongue:

Come on guys, throw me a bone here…



We're trying to load and save model files, with a model consisting of content and behavior.  If we take the "canvas implementor" approach, should we create a Savable version of the impl and load/save it to file (so that content and behavior are saved)?  Or, do we just save and load the scenegraph root node, as seems to be the traditional approach, and deal with persisting the model behavior some other way?