Ye Olde Planet Thread

    Valiant70

    That crazy cyborg
    Joined
    Oct 27, 2013
    Messages
    2,189
    Reaction score
    1,167
    • Thinking Positive
    • Purchased!
    • Legacy Citizen 4
    Someone should try implementing that in a traditional 3d environment.

    Because, I sense figuring out the movement traveled on the sphere and on the voxel grid might be a tad bit tricky. Especially the deeper you are down in the voxel grid. But I never saw a system like that in action.. So I can't really say anything with certainty..

    Mainly because, in the example, you assume the grid is perfectly flat, but the terrain on planets is jagged and filled with holes and etc..
    And basically, the closer you get to the center/core of the sphere, the less diameter it has. So you have to account for that on your "faked" voxel grid, and make the player/ship travel less the deeper you get.

    And, I'm not sure what you mean with the distortion getting into the atmosphere. Not to mention, actual atmosphere is not a requirement on planets. Some, like moons, have hardly any.
    And I'm not sure what you're implying with player positions being different between clients. Because, interactions between players might be a bit complicated, no ?

    But, you brought something pretty neat and refreshing.
    If I'm standing on a hill, both you and I would see me standing on that hill, on that block. The difference is that you will see both of us at a different angle relative to the local star than I will.

    Altitude has little to do with the matter. The client would still render the voxel chunks tangent to the sphere beneath the player's feet. The player's feet don't have to be ON the sphere, just above it and within gravity. The voxels would be above or would replace the globe mesh. EDIT: To clarify, since the whole thing is an edge-wrapping square map faked onto a sphere, you don't have to worry about distortions going higher or deeper. It would be the same diameter at 100m off the ground as 200m underground, and would remain this way until exiting the atmosphere/gravity/sector. (I expect one of these three will mark the boundary of the special effects needed to make the planet work.)
     
    Joined
    Apr 3, 2015
    Messages
    43
    Reaction score
    9
    • Purchased!
    If I'm standing on a hill, both you and I would see me standing on that hill, on that block. The difference is that you will see both of us at a different angle relative to the local star than I will.
    And why is that? Wouldn't the voxel grid be "shared" between players, and relative to the surface of the sphere ? Because, if players just fall on the planet and stay stuck to the same spot on the planet, that would create a lot of incoherence with the rest of the universe.

    I've been assuming that, moving on the sphere would move the grid under you proportionally to your movement on the sphere's surface.

    Altitude has little to do with the matter. The client would still render the voxel chunks tangent to the sphere beneath the player's feet. The player's feet don't have to be ON the sphere, just above it and within gravity. The voxels would be above or would replace the globe mesh. EDIT: To clarify, since the whole thing is an edge-wrapping square map faked onto a sphere, you don't have to worry about distortions going higher or deeper. It would be the same diameter at 100m off the ground as 200m underground, and would remain this way until exiting the atmosphere/gravity/sector. (I expect one of these three will mark the boundary of the special effects needed to make the planet work.)
    Yes, but I meant, in terms of relativity. If, the movement on the sphere is proportional to the movement on the grid.

    Lets go with something more mathematical for example.
    Lets say you have a planet, and the voxel grid area would be, lets say 200 square meters. And the corresponding surface of the sphere would also be 200 m^2. Just to have an exact match and not need to throw in ration and etc..

    Now, lets say you're on the lowest block of the voxel grid, on the last layer of blocks.

    Well, because you'd be physically closer to the center of the planet sphere, to match with the grid, and to keep your position coherent with the universe. This means that the sphere you're walking on, is considerably smaller in radius. And thus it has a smaller area.
    But the voxel grid is still 200 m^2, while the sphee you're walking on would logically have shrunk to maybe 50m^2 ? So you'd have to make several orbits of the core to go through long distance on voxel grid.

    But, it seems you might be saying that you'd create a special relativity within planet space.
    But that approach has been shown to be an issue with large ships only fitting partly in the atmosphere, tall structures poking outside, and interaction between space and the surface.
    Not because of distortion, but because the system implies 2 incoherent relativity.
    Unless I didn't understand that well.

    And I've been looking at mapping a voxel grid to a sphere on my end too, and there's another issue linked to how voxel chunks are made, and that you'd have to figure out a new efficient structure to iterate through them,"move" them on that scale, calculate physics, deal with mobs, etc..
    You have to address those things and possibly more to make that work basically.
     

    Valiant70

    That crazy cyborg
    Joined
    Oct 27, 2013
    Messages
    2,189
    Reaction score
    1,167
    • Thinking Positive
    • Purchased!
    • Legacy Citizen 4
    But, it seems you might be saying that you'd create a special relativity within planet space.
    Yes.
    But that approach has been shown to be an issue with large ships only fitting partly in the atmosphere, tall structures poking outside, and interaction between space and the surface.
    Not because of distortion, but because the system implies 2 incoherent relativity.
    Unless I didn't understand that well.
    I'm not sure, but there might be a way to smooth all of this out by warping sector space.

    Also, when viewing a person from orbit, you'd just take that person's altitude and their position on the sphere to render the sensor blip. They would have correct universe location.
     

    NeonSturm

    StormMaker
    Joined
    Dec 31, 2013
    Messages
    5,110
    Reaction score
    617
    • Wired for Logic
    • Thinking Positive
    • Legacy Citizen 5
    Just project the planet-position onto a boundary box and map it to the universe.

    The problem I see (and Seed of Andromeda is facing) is, which blocks are being displayed.

    Imagine Santa Klaus' house on the north pole. Which block coordinates would it use?
    Would there be a triangle block?
    What happens to the 4 walls and interior wall in the centre of the north pole if you walk around that house and are carefully watching it.

    Please show us your solution if you have any (and post it in Seed of Andromeda and Untold Universe forums too -- voxel games should cooperate against the concurrence of polygon games!)
     
    Joined
    Apr 3, 2015
    Messages
    43
    Reaction score
    9
    • Purchased!
    I'm not sure, but there might be a way to smooth all of this out by warping sector space.

    Also, when viewing a person from orbit, you'd just take that person's altitude and their position on the sphere to render the sensor blip. They would have correct universe location.
    This is becoming complicated though..
    There must be a simpler way of doing all this that would be less hacky :/

    I mean, personally, I wouldn't get into coding something like that. Simply because there are too many unknowns, and no real way of limiting and channeling interactions between space and planet space. In big part, because the special relativity of the planet is still exposed to anything coming from space.
    I mean, if something gets within range of the planet for which a special case wasn't made, you get undefined behavior. It becomes hard to predict interactions with everything, and in turn there are more chances to be serious bugs and exploits, or future incompatibilities. And perhaps worst of all "sleeper bugs" that only show their ugly face later on.

    And what about looking at them directly ? Because you're within view distance at that point.
     
    • Like
    Reactions: Ithirahad

    Valiant70

    That crazy cyborg
    Joined
    Oct 27, 2013
    Messages
    2,189
    Reaction score
    1,167
    • Thinking Positive
    • Purchased!
    • Legacy Citizen 4
    And what about looking at them directly ? Because you're within view distance at that point.
    Looking at what directly?

    Just project the planet-position onto a boundary box and map it to the universe.

    The problem I see (and Seed of Andromeda is facing) is, which blocks are being displayed.

    Imagine Santa Klaus' house on the north pole. Which block coordinates would it use?
    Would there be a triangle block?
    What happens to the 4 walls and interior wall in the centre of the north pole if you walk around that house and are carefully watching it.

    Please show us your solution if you have any (and post it in Seed of Andromeda and Untold Universe forums too -- voxel games should cooperate against the concurrence of polygon games!)
    Ah, I hadn't thought of that. The problem with that is not distortion, but where to center the distortion over the map. BRB. I'm wracking my brain.
     
    Joined
    Apr 3, 2015
    Messages
    43
    Reaction score
    9
    • Purchased!
    Looking at what directly?
    Players? Entities? Mobs? Anything that's not terrain basically.

    Ah, I hadn't thought of that. The problem with that is not distortion, but where to center the distortion over the map. BRB. I'm wracking my brain.
    Oh ? I thought you were mapping a single plane to the sphere, not an actual cube like neon seemed to mean in his post :/

    Just project the planet-position onto a boundary box and map it to the universe.

    The problem I see (and Seed of Andromeda is facing) is, which blocks are being displayed.

    Imagine Santa Klaus' house on the north pole. Which block coordinates would it use?
    Would there be a triangle block?
    What happens to the 4 walls and interior wall in the centre of the north pole if you walk around that house and are carefully watching it.

    Please show us your solution if you have any (and post it in Seed of Andromeda and Untold Universe forums too -- voxel games should cooperate against the concurrence of polygon games!)
    Wow, that seed of andromeda thing is pretty damn impressive though ! Is that still Java with LWJGL ? Because it sure doesn't look like anything like that!

    And that vid from them touches directly to the problem we're discussing here:
     

    Valiant70

    That crazy cyborg
    Joined
    Oct 27, 2013
    Messages
    2,189
    Reaction score
    1,167
    • Thinking Positive
    • Purchased!
    • Legacy Citizen 4
    Just project the planet-position onto a boundary box and map it to the universe.

    The problem I see (and Seed of Andromeda is facing) is, which blocks are being displayed.

    Imagine Santa Klaus' house on the north pole. Which block coordinates would it use?
    Would there be a triangle block?
    What happens to the 4 walls and interior wall in the centre of the north pole if you walk around that house and are carefully watching it.

    The points labeled N and S are north and south poles.
    When entering the sector, something like this will happen:

    A similar process would find longitude based on angle from the meridians.

    Nothing happens to the walls of Santa's house. They are a square on a flat map. Client-side the part of the world you're standing on is perfectly flat and square as I described above. You're dropped onto the sphere and a section of the flat map loads under you feet tangent to the sphere. As you walk, the angle of the flat segment changes, remaining tangent to the sphere directly under your feet.

    EDIT: I just realized that this gives two equators, the "torus world" described in that video. I'll have to do some more re-thinking.
     
    Last edited:
    • Like
    Reactions: NeonSturm
    Joined
    Dec 14, 2014
    Messages
    745
    Reaction score
    158
    • Community Content - Bronze 1
    • Purchased!
    • Legacy Citizen 2
    There is a game/demo to this effect. It is open source if I remember correctly.
     
    Joined
    Dec 14, 2014
    Messages
    745
    Reaction score
    158
    • Community Content - Bronze 1
    • Purchased!
    • Legacy Citizen 2
    I've seen that. I think they bend their blocks.
    I'm not sure what method they are using exactly.
    It would be simpler if they just used triangle for the surface. It could still be deform-able and mine-able with little work and allow building buildings and other structures on it. Honestly I don't care what I dig out of the ground isn't a perfect square it isn't in real life.
     
    • Like
    Reactions: Ithirahad

    Valiant70

    That crazy cyborg
    Joined
    Oct 27, 2013
    Messages
    2,189
    Reaction score
    1,167
    • Thinking Positive
    • Purchased!
    • Legacy Citizen 4
    I'm not sure what method they are using exactly.
    It would be simpler if they just used triangle for the surface. It could still be deform-able and mine-able with little work and allow building buildings and other structures on it. Honestly I don't care what I dig out of the ground isn't a perfect square it isn't in real life.
    That was eerie coming back and reading triagngle. I just figured out a way to have a flat map with one equator and two poles by using two triangles that wrap onto each other. I'll get the pics up as soon as I can but family and stomach are calling at the moment.
     
    Joined
    Dec 14, 2014
    Messages
    745
    Reaction score
    158
    • Community Content - Bronze 1
    • Purchased!
    • Legacy Citizen 2
    That was eerie coming back and reading triagngle. I just figured out a way to have a flat map with one equator and two poles by using two triangles that wrap onto each other. I'll get the pics up as soon as I can but family and stomach are calling at the moment.
    You can generate a planet by starting with a cube and dividing each side into 2 triangles. Then tessellate those to the desired LOD. Then you are left with pairs of triangles that can be reassembled into squares.
    I know it can be done because that was how I built these ages ago. The only thing I didn't do is convert back to squares because at the time I didn't see a value in it.

    Anyway it is just a thought. To be clear this isn't a complaint on my behalf about this game.

     
    • Like
    Reactions: Valiant70

    Valiant70

    That crazy cyborg
    Joined
    Oct 27, 2013
    Messages
    2,189
    Reaction score
    1,167
    • Thinking Positive
    • Purchased!
    • Legacy Citizen 4
    OK, so here it is. This is NOT a torus world like my square map idea was. It has two poles and one equator. This has the same advantage that a squashed cube does, but eliminates the geometric impossibilities at each corner. A squashed cube tries to join three squares at one point, which is just a mathematical train wreck. My idea just wraps around two triangles (or one parallelogram, whichever works best code-wise). This makes it superior to both torus world and squashed cube. The overall map in memory is shaped like this:

    Such a parallelogram can wrap around its edges without problems. Now don't be fooled: there is distortion, but it is far less severe on the surface of the planet. There are two strange things about this configuration when walking on the surface:
    1. Two given paths from pole to equator may be of different lengths.
    2. The edges of a square block only line up north and south at one line that stretches around the planet (this line can be considered the meridians of the planet).
    If the edges are stretched and the points compressed, there will be visual distortion of the surface from orbit, so space (or at least rendering) must be bent to account for this so that things don't change size as you come in for a landing. The relative distortion idea can come into play here.

    This diagram demonstrates how the wrap-around effect works. Keep in mind that these are not the actual shapes the triangles would be, as these are not equilateral. (Also note that I drew two triangles joined into a diamond rather than a parallelogram as shown above.)

    a wraps to a and b wraps to b. SP is south pole and NP is north pole.

    So for this to work, those will have to be turned into equilateral triangles...

    How the heck do you do that with integers? The same way the pentagon edges are done now. Approximate. However, a provision must be made in the algorithms so that the faces that will wrap to each other fit nicely against one another.

    Shortly I will tackle how to determine the insertion point on the map when entering the sector. Stay posted. EDIT: I have thoroughly cooked my brain so this part will have to wait until tomorrow.
     
    Last edited:
    Joined
    Dec 14, 2014
    Messages
    745
    Reaction score
    158
    • Community Content - Bronze 1
    • Purchased!
    • Legacy Citizen 2
    OK, so here it is. This is NOT a torus world like my square map idea was. It has two poles and one equator. This has the same advantage that a squashed cube does, but eliminates the geometric impossibilities at each corner. A squashed cube tries to join three squares at one point, which is just a mathematical train wreck. My idea just wraps around two triangles (or one parallelogram, whichever works best code-wise). This makes it superior to both torus world and squashed cube. The overall map in memory is shaped like this:

    Such a parallelogram can wrap around its edges without problems. Now don't be fooled: there is distortion, but it is far less severe on the surface of the planet. There are two strange things about this configuration when walking on the surface:
    1. Two given paths from pole to equator may be of different lengths.
    2. The edges of a square block only line up north and south at one line that stretches around the planet (this line can be considered the meridians of the planet).
    If the edges are stretched and the points compressed, there will be visual distortion of the surface from orbit, so space (or at least rendering) must be bent to account for this so that things don't change size as you come in for a landing. The relative distortion idea can come into play here.

    This diagram demonstrates how the wrap-around effect works. Keep in mind that these are not the actual shapes the triangles would be, as these are not equilateral. (Also note that I drew two triangles joined into a diamond rather than a parallelogram as shown above.)

    a wraps to a and b wraps to b. SP is south pole and NP is north pole.

    So for this to work, those will have to be turned into equilateral triangles...

    How the heck do you do that with integers? The same way the pentagon edges are done now. Approximate. However, a provision must be made in the algorithms so that the faces that will wrap to each other fit nicely against one another.

    Shortly I will tackle how to determine the insertion point on the map when entering the sector. Stay posted.
    Take your top image and put it on the six sides of a square. Then tessellate by cutting each of the triangles lines in half. Then move them out to the distance you want away from the core of the planet. When you are done each triangle becomes 4 thus you are always left with pairs. Those pairs make squares again. The only real negative is that the cubes will get smaller the closer to the core you get and bigger as you get into space.
    Just because that is the case doesn't mean you have to work with it that way. You could set an area that has a level plane and build on that. You also don't have to let people dig so far towards the core of the planet it becomes apparent. Any blocks they place on the building plain they designate would be built perpendicular to the plane. Add to that any blocks placed by the player would fit a standard size then.

    Anyway it is just one solution.
     

    Valiant70

    That crazy cyborg
    Joined
    Oct 27, 2013
    Messages
    2,189
    Reaction score
    1,167
    • Thinking Positive
    • Purchased!
    • Legacy Citizen 4
    Take your top image and put it on the six sides of a square. Then tessellate by cutting each of the triangles lines in half. Then move them out to the distance you want away from the core of the planet. When you are done each triangle becomes 4 thus you are always left with pairs. Those pairs make squares again.
    Can you draw that? I'm not sure how that's any different from having a map that is square overall. A wrapping square map has two equators and no poles (it's a torus) so it's not desirable for simulating a planet.

    The only real negative is that the cubes will get smaller the closer to the core you get and bigger as you get into space.
    Just because that is the case doesn't mean you have to work with it that way. You could set an area that has a level plane and build on that. You also don't have to let people dig so far towards the core of the planet it becomes apparent. Any blocks they place on the building plain they designate would be built perpendicular to the plane. Add to that any blocks placed by the player would fit a standard size then.
    Rendering the surface as a flat plane of loaded chunks around the player will solve that. I explained that on page 3.

    When we enter the atmosphere, the surface begins to load. Here's the part that makes it work: the surface portion being loaded is FLAT. The bottom of the flat segment is tangent to the sphere of the planet.
    When you walk across the surface, chucks load in front of you, unload behind you, and the surface angle changes to match your new location on the sphere:
     
    Joined
    Dec 14, 2014
    Messages
    745
    Reaction score
    158
    • Community Content - Bronze 1
    • Purchased!
    • Legacy Citizen 2
    Not the easiest thing to draw. But the following image may give you a good idea of what I am talking about.
    I probably can create a program to demonstrate it faster than I could draw it.
    Anyway the math to do it is fairly simple. Your height map can be handled two ways. You can build it at the same time you do the tessellation or you can apply it after. Mapping a texture to the surface is relatively easy with the basic sphere it creates because all triangles are the same size.
     

    Valiant70

    That crazy cyborg
    Joined
    Oct 27, 2013
    Messages
    2,189
    Reaction score
    1,167
    • Thinking Positive
    • Purchased!
    • Legacy Citizen 4
    Not the easiest thing to draw. But the following image may give you a good idea of what I am talking about.
    I probably can create a program to demonstrate it faster than I could draw it.
    Anyway the math to do it is fairly simple. Your height map can be handled two ways. You can build it at the same time you do the tessellation or you can apply it after. Mapping a texture to the surface is relatively easy with the basic sphere it creates because all triangles are the same size.
    This works great for meshes. That's a cool way of doing it. It won't work very well with square voxels, though as the overall map is still a cube, and turning a cube surface into a sphere surface is bad.

    The point at which four triangles intersect rather than six (the corner of the cube) creates a geometric impossibility when you try to lay it flat, and it must be flat to be seamless. You can only connect three squares together in 3D as a cube. If you try to connect three cubes like that on a flat plane, there's either a 90 degree gap and you get an L shape or the squares cease to be squares. You'll run into the same problem with the triangles. At that corner you have two 45* angles and two 90* angles, which only adds up to 270*, the same as the squares.

    The geometric problem of the squashed cube is pretty well explained in this video Psy_commando posted:
    What he doesn't tell you is that the rendering trick used to hide the corners doesn't fix the issue of the distances and geometry around that point being trippy to walk on. If you were to stand on his cube corner, look at the block below your feet, and turn 270*, you would look up and find that you had turned 360*, which I think is immersion breaking and disorienting. He's able to sort of get away with that because his planets are full scale, but I don't think such big planets really fit Starmade or that very many players want them to. Filling a sector is big enough.

    A planet made of a wrapping parallelogram (two equilateral triangles put together) will have no such geometric impossibility, meaning anywhere you walk on the surface feels like Minecraft, only there are north and south poles and an equator. Does that make sense? Does my explanation of the parallelogram map even make sense?
     
    Last edited:
    Joined
    Dec 14, 2014
    Messages
    745
    Reaction score
    158
    • Community Content - Bronze 1
    • Purchased!
    • Legacy Citizen 2
    This works great for meshes. That's a cool way of doing it. It won't work very well with square voxels, though as the overall map is still a cube, and turning a cube surface into a sphere surface is bad.

    The point at which four triangles intersect rather than six (the corner of the cube) creates a geometric impossibility when you try to lay it flat, and it must be flat to be seamless. You can only connect three squares together in 3D as a cube. If you try to connect three cubes like that on a flat plane, there's either a 90 degree gap and you get an L shape or the squares cease to be squares. You'll run into the same problem with the triangles. At that corner you have two 45* angles and two 90* angles, which only adds up to 270*, the same as the squares.

    The geometric problem of the squashed cube is pretty well explained in this video Psy_commando posted:

    What he doesn't tell you is that the rendering trick used to hide the corners doesn't fix the issue of the distances and geometry around that point being trippy to walk on. If you were to stand on his cube corner, look at the block below your feet, and turn 270*, you would look up and find that you had turned 360*, which I think is immersion breaking and disorienting. He's able to sort of get away with that because his planets are full scale, but I don't think such big planets really fit Starmade or that very many players want them to. Filling a sector is big enough.

    A planet made of a wrapping parallelogram (two equilateral triangles put together) will have no such geometric impossibility, meaning anywhere you walk on the surface feels like Minecraft, only there are north and south poles and an equator. Does that make sense? Does my explanation of the parallelogram map even make sense?
    Wrong!

    Do you see the images above that are of the two worlds I posted on here? Do they look like cubes?
    They are built using that exact method. They are spheres.
    The only reason the cube is shown is to show you how they tessellation produces matching pair triangles.
    The reason it isn't a cube is because the small amount of math involved where you normalize the vertices produced and then multiply times the radius of the planet you want.

    In reality the full step of making it round is the following procedure.
    you start with the first cube. You then normalize the vertices and multiply times radius.
    Then you start tessellate each surface.
    Select height change(going to leave out) for planets we want. instead we want to just normalize.
    Then go back and repeat tessellation till desired.
    We can then map a desired voxel terrain to the surface of the sphere.

    You could also instead of using triangles just leave it cubes to start with as long as you normalize the vertices and then multiply times the radius you want you would end up with a sphere again with no distortion.

    Neither of the two methods I gave would end up with any crap like that video above where the person tried to map a cube onto a sphere.
    His method in short is wrong. He made what should have been done overly complex. Instead of trying to make the planet appear round he should have went to making it round as I did above.
    Secondly, He should have set gravity as to being perpendicular to the spheres surface.

    As you can see by the following image that it maps to a sphere. If you look closely the triangles still create squares.
    This is from an old program using opengl 1. As I said at the point I hadn't considered recombining the triangles. But they can be done.
    That said if you just want squares it would be faster just to divide each surface into 4 squares normalize and the multiply times the radius.
    The triangles in this are just 3 color assigned to one to a vertex. Because the alignment of the squares was not planned the ones visible is happen stance. It would be far cleaner if it was done intentionally. Hope that helps you visualize it better.
     

    Valiant70

    That crazy cyborg
    Joined
    Oct 27, 2013
    Messages
    2,189
    Reaction score
    1,167
    • Thinking Positive
    • Purchased!
    • Legacy Citizen 4
    Wrong!

    Do you see the images above that are of the two worlds I posted on here? Do they look like cubes?
    They are built using that exact method. They are spheres.
    The only reason the cube is shown is to show you how they tessellation produces matching pair triangles.
    The reason it isn't a cube is because the small amount of math involved where you normalize the vertices produced and then multiply times the radius of the planet you want.

    In reality the full step of making it round is the following procedure.
    you start with the first cube. You then normalize the vertices and multiply times radius.
    Then you start tessellate each surface.
    Select height change(going to leave out) for planets we want. instead we want to just normalize.
    Then go back and repeat tessellation till desired.
    We can then map a desired voxel terrain to the surface of the sphere.

    You could also instead of using triangles just leave it cubes to start with as long as you normalize the vertices and then multiply times the radius you want you would end up with a sphere again with no distortion.

    Neither of the two methods I gave would end up with any crap like that video above where the person tried to map a cube onto a sphere.
    His method in short is wrong. He made what should have been done overly complex. Instead of trying to make the planet appear round he should have went to making it round as I did above.
    Secondly, He should have set gravity as to being perpendicular to the spheres surface.

    As you can see by the following image that it maps to a sphere. If you look closely the triangles still create squares.
    This is from an old program using opengl 1. As I said at the point I hadn't considered recombining the triangles. But they can be done.
    That said if you just want squares it would be faster just to divide each surface into 4 squares normalize and the multiply times the radius.
    The triangles in this are just 3 color assigned to one to a vertex. Because the alignment of the squares was not planned the ones visible is happen stance. It would be far cleaner if it was done intentionally. Hope that helps you visualize it better.
    If you have even one vertex, it won't work. At a vertex, three or more polygons join at angles to one another. Voxels cannot join at angles to one another. If they do, they're not seamless. They're like the dodecahedron planets. If you're wanting to make the sphere large enough to make these angles between the voxels negligible, it's just going to be too big. On top of that, you'll have the issues with blocks getting bigger off the surface and smaller underground. Voxels really only work on a flat map. All 3d map approaches require the voxels to become non-cubic or to have seams between segments, else render things in a way that they are not.

    My approach does not create a sphere or a 3d figure of any sort. It creates a flat map, and renders part of that map tangent to a part of a curved surface for each client. It's like Minecraft where each client handles which chunks it can see (on a flat map) and which ones it asks the server for.

    The "sphere" is a texture seen from orbit, and it is the shape of the entry point into this environment. It is not the shape of the map. The map is not shaped like a sphere. It is flat, allowing voxels to exist on it as perfect, seamless cubes.

    In short, the map I propose is not a sphere because it cannot be both a sphere and an undistorted voxel map, but it is presented in a way that makes it feel and function like a sphere.