Why not buckyballs?

Discussion in 'Planetary Annihilation General Discussion' started by jurgenvonjurgensen, August 30, 2012.

  1. jurgenvonjurgensen

    jurgenvonjurgensen Active Member

    Messages:
    573
    Likes Received:
    65
    I get the impression that the intent is for PA to have a square grid and to smoosh* that square grid onto a sphere in some way. This will render the poles inaccessible, and have distortions the further from the equator you get.

    Is there any reason why planets can't instead be some kind of buckyball? Take an icosohedron and tile hexagons over each of its triangular faces, and then play with the side lengths so that it actually approximates a sphere. The amount of distortion will be less than trying to tile a square grid onto a sphere, and units will be able to move over the poles. Some trickery will be needed at the edges, since there are some pentagonal faces, but it's not impossible to hide this from the player.

    The other advantage of this is that buildings tiled in hexagons generally look better than ones tiled in squares, because Hexagons = Science.

    *technical term
  2. JWest

    JWest Active Member

    Messages:
    264
    Likes Received:
    89
    ... Could we maybe have a picture? I'm feeling rather dumb right now... Are you saying planets should basically be a polyhedron with an extreme number of sides? And the shape of each face is what the shape of each unit of measurement? For example, a twenty sided die (D20 for us nerds) is made of triangles, so each building would be a triangle if built on a D20... right? I think that's what you're getting at here...
  3. neutrino

    neutrino low mass particle Uber Employee

    Messages:
    3,123
    Likes Received:
    2,687
    No there isn't any squishing in the current design.
  4. neophyt3

    neophyt3 Member

    Messages:
    346
    Likes Received:
    1
    I'm just wondering why it can't be like spore worlds. Those where round, and I don't remember there being any issues with them. Or am I missing something? Where they actually generated as something else, just made to seem like spheres?
  5. jurgenvonjurgensen

    jurgenvonjurgensen Active Member

    Messages:
    573
    Likes Received:
    65
    neophyt3: I believe Spore didn't have buildings placed on a grid, it just placed them wherever. With square buildings and grids like TA and SupCom, things get more difficult because geometry hates us.

    Does this mean you're going for a gridless design? I'm not aware of any geometry that can tile a grid onto a sphere without any distortion (it is, after all, a significant problem in cartography, and has been for several hundred years).

    http://freeciv.wikia.com/wiki/File:Bucky-earth-20.gif

    That is a net of an example. It folds up into an icosohedron, although once you've got your icosohedron you can do some graphical trickery to make it look more like a sphere.
  6. neophyt3

    neophyt3 Member

    Messages:
    346
    Likes Received:
    1
    So, ummm, why do the buildings have to be square in PA? Why do there have to be grids?
  7. lophiaspis

    lophiaspis Member

    Messages:
    215
    Likes Received:
    2
    So are you saying planets are going to be spheres?
  8. RealTimeShepherd

    RealTimeShepherd Member

    Messages:
    157
    Likes Received:
    17
    I actually asked the question regarding the planetary poles on the Kickstarter website and received the following reply from the dev team:

    "There will be no difference between the pole and anywhere else.

    Think about it like real life, ships and planes still work at the pole and they will in the game too."

    I am pressing the square/hexagons question :)
  9. bgolus

    bgolus Uber Alumni

    Messages:
    1,481
    Likes Received:
    2,299
  10. acey195

    acey195 Member

    Messages:
    396
    Likes Received:
    16
    Thank you :D!, this will prove very useful in the research I am doing (actually started today)
  11. rick104547

    rick104547 Member

    Messages:
    305
    Likes Received:
    17
    Those meshes reminds me of using the finite element method xd (iam a engineering student on university).

    What are you currently looking in to?
  12. jurgenvonjurgensen

    jurgenvonjurgensen Active Member

    Messages:
    573
    Likes Received:
    65
    So you can line them up in rows and have everything look NEAT UND TIDY. Or because the trailer looked like everything was on a square grid.
  13. acey195

    acey195 Member

    Messages:
    396
    Likes Received:
    16
    Not the main reason I think, you could line out building without a grid. If they are using anything close to what was posted in that link, a grid would not have exactly evenly sized grid squares (which would be impossible to have anyways. Buckyballs as OP named them, come a tad closer still, but those have other drawbacks.

    it is probably because of the Level of Detail system (both geometry and texture detail, as described in the article) which works quite well with spherified cubes.

    It is also a lot easier to work with a spherified cube in terms of texture tiling, since you basically 12 edges to deal with at any detail level.

    If you would go for the Buckyball or Icosahedron like structure. the Uv-map would have jagged edges. These jagged edges would become less noticeable at higher subdivision levels, but that is way higher Uber probably wants to go, in terms of performance cost.

    I haven't read through the entire document+references yet though, so more may follow :p.
  14. jurgenvonjurgensen

    jurgenvonjurgensen Active Member

    Messages:
    573
    Likes Received:
    65
    Having skimmed that article, it seems that they chose cubes over icosahedra because GPUs are already optimised for the kind of calculations done in mapping the cube onto the sphere, but not for the equivalent calculations on icosahedra, so I guess the increased distortion from only having 6 faces instead of 20 is a trade-off for significantly faster graphics.
  15. acey195

    acey195 Member

    Messages:
    396
    Likes Received:
    16
    Ok I have done some further research :p

    Buckyballs are doable, but certainly not the best solution:

    [​IMG]
    [​IMG]
    [​IMG]

    I made these in Houdini, of Side-FX.

    Most important drawbacks:

    -You need to deal with 28 texture seams, rather than 12. (note that I didn't Texture across the seams, for this exact reason)
    -The textures are triangular, rather than square, so harder to work with and less optimised.
    -Each time you want to go up in subdivision level, you need to go up 2 levels, otherwise the seams crack. This happens as the triangles do not follow the same edge as the base on these in-between-levels. Which results in performance loss.

    Thanks again for that article, giving me inspiration for a start with my research project.

    I will try to make the spherified cube solution soon ;).
  16. ooshr32

    ooshr32 Active Member

    Messages:
    749
    Likes Received:
    141
    I am operating a bit outside my understanding here so those of you better qualified please clarify where needed.

    So, as I understand it:

    Strictly speaking a 'buckyball' is a tessellation of hexagons and pentagons in spherical shape and pertain to a specific type of carbon molecules.
    [​IMG]

    That polyhedron it forms is actually the dual of a geodesic-sphere, which uses only triangles, existential carving the hex and pent faces up.
    [​IMG]

    It's the pentagons, or areas where 5 triangles meet (instead of 6), that cause issues.
    An object that spans multiple tiles on a square-grid can be placed anywhere on the map.
    But if you use a geodesic- or bucky- sphere you'll not be able to place anything other than a single-tile object on the pentagons. Multiple-tile objects won't fit together properly.

    Unfortunately these pesky pentagons are spread evenly across the sphere, one at each pole, and two rows of 5 at +/- 30 deg latitude (IIRC), for a total of 12.
  17. acey195

    acey195 Member

    Messages:
    396
    Likes Received:
    16
    Those 2 are basically the same, only the polyhedron is cut into triangles and more spherical. Look closely and you see that the buckyball also polygons with 5 sides, rather than 6

    Rendering objects only works with triangles, at least in games at this moment (except from maybe some new tech demos)

    A buckyball also gives strange lighting artifacts if you keep it this way, as it is not smooth, more like a golfball.

    In addition to my last post. Icosahedrons are very hard to divide into equal parts within the 12 divisions, making it very hard to efficiently assign seperate levels of detail. And less parts can be skipped rendering.

    I am now going to work on the cubesphere
  18. mafoon

    mafoon Member

    Messages:
    50
    Likes Received:
    5
    Are there any plans for non standard shaped planets, doughnut, triangle or perhaps oval
  19. ooshr32

    ooshr32 Active Member

    Messages:
    749
    Likes Received:
    141
    Near as I can tell I covered all of that... :roll:
  20. acey195

    acey195 Member

    Messages:
    396
    Likes Received:
    16
    Ow sorry, I misread that part

Share This Page