TerraMonkey Overview

Newb here…

A few questions about this very interesting TerraMonkey system…

(1) What is a “terrain system” or “terrain API”? Code examples? How does TerraMonkey differ from the Scene Editor in jMP?

(2) How does the Scene Editor in jMP differ from a 3D modeling tool like Blender?

(3) What file formats do jMP’s Scene Editor and TerraMonkey work with?

Thanks for any input/feedback!


  1. Its doing the math in the background so you can look at terrain. The sceneeditor and terramonkey are two completely different things, the sceneeditor and the terraineditor are editors for binary jME3 scenegraph files (j3o). Terramonkey is the software that displays the terrain while the game is running and inside the editor.
  2. Its for post-processing and editing jME scenegraphs. You could never save all options and possibilities of jME3 in some external model format, so the jMP plugins help you editing the jME3 binary files to make models actual parts of a game. Examples include adding physics collision shapes, particle effects etc.
  3. The binary jme3 format (j3o) because of the aforementioned reasons

normen, Thanks!

So, to see if I understand you:

(1) The Scene Editor and Terrain Editor are jMP plug-ins that act as standalone editors for .j30 files, whereas TerrainMonkey is a part of jME3 that handles the rendering/etc. of those .j3o files when the game is actually running, yes?

(2) Is it fair to say then, that the Scene Editor is now more preferable for jME terrain editing than is other tools such as Blender/Maya/3Ds, etc.? Is this because of all the options/possibilies (as you put it) that can be appended to the j3o files that are not possible in these other editors?

(3) Does Question #2 above hold true for non-terrain objects, like items, avatars and other on-screen objects? Can .j3o files handle all jME3 game objects? (I’m assuming j3o stands for jME 3 Object?)

Basically, from #2 and #3 above, I’m asking if the Scene Editor is my one-stop-shop for creating, editing and polishing all jME 3 game objects (terrain and all others), or if best practices dictate using Scene Editor in cohoots with another program like Blender, NeoTexture, etc.

(4) If I was building a game where I wanted to have a separate Level Editor, are either Scene Editor or Terrain Editor packaged and license to allow me to build my own Level Editor off of their framework?

Thanks again to anyone who can shed some light on all this stuff for a clueless green horn!

  1. No, the j3o file contains all kinds of objects that belong to the scenegraph, a TerrainNode might just be one of them, TerraMonkey takes the data of that node like heightmap and textures and makes it visual terrain. Just load a j3o and explore/edit it in the SceneExplorer, then you will see what it contains. Also, the scenegraph doesnt have to be loaded from a j3o but could also be created in code so theres no direct connection from j3o to anything really.
  2. No, for creating models you should use a modeler
  3. j3o saves the complete SceneGraph, with all Spatials, Controls etc.

    3b) The SceneComposer gets improved all the time, maybe sooner or later you can do most stuff in there but for now I suggest modeling in blender
  4. You could, but I guess you wouldnt want the user to start a complete IDE for the editor of one single game but rather display the editor in-game. The jMP tools are meant for development but its flexible enough so you can create tools specially made for your team to create content. (e.g. an editor for stats of your games NPC’s)

  5. Just start doing stuff, it will all become more apparent then :wink:

normen, I totally hear ya:

5) Just start doing stuff, it will all become more apparent then ;)

...and I will, very soon, most likely this weekend!

Last set of questions, and I think this will tie a lot of things together for me. I apologize if I am exhausting your (and anyone else's) patience with my laundry list here, I'm just like a kid in the candy store.

I'm hearing all these names...
Scene Graph
Scene Editor
Scene Explorer
Scene Composer
Terrain Editor

I'm looking for a high-level definition of what each of these are, and the roles they would play in the following scenario. Say I'm making a jME3 game that simply consists of a beachball sitting in the sand on a desert island. Very simple. You have the ball, and you have the island. Here's my understanding, which is in all very likelihood, completely wrong:

(1) You'd model the ball and island in, say, Blender, producing two art files: ball.blend and island.blend
(2) You'd import both .blend files into Scene Editor, Scene Explorer and/or Terrain Editor - all jMP implements - to create .j3o files that describes how the scene graph uses these .blend files and other "magic" (we'll let that word suffice for now!) to create the scene when the game is running.

So if that's all wrong, can someone elaborate why? And can someone provide an explanation of how each of those components listed above would work together to produce my "Beachball Island" game?

Thanks, and sorry, last question of the day ;)

I guess you should really go through the tutorials, the concept of the scenegraph etc. is explained in them, they are not just about the topic at hand but also give you some general information.

  • SceneGraph: jME’s internal tree structure to organize and store the objects in the scene (much like what blenders “outliner” shows)
  • SceneEditor: A word for a software that edits a scene :stuck_out_tongue:
  • SceneExplorer: The window in jMP displaying the SceneGraph as visual nodes in the bottom left
  • SceneComposer: The scene editor of jMP
  • TerrainEditor: jMP’s WIP editor for TerraMonkey generated terrain
  • Blender: A popular 3d model editor

    What you said is pretty much correct, importing the model and adding all additional stuff to it (collision, effects etc) could also be done in code in theory, so you wouldn’t have to convert your model before but you dont want the user to wait for conversions going on in the background and its much easier to visually edit the stuff before or even let a designer team member do that. Also, with some model format you can only support those material and other features that the model exporter and model format support. So using the j3o format gives you maximum flexibility and the user minimum wait time.