Noob questions

Hello All,
I’m starting again to look at writing a 3D game, at the request of my daughter, for the Android platform. Previous attempts have failed due to the steep learning curve of direct OpenGL. However, I have been very impressed with JMonkeyEngine and especially the tutorials, I have been in the software development business for 20 years and I can safely say my introduction into the JMonkeyEngine has been one of the most painless I have experienced. Well Done.

I have a few questions about best practice that I hope that the forum contributors will help me out with.

Background: My daughter would like a nice driving type game on an Android tablet and has specific ideas about what she would like. As I have been looking for a programming challenge I thought why not, as Need for Speed Most Wanted is not really suitable for a 7 year old. To start off with I would like to build a reasonable sized town and allow a car to drive round completing challenges and races etc. Fairly simple and prob very boring for older peps. I am currently working on the workflow, ie how to go from Blender, to the JDK to eclipse etc. All very starightforward, except for decisions about the Blender models and how they are used in JMonkeyEngine.

To the actual questions:-

  1. Is there any major benefit for developing the scenes in the JME sdk as opposed to developing the scenes in Blender and doing a direct conversion? It should be noted that I will be doing all the development in Eclipse as this is my work IDE. At first pass I can’t see any benefit now that we can directly import .blend models into the SDK and convert to .j3o. As a side question, can the conversion between .blend to .j3o be perfomed by an Ant script?

  2. How do people decide on what units to use? i.e. In Blender the default cube is 2x2x2. If I have a car that is going to be controlled by the bullet physics engine does it matter if the car is going to be 0.25 x 0.50 x 0.3 (for example) and size the town accordingly. I am assuming here that it is best to avoid scaling if possible. Or does the vehicleControl work best with a specific sizing? I suspect the answer is it is totally up to me, pick a unit and stick with it. ps was really impressed with the vehicle tutorials.

  3. Obviousily the town will need a boundary to prevent the car falling off the edge of the model. For simplicity sake to start with, I was going to have a long stretch of grass surrounding the town and was going to create a fence to allow the collision routines to keep the car in. Is this reasonable? Is there a way to create an invisible fence?



The general convention (unless working on a special case game) is that one world-unit = one meter, so unless you are doing something else that is what I would go with.

The main advantage of doing the scene compositing in the SDK rather than blender is that it happens right there, you can tweak something and then immediately see the results by running the app without having to redo the import process. You can also modify JME specific values and don’t get confusion from blender specific ones that aren’t appropriate/supported by games engines.

Your boundary sounds like a reasonable approach to me. Collision models are independent of display so you can easily add one - or just have the terrain become impassible somehow (i.e. cliff or fence or trees etc).

Be aware there are some issues with android and terrain atm although I’m not sure of the details.

Thanks zarch. I initially planned on 1 unit = 1 metre, that way it would be easy to work realism into the model.