Spherical World – Coordinate System Questions


I’m currently planning an open world MMORPG with a spherical world, and I wanted to ask some questions


The World is going to be kind of big, so I probably will need to split up the main model into several parts, I had the idea that I could make an Icosphere as base and use every triangle as a submodel for dynamic loading. Would that method be efficiency?


Probably something really unnecessary: Should the local point of origin in the coordinate systems of my objects (Persons, Buildings, etc.) be equal to the barycenter or to the “ground-point”, meaning the bottom of the objects? I know that it could be recalculated, but I don’t have a lot of experience with these kind of things and I would like to know your opinions.


That’s more a technical question: Are the coordinate values in jMonkeyEngine and in Blender3D the same? For Example, I create a Box in Blender with a size of 1x1x1, and import it into my Game. Is it going to be the same size? (If i set it to 0/0/0 local and global position, and I put another object to 1/1/1, is it going to be at the corner of the cube?)

Oh, and I’m sorry if my English is bad, I haven’t written in English for quite some time

If blender is set up correctly it should be 1 to one in sizes. Of course you can use other settings as well, i bet the exporter has somewhat like a skaling option

OK, thanks for the information. Was kinda important because I want my game to be based on a Pen and Paper game, and I need to calculate distances and stuff, so I need my coordinate System to be normalised

Don’t do spherical. Just make it a flat square where you walk from one side and you get to the other side. You are making things extremely difficult for yourself if you want a sphere. Especially if it is very large, it will look flat anyways.

I have already thought about that, but I want to add stuff like astronomy, geographical calculations and this kind of stuff, so I really need a sphere. I wanted to solve it like this:

Make a navigational system (like gps) that works with direction, position (2 values) and distance to ocean level (much like one would calculate the position of a point on earth) and calculates the position in jMonkeyEngine’s global coordinate system (basic spherical calculations, could be a bit off, ya know, irrational numbers and stuff). Then, the “local” coordinate System is aligned along the vector planetal center → point of origin (the y-Axis) and the x-Axis is aligned to the global direction value (0 - 359.999999… degrees, maybe I make it a 3D Vector for magical flight, but I think I will handle that otherwise, maybe if you start to fly around, the jump button becomes the “Ascend” Button and the sneak button becomes the “Descend” Button, but those are Details and not part of the discussion)

I know it would be easier to make the world flat, but even if it’s going to be complicated, I have time^^

I really like your idea, me and a friend started making a spherical world back when jMonkeyEngine was only jME2, and it was alot of fun!

Don’t listen to Sploreg, go with your idea and show him you can make it! :smiley:

Good luck dude! :slight_smile:

It’s certainly possible. GIS vendors have been solving this problem for decades.

But it is a huge job. Every other challenge you will have in your game development will be dwarfed by this one… well, unless you write your own physics engine too. :slight_smile:

I’ve done both a GIS and a physics engine, so I can tell you that as hard as a GIS is to write a physics engine is an order of magnitude more difficult. :smiley: