Extending JMonkeyPlatform as ”Sandbox” editor

Hi,

I was thinking about which swing framework would fit for using it as a kind of sandbox editor for my game. I looked for flexibility and features like docking so I ended up with NetBeans and started to build my own Platform based on the NetBeans Framework.

So now, a few hours later, I managed to extend JMonkeyPlatform, added some module dependencies to get the JME3 framework, built a wrapper module for my game library and implemented some other module which represents a basic viewport in my editor. :slight_smile:

I really love the NetBeans framework and how easy to use it is, however, I’m experiencing a bunch of issues so I wanted you to ask for any kind of input regarding my plans.

Do you think of extending NetBeans for an editor as a promising approach or not?

Is it worth diving into NetBeans affairs for this purpose or should I stick with a basic swing solution?

Another question of mine is how to manage the necessary libraries which are basically

-JME3 related stuff like lwjgl, nifty, j-ogg etc.

-JME3 itself

-my game libraries (classes.jar and assets.jar)

-Groovy

and how to keep them up-to-date easily especially my game libs and JME3- Is it the/a right/possible approach to map all these libraries to wrapper modules and maintain those via the update manager?

I really appreciate any kind of comment and would be very grateful to receive some answers concerning my questions

I have written lengthy documentatin on how to create plugins for jMonkeyPlatorm in the wiki. If you want to do your own thing I guess its best when you read the documentation on the NetBeans platform and start out step by step to learn. If its appropriate for the game you want to do, I guess only you can say that.

Thank you very much, it’s actually not so much that I’m crazy about developing my own platform but more that I need a different kind of SceneViewer/Explorer and want to get rid of all those coding facilities and loads of modules jMP comes with…

But I have a more specific question right now, is it possible to run my game in a canvas on a swing pane as a NB module just like it is now, without any (huge) adaptions? I’m asking this because this is the crucial point for me, whether to follow this approach or not and I could easily put my game into an empty JFrame like it is done in the JME3 swing canvas tutorial but experienced problems while doing the same thing on a NetBeans module.

I took a look into the sources from the SceneViewer module and the SceneApplication class and found some differences between the way Application is extended there and in the basic examples on the wiki like:

pre type="java"
getStateManager().render(renderManager);


if (context.isRenderable()) {


renderManager.render(tpf);


}


getStateManager().postRender();
/pre

I cannot run my game without this adaption in the update loop but this isn’t a problem for me anyway.

Something I really struggle with is the AssetManager. For example it’s okay to call loadFont(“Interface/Fonts/Default.fnt”); from my Application derivate which is inside my Viewport module package but I’m getting a NullPointerError if I call new Material(assetManager, “Common/MatDefs/Terrain/Terrain.j3md”); from my Terrain class which is inside my game lib and that game lib is loaded via a library wrapper module. Both default.fnt and Terrain.j3md are supposed to be in the same JME3 base package so I don’t get the difference…

You can load only classes from a plugins classpath. Again, this is all stuff specific to NetBeans platform and your game, you should consider going to the netbeans forum with your problems.