Architecture for a jME3-based level editor

I’m interested in building a jME3-based level/world editor, and am wondering what the expert community can offer in the way of architectural advice.

The idea is that a “world” would be archived (perhaps as a ZIP) and then loaded into the editor. The editor would be able to read the world/level file (again, likely an archive of many different files) and render a scene out of it and make that scene viewable to an end user. As the user edits the level/world, they will be modifying an in-memory version of it. Then, when they save their work, it will get written to file and archived back up in the proper format.

Has anyone attempted this before? Any war stories to share? Regarding architecture, what jME3 types or APIs could be useful here for:

  1. Holding in-memory versions of the worlds (the scene graph, etc.)?
  2. Loading/rendering/displaying the in-memory versions of the worlds?

Thanks in advance!

Hi,

I start a related thread yesterday Best Practice: which tools and practice for level design ?. It’s talk mainly about how to use SceneExplorer + SceneComposer + SceneViewer of the SDK .

I’m also aware of Simple World Editor, but I failed to use it.

Thanks @david.bernard.31!

Curious though - I don’t see any of those classes (Scene Explorer/Composer/Viewer) in the Javadooc link I posted. Are they actual classes or sub-frameworks inside jME3? If they’re frameworks, what packages comprise them or where could I get at their source code? Thanks again!

There are part of the SDK (netbeans modules) see the video / SDK Use Case Tutorials

Thanks again @david.bernhard.31 - do you know where I can download the SDK/NB module source? On the downloads page there doesn’t seem to be any links for source. Ideas? Thanks again!

Thanks again @david.bernard.31 - 2 last followups here:

(1) I’m looking at https://github.com/jMonkeyEngine/jmonkeyengine/tree/master/sdk/jme3-core/src/com/jme3/gde/core - is this the right place to be looking for Screne Explorer/Composer/Viewer?

(2) Also, I don’t see anything called SceneGraph, only SceneGraphVisitor. It was my understanding that the SceneGraph was a class (basically a huge graph object) that contained alll the visual elements of the current scene. If that’s correct, then I guess I’d sort of expect things like SceneViewer to take a SceneGraph object and (somehow) render it visually using LWJGL or something similar. Thoughts?

I suggest learning about how jme works before working on an editor though. Click the “Docs” link on the left.