building a world question

Hi all,
This may belong in the Newless Cluebie section, but it more pertains to jogl I think.

I’m trying to plan out a strategy for building my world. I’d like to get some input from all you great devs out there on what you do.

I’ve done the demos on HeightMaps, I’ve seen the Quake3 world loader, I’ve looked at Milkshape loaders, etc.

I’m not aware of all the different loaders that have been made available, so not sure if there’s some others to use as well.

I know a lot of this depends on what type of game I’m making, so maybe I’d like to break it into different scenarios…

  1. FPS type of game inside. So I guess I could do walls with quads and add texture, etc. Then populate with models,etc. Or I guess the Quake 3 one may work. Or I guess I could even build one in Milkshape and import it. What would you suggest?

  2. An adventure type world, say like Everquest, where there is an outside area with trees, houses, buildings,etc. I’m guessing the Height Map would work here, plopping down models everywhere. or is there some world builder I am not aware of?

  3. Platformers. Something like a Mario World type of world. Don’t even know where to begin here. I’ve heard in some languages using 3dmax or something, but not sure if it works in jogl.

Thank you very much in advance for any suggestions.

Are you looking for ideas on data structures to use, or actual tools to create the worlds? Assuming that latter, some random ideas:

  1. FPS games typically require pretty complex geometry and texturing, so a world builder is gonig to be pretty complex. A good idea would be to hijack a proper 3d modeler like 3DS max (or if you’re cheep like me, then QuArK) and import its file format. You can usually write some sort of plugin to let you place your actors/entities like players, items, enemies etc.

  2. Heightmaps are nice because you can randomly generate them and do without manually creating it. But if thats not for you then you’ll probably have to build your own editor. On the plus side making a debug mode where you can edit terrain and place objects in-game isn’t too tricky, so you can re-use most of the work from the game :slight_smile:

  3. Also a bit of a pain, again you almost certainly have to build something yourself. Something simple is a snap that would only take a few days work, and re-using the code for the game lets you develop both at the same time :slight_smile:

Also try checking out similar games that are mod-able, usually they have a whole bunch of custom tools (or plugins for existing ones) that you may be able to make use of.

Thanks for the input Orangy Tang!
That is what I was interested in, the actual tools.

I’ve heard of that Quark, I will have to try that. I am not the greatest at Java/jogl/opengl yet, so don’t know if I’m ready for creating my own loaders yet. What format do you put it in to import into your app, and is there a loader available yet in JOGL?

That’s probably one of the best ways is to find a similar type game and see what it did.

It seems JOGL is still pretty new, are there loaders available for all those types of tools?
I guess I’d like to also hear specifically what people have had success with in JOGL specifically.

Thanks again!

For a FPS type of game I think the Quake 3 bsp format is a good option. Pros are:

  • There are good tutorials about both rendering and collision detection.
  • Creating a simple viewer is very easy.
  • There are opensource implimentations that you can look at
  • There are modelers that are made for this format.
  • Format contains game data like spawn points and powerups
  • Possible Visible Set!
  • Lightmaps!

Using 3dsmax or some other general modeling tool is more difficult. You’ll have to use your own visibility algo. Creating lightmaps isn’t streight forward. Neither is exporting/importing everything either. In short you would have to create a lot of production tools.

It can definatly save you a whole bunch of time using existing editors and the Q3 format, but you have to be careful with how you use the build tools. iD don’t mind people using their file formats but tend to get grouchy if you start using qbuild/qrad/qvis for anything but Quake modding.

On the gripping hand, theres several other implementations of the build tools you can use to avoid this, or failing that I seem to remember the Q1 tools not being covered by this anymore.