Page 1 of 2 12 LastLast
Results 1 to 10 of 11
  1. #1
    Join Date
    Apr 2002
    Location
    Denmark
    Posts
    1,823

    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?
    Dan 'pezz' Kronholm.
    Currently working on: The MMO class!.
    Previously working on: Game called "Boom Bots", while learning Unity and C#. WIP thread here.

  2. #2
    Join Date
    Dec 2002
    Location
    Virginia Beach, VA
    Posts
    861
    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. #3
    Join Date
    Apr 2002
    Location
    Denmark
    Posts
    1,823
    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.
    Dan 'pezz' Kronholm.
    Currently working on: The MMO class!.
    Previously working on: Game called "Boom Bots", while learning Unity and C#. WIP thread here.

  4. #4
    Join Date
    Dec 2002
    Location
    Virginia Beach, VA
    Posts
    861
    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. #5
    Join Date
    Jan 2010
    Location
    Buenos Aires, Argentina
    Posts
    148
    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. #6
    Join Date
    Dec 2002
    Location
    Virginia Beach, VA
    Posts
    861
    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. #7
    Join Date
    Jan 2010
    Location
    Buenos Aires, Argentina
    Posts
    148
    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. #8
    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.
    ''A person who never made a mistake never tried anything new.'' - Albert Einstein
    "The expression of what you are in space-time creates the pattern of space time." - Bachir Boumaaza

  9. #9
    Join Date
    Apr 2002
    Location
    Denmark
    Posts
    1,823
    And completely ignore the overlap of patches because they're square?
    Dan 'pezz' Kronholm.
    Currently working on: The MMO class!.
    Previously working on: Game called "Boom Bots", while learning Unity and C#. WIP thread here.

  10. #10
    Join Date
    Jan 2010
    Location
    Buenos Aires, Argentina
    Posts
    148
    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 LastLast

Posting Permissions

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