1. ## Round gameworld instead of flat

Been wanting to do this forever, but I don't know if it's at all feasible to do.

What I mean is, take say 20 patches and patch them together to form a sphere, so the game world is round like the earth, including curvature - So when looking out over an ocean, you can see a slight curvature, like in real life.. Would also be kind of cool on smaller terrains, think planets in Super Mario Galaxy.

Thoughts?

2. I've seen many people wanting to do this but no one has step forward and attempted it yet. Come on guys its not that hard really. What do I have to do everything myself?

Alright I'll give you guys a little more help.

The easiest way is to implement your round world would be as a geodesic shape, think Buckyball or Epcot Center (Disney World). An even more common shape would be a soccer ball. A soccer ball is made up of 20 hexagons and 12 pentagons so you would need to define two different shapes of terrain patches like so:

When combined they form a geodesic shape like such:

The above shape uses the previous textures to speed up the process of making the examples for this post. If I was implementing this for real using geometry I would have each vertex displaced outward from the geodes center to more closely approximate a sphere and then apply the terrain generation algorithm to displaces the vertices to look like world terrain. The one really tricky bit is because the terrain generation algorithm is mapped to a plane it will have to be projected onto the sphere before it can be used.

You can even create shapes that have many more sides to come closer to a true sphere with these two terrain patch shapes for example:

An interesting thing to note is that you can not make geodesic sphere with only hexagons which is why you'll have to make a pentagon patch as well. Now the cool thing is that from what I've read no matter how many patches you go with there will always be 12 pentagons in the shape somewhere.
Last edited by chronos78; 04-04-2011 at 11:12 PM.

3. Thank you very much Lee, awesome post, thanks for doing it I will be attempting it at some point in the near future, so this is definitely a huge help!

Edit: Not terribly good with math and numbers, so my approach will probably be by using a template mesh, and matching vertices to vertices. Might be a stupid approach, but we'll see :P
Last edited by pezz; 04-05-2011 at 06:49 AM.

4. The only real advantage to procedurally generating the patch over using a template is that with the procedural approach you're able to change the mesh density without requiring an outside app to do so. So if your not going to be changing the density of your patches then there is no need to go through all the extra math headaches. You will probably need to keep a list of edge vertices indices though so you can ensure that the edges line up like they should.

5. This would Imply a huge game world, Planet size game world and a custom gravity system. It's just me or this sounds a little over kill for almost any game?

6. I wouldn't use this for planet size worlds that you ran around on the surface just more trouble than its worth. I would use it though if there was a need to transition to and from space where seeing the curvature of the planet is important or a game similar to Mario Galaxies. In the case where we are transitioning back and forth from space to the ground I would transition to the flat terrain patch system once near or on the ground with gravity always down, that way PhysX doesn't have a hissy fit trying to adjust for the center of a planet.

7. Yeah that was the idea i had when this subject was wrought some time ago. And that gave me the idea about elythia having 6 smallish continents and realy big oceans...

8. Registered User
Join Date
Jan 2011
Posts
72
I also pointed this idea out, my way of doing this would be:
We take our patch system we have right now, to each generated patch you add height to all vertices, higher in the middle, lower on the side. this makes a flat patch round or a generated patch ready to be rotated an placed correctly with it's neighbors. If you do this you would have the same world generated, only now it is round only problem is the static gravity, this can be fixed if we make that scrolling world, the middle patch(where your character stands) corresponds with gravity, if you move to the next one the world rotates instead of you.

9. And completely ignore the overlap of patches because they're square?

10. Player centric worlds are a pain in mmo... they need lots of calculations for translating relative coordinates between players... Thats a no go for me.

Page 1 of 2 12 Last

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•