Level Building Approaches and Advice?

Hey everybody!



I'm a jME newbie and I've been diving through all the tutorials and demo files for the past few weeks.



I'm working on two different student projects in jME, both teams are trying to figure out a good level-building pipeline, and we could really use some advice! So I'm going to generally describe these two projects and pose some questions to the community.



Basic Game Descriptions


Game #1 - A mario-kartesque lap-based racing game
Levels Need:
- easy terrain placement
- defining a trigger zone/volume for the start/finish line
- starting grid placement positions for 2-8 racers
- placement of both static scenery objects (ie a tree), and dynamic scenery objects (ie a rock that rolls across the course)
- ability to place "bounds" or blocking volumes along the track so the racers can't just go everywhere

Game #2 - A 2.5d platformer with standard 2d gameplay and camera, but with 3d objects (no crazy perspective switching)
Levels Need:
- To allow for fine-tuned placement of level geometry and objects so gameplay tuning can be quick
- Definitions of player start and goals
- Ability to load a new level upon completion of previous level

In General:
- neither game needs streamed or dynamically generated geometry - we can create terrain and models, and nothing should be so big that it can't all be loaded into the scenegraph at once.
- these are class projects and we'd like to spend as much time on assets and gameplay as possible, so creating custom level building tools may be out of the question. Also, while I'm very familiar with editors like UnrealEd and the C4 Editor, I'm not experienced with tool creation
- we have access to and experience with Maya 7 and 8
- I have successfully created terrains in L3dT and have them up and running in jME

So...

Questions!

- Documentation and examples using MonkeyWorld3d and jMEditor are sparse and spotty at best: does anyone use either of these tools for level creation? MonkeyWorld3dv3's feature list looks like something that could help out immensely.

- can MonkeyWorld3d_v3 be used with the latest versions of jME? I like what the guys are doing with MonkeyWorld3d_v4, but it doesn't have the environment editor integrated yet, correct? I've found one thread on actually loading a MonkeyWorld3d_v3 level into the engine - has anyone tried that with jME 1.0+?

- For the platformer game in particular, can world geometry be entirely modeled in Maya, exported to collada, and then added as one big node in the scenegraph? Any negatives from this approach other than having to do "level design" in Maya?

- If we take the above approach, how could we have triggers and dynamic object starting locations implemented into our Maya project?

- If the best answer is "Make your own level editor", can you point me in a good direction to start doing something like that? Any examples of jME game-specific editors that someone would like to share?

I really appreciate any advice on level building approaches - we have two great designs with excellent core gameplay that we want to express over multiple levels, and I hope that doesn't become our jME bottleneck!

Thanks so much!

- ninjaboyjohn
- For the platformer game in particular, can world geometry be entirely modeled in Maya, exported to collada, and then added as one big node in the scenegraph? Any negatives from this approach other than having to do "level design" in Maya?

I don't see a problem with that, the only thing is that the scene must be split in several parts to allow efficent culling.

- If we take the above approach, how could we have triggers and dynamic object starting locations implemented into our Maya project?

That highly depends on how Maya, the collada exporter, and jME's collada importer works. If the names of the objects are transfered over then you can have nodes as starting locations (identified by the names), but for triggers this will require the tools to support holding a comment string or a user data field.
- For the platformer game in particular, can world geometry be entirely modeled in Maya, exported to collada, and then added as one big node in the scenegraph? Any negatives from this approach other than having to do "level design" in Maya?


I was working on exporting designed levels from maya into jme via collada, without any success. We had to scrap our plans and settle for obj format and a home-grown world editor for the time being. If you find a solution, PLEASE let me know.

- If the best answer is "Make your own level editor", can you point me in a good direction to start doing something like that? Any examples of jME game-specific editors that someone would like to share?


You could look at the source for monkey world 3d. There are also examples of integrating jme with swing (RenParticleEditor). Other than that you would have to design entities suitable for your game and tools to manipulate those entities.

I really appreciate any advice on level building approaches - we have two great designs with excellent core gameplay that we want to express over multiple levels, and I hope that doesn't become our jME bottleneck!


Depending on the modeling tools you are using, scope of your project and requirements, this just might be your bottleneck.

we r using models generated with height in maya. then cut the models into pieces for culling issues.



then export using collada. import into jme.



everything works fine.



so yes what u r planning to do can be done.