| Thread (12 posts) | ||
|---|---|---|
|
ironore 9/28/05 2:17:14 PM
|
||
|
Advanced Member
Joined: 6/24/05
Forging the Future |
How hard would it be to program a 3D world for an MMORPG on an actual 3Dimensional spherical world model? I think it would be an awesome concept, but feel that it must be very difficult since it hasn't been done yet to my knowledge. The sphere wouldn't have to be too large, it wouldn't matter if you could even seen horizon curvature to some extent in extremely flat areas. Is the 'google earth' model actually spherical? or once you zoom in is it just loading flat maps that merge together? IF it could be done then there would be so much opportunity for realistic lighting, day/night sequences with sun rise/set at different times in different places. There would also be a lot of other astronomical things you could work in, such as planets and constellations, not to mention that the world would have no borders because you could go completely around in any direction. Map wrapping makes sense to connect your east/west borders but going to the north extreme shouldn't instantly connect you to the south extreme as is currently often done on such maps. Anyway, just like to hear some ideas on this and if/how/when/etc. |
|
| IronOre - Forging the Future |
||
|
Jimmy_Scythe 10/01/05 3:35:52 PM
|
||
|
Elite Member
Joined: 12/31/04 |
I'm not much of a math wiz... but that's kinda already done with 3d worldspace coordinates. You have an origin (0,0,0) and manipulate the vectors according to that origin. I don't really see any difference or advantage here. Unless you're talking about a whole new coordinate system that's based on radians or something. I have a sneaking suspicion that doing a graphics engine around spherical trig or calculus would be computationally expensive. Server side, everything is 2d. Even working with a spherical coordinate system, you end up working with blocks / nodes at X,Y,Z postition. Or some other set of numbers based on angle, distance, and vector from the world origin. |
|
| http://www.youtube.com/watch?v=2if5GYXOGyo |
||
|
frumbert 10/02/05 9:50:38 PM
|
||
|
Novice Member
Joined: 3/04/05
I''m never pleased; games can always be designed better. |
Easier to work everything as if it were flat (like the server does). You can then calculate your position on the world which would then determine things like the time of day for you at that position of the world. Remember, all this stuff takes place on your client machine, not on the server, so your machine could make it night at your spot but a different person elsewhere on the planet is still seeing day because that's the time at their position in the game world. You could also simulate things coming up over the horizon by scaling down the height of objects taht are further away, so they seem to "grow" slightly as you get closer, the way a mountain does when you're driving towards it. That, combined with clever fogging, would probably convince most people that the world was round. |
|
| |
||
|
ironore 10/03/05 11:21:11 PM
|
||
|
Advanced Member
Joined: 6/24/05
Forging the Future |
But how do you make it light for one person in one location and dark for another on a seamless flat map? We are talking a flat map but a 3D environmet, ie: People can look up and see the sun, as in the flat map in the below illustration. No matter where they are on the flat Map, if the sun is up can't they see it? And if it is acting as the light source, it is either light for everyone or dark for everyone. On the 3D sphere however, there is a day/night line, which is the same as the curve of the sphere and so that dark/light line is the horizon past which the sun is NOT up for you, but is up for someone else.
Also, as to map wrapping, how does that work in most MMORPGs? I usually see them either have a boundry you can't cross, or just linking the east side to the west side of the map, and the north to the south. Linking east to west is not so bad, as in the map of the world above, asia actually does wrap from B to A. However, the north pole should not wrap to the south pole, from C to D. Unfortunately, many games do wrap north to south. If you have ever played around with google earth, on the low camera angle that shows all the 3D terrain, you will know what I am talking about. There are no borders or boundaries, you can just scroll around the whole globe over and over. The advantages to having a spherical world is that the lighting AND the navigation would be realistic. You could have a painted star sphere around the whole thing (ie: sky-dome) and certain stars would be visible at different lattitudes and longitudes, depending on how far north/south of the equator they are located. The sun would also be higher in the sky at the equator, and change it's apparant course with winter/summer in the different hemispheres. Problems I see are that the sphere would be quite large and really just have a lot of wasted empty space inside? I am not really much of a 3D programmer, but I wonder if it could now, or in the near future be feasible to try something like this. I would appreciate any further input. |
|
| IronOre - Forging the Future |
||
|
frumbert 10/05/05 12:54:14 AM
|
||
|
Novice Member
Joined: 3/04/05
I''m never pleased; games can always be designed better. |
While everybody in the game inhabits the same "world", it still draws the graphics for the world down on the client machine. So each different player machine draws the world from that players perspective. When the sun is in a particular part of the sky around a sphere, you can calculate where you are on a round map in relation to the sun. But you can just as easily calculate where the sun might be for you if the map is flat.
On the top the yellow and blue circles represent the "sky" above two different players (that they can see on the screen). You can see that the yellow circle has the sun directly above it, but another player further around the world sees the sun as sunset. Because each player's computer draws the world as that player sees it, you can send the yellow player the suns position in the midday position, and the blue players sun in the sunset position, and let each machine draw the sun appropriately. Actually, you would probably send numbers for "current world time / your time zone", just like the real world uses, and let the local machine draw the sun in the appropriate spot. Now, as to "wrapping". Most large map game engines (like MMORPG engines) don't load the whole map as one giant polygon - they break it into manageable chunks (squares usually) and load a few "tiles" of the terrain at a time. So when you come to a "join", you simply load up the tile for that part of the world. Imagine your world is made of 5 tiles. As you move to the right (yellow arrow), you load up the next tile in the sequence. When you are on tile 5, the next tile doesn't exist, so you loop back and use tile 1 in place. The result is a "tiling" map, which is desirable for a round world, because you can just keep on going around. A tile doesn't have to be square - in fact, in some ways it's easier to have a triangular or hexagonal tile because a shpere is easier to cover in evenly sized hexagons than it is to be covered in evenly sized squares. |
|
| |
||
|
ironore 10/05/05 5:02:28 PM
|
||
|
Advanced Member
Joined: 6/24/05
Forging the Future |
Hey Thanks! That is awesome! I see exactly what you mean, and it makes so much sense! So you mean even on the flat map you can tell it where to show the sun for that location, and the level/color of lighting. As to the map wrap, might something work like these hexagons or even cutting them into smaller eqalateral triangles and then loading several that all inter-lock. In this way you could even make points in the western hemisphere link to the north pole regions and back to points in the upper eastern hemisphere and NOT directly to the south-pole region as some maps erroneously do.
As I said, I focus mostly on game design, but sometimes I get big ideas and like to check them with reality along the way, so that I can make proper adjustments, and this has made it clear for me. |
|
| IronOre - Forging the Future |
||
|
Goober2k3 10/15/05 2:27:41 AM
|
||
|
Apprentice Member
Joined: 7/02/04
"Dont forget your armor this time!" |
Well, the concept is a great one but it poses many hardships. BTW the lighting in every mmorpg I know of to date consists of lightmaps (Shadows from trees are drawn onto the ground's texture which is loaded in to save the computer from having to computate shadows) and many games still use a texture for a characters shadow X_X! Also lighting in games doesn't have a real sun.. It's either part of or its own textured surface and It would be safe to say it's not a real sphere. :) |
|
| Rage/Enos |
||
|
ironore 11/14/05 5:07:29 PM
|
||
|
Advanced Member
Joined: 6/24/05
Forging the Future |
Excellent! These may seem like little details, but those are the sorts of things that really promote emersiveness in a game world and I think that is important.
|
|
| IronOre - Forging the Future |
||
|
Hiachi 11/15/05 2:50:56 PM
|
||