City/Level editor

I’ve been looking around for days for an editor to use as a city/level builder but to no avail. I’ve found GhostTown (ghostTown Lite | ScriptSpot) which looks pretty neat, but is it possible to use the city in JME3 as your game level?



What other options are there for building city’s, indoor levels or anything other than terrain type levels? Are there any documentation/tutorials for doing something like this?

If it’s a 3dsmax scene you can import it in the engine using the ogre pipeline (see OgreMax tool on ogre website)

Also @methusalah created a procedural city generator with jME3, maybe it could be of interest for you.

see that post http://hub.jmonkeyengine.org/groups/user-code-projects/forum/topic/procedural-city-generator/

Iam currently trying to create my first level too. Ive read somewhere that i should use Blender to create the whole scene and than load it. So I started learning that freaking huge tool :smiley:

Is that what you mean with “3dsmax scene”? Or do i bark up the wrong tree?

I’m also still very unsure and lost as how to go about creating a level. A city level was just an idea i have, but it seems it would be more advanced than i thought.



If i wanted to create a small level, lets say for arguments sake, 6 houses, 3 houses facing each other with a two way street separating them, what would the process be?


  1. Create each mesh (House, ground with street, trees, etc) separately and add it to JMP, and then texture and place them in JMP, forming the scene.



    OR


  2. Create each mesh (House, ground with street, trees, etc) separately and then put the scene together in blender, and then import into JME.



    OR


  3. Create the whole scene in blender and then export to JME.



    OR


  4. Use some other tool/level editor.



    OR


  5. None of the above… lol.



    Please shed some light.

The short answer is: it depends on your game.



You can use any 3d modeling program you want, providing you are able to import it into blender so that it can be exported to ogremesh. So 3D studio MAX, MAYA, blender, milkshape, etc… As you are creating your scene you need to decide what is going to be apart of the scene. If your scene/level is going to be purely static then adding all of them in a 3d modeling program then exporting to Ogremesh (this is the format JME loads models) is probably the easiest one to do.



Making all the meshes separate and loading them with code gives you the flexibility to move and remove these meshes such as trees or houses and give your scene a more dynamic feel.



Blender is a 3d modeling tool which has plugins to import and export different types of 3d models and scenes, so eventually you might just want to use blender as it is free.

1 Like

For static enviroment a 3.a is probably the best.



Static enviroment + some added meshes (like a forest must be renderd a bit more intelligent to look good and not kill performance,) also probably add a few particle effects (whaterfall whatever) is probably much easier in jme than in blender.

1 Like

ahh, thanks scrubalub and EmpirePhoenix, that cleared up a lot of questions that were floating around my head.



I’ve gone through all of the tutorials and I’ve started learning blender a couple of days ago. I started playing around with some ideas, like using a generated city as a level but most of the time i cant get something exported to ogrexml. I’ve installed it, and when using a simple box and plane as a floor, it exports perfectly and into JME. But when i try to import more complex things like the one from the city generator, it fails.



Thats the reason for my questions, I Don’t want to spend days designing and modeling a level in blender, just to let it fail when trying to import it to JME. So it leads me to ask my next question.


  1. Is there any guidelines/tips when designing a level in blender. (Eg: what things will usually make the JME importer fail)

The OgreXML exporter’s help says what gets exported and what not. Basically your model should be like any good game model. Only one texture per map that is power of 2 and only as big as needed, low vertex count etc. Maybe you can think ahead and model some basic shapes for complex scenery that you can later use as collision shapes for physics (less CPU drain).

The possibility jMP gives you is that you can combine the models and jME3 functions (particles, special effects etc) and see the outcome instantly. Also you can really define and see how meshes are combined, how the scenegraph is organized etc. The models when imported almost always need some degree of work still to look good in the engine.

1 Like