MMORPG Mapping?

"So, having said that, does anybody have advice on how to map an MMORPG? Obviously using a randomly generated MidPointHeightMap won't work, since the terrain needs to be the same for everbody"



Why not just giving all the players the same seed? That will give them all the same map then you randomize :wink:

Because there is going to be a story behind the game, and having a random map every time the server started would be hard to write a story about. In addition, players will want to log in in the same location that they logged out at, so having a random map would make it very annoying for them.

The seed for the random number generator makes the map exactly the same when you use that number… If you then look through landscapes based on a random seed factor to find a good map, this value will have the same good map when you create a map with that seed.



Personally I'm planning something that memorises the hill locations and sizes in the hill map class… So joins between maps line up appropriately.

What's the problem with importing freeworld3d terrain files? If I had the tool this would be the most reasonable thing to do. Fooling around with OBJ and 3DS is just a waste of time, IMO.

Momoko_Fan said:

What's the problem with importing freeworld3d terrain files? If I had the tool this would be the most reasonable thing to do. Fooling around with OBJ and 3DS is just a waste of time, IMO.


If you teach me to import a Freeworld3D file or Ogre3D file into JME, I will build you a statue in my game.

Take a look here:

http://code.google.com/p/jmonkeyengine/source/browse/trunk/src/com/jmex/model/converters/X3dToJme.java#356



This class parses the X3D model format, which uses XML as it's data format. You say that freeworld3d terrain files are in XML, therefore you can use this code to learn how to parse XML files, and in the end write your own XML parser for the freeworld3d terrain format.

You will notice some common patterns in the code, such as using getChildNode to get a named child tag (with the name you specify). Another commonly used example is iterating through child nodes, this is done first by grabbing the node's first child with Node.getFirstChild(), you then iterate by calling Node.getNextSibling() on that child. Both of those patterns/tricks are used extensively in my mesh.xml importer.

Momoko_Fan said:

... in my mesh.xml importer.


Mesh XML importer? What format does yours import? I'll try to figure out how to parse the Freeworld3D, but isn't there something to import Ogre3D XML files? There is an Ogre3D XML export built into Freeworld3D.

Yes there is something to import Mesh XML. MomokoFan and Ender are writing it. Here is the SVN link

Momoko_Fan said:

I would not suggest checking out the source now as it is in Ender's hands now, and therefore in WIP phase. So it might not function at all at the current state. When the work on it finishes, it will be released on the jME forums under "User Code".


Any clue as to when it may be finished?

I really cannot say as Ender is the one working on it now. Judging by the current state of progress, I suspect it should support all relevant features of the mesh.xml format in about a month.

Until then, I'll just import an OBJ file, I guess.

I'm getting shit imports with OBJs. Maybe I should just export the textures as JPG and the heightmaps in 16-bit mode, then I'll just stitch all of the heightmaps together… somehow…? The OBJ and modeling things are just giving me a really hard time. Is it possible to take a heightmap into photoshop and just cut it into 64x64 pieces and have it still look normal when imported to jME?

Does TerrainPage assemble many heightmaps into a single world, or no?

In a sense, yes… TerrainPage will include several TerrainBlocks which will be tiled to form the whole world.



Check the documentation.

http://jmonkeyengine.com/doc/com/jmex/terrain/TerrainPage.html

Thank you, I'll take a look at that. Any tuts on it, other than the API?

bump

Trussell said:

Hey, I'm making an MMORPG with some of my friends from highschool. We're using jMonkeyEngine until we can develop our own engine and transfer it to that (which will probably take effing forever and/or never happen).

I don't want to hear "don't start out with an MMORPG" because even though it has a high chance of failure among other people, I'm confident that we'll be able to figure it out eventually.

So, having said that, does anybody have advice on how to map an MMORPG? Obviously using a randomly generated MidPointHeightMap won't work, since the terrain needs to be the same for everbody. I want to start off with having a map that takes about 5 minutes to run all the way across or all the way down, and I  just want to have a single small island in the middle. What programs should I use to map this kind of environment, and is it easy enough to where I can just load a single file into my program, attach to it a Bounding Box, and then load it into the root node?
You can use the MonkeyWorld3D to build your map,and then load it to your program.
Trussell said:

Does TerrainPage assemble many heightmaps into a single world, or no?


Terra does