If the Minecraft world wasn’t flat, but spherical, that would be interesting to see. And you could also do some fun things, like dig a hole through the planet to the other side. Or you could build a spacy-looking building and have your own space program! Even though that would be completely unneccesary since you can just throw satellites into orbit right from the launch tower, watch them fly araound the planet and eventually come back. But – how does this all work? How can you map a flat block world onto a spherical planet? If you are thinking this is impossible, you are absolutely correct. Imagine this balloon was the planet. Now imagine building a straight railway track like this one with only right-angle turns. On a planet, you could the build a triangle. Needless to say, that is completely impossible on a flat plane. Unless you curved the track somehow like this. But now, there is just no way to put a regular square grid inside the triangle. If you’d like a more mathematical proof, we could use the euler characteristic of the sphere, which says that for each sphere-like object the number of corners – the number Of edges + the number of faces of the polyhedron must equal two. On our flat plane, every square has 4 corners, 4 edges, 1 face and 4 neighbors. Assuming we have n squares, we have four over four times n corners, since each of the four corners is shared among four squares. We have 4 over 2 edges, since each edge is shared by two neighbors and n faces, one per square When adding this all up, we notice that the result is 0 = 2, which is a contradiction. Therefore, a sphere cannot be tesselated with a grid of squares. If we were to use triangles instead of squares, we could start with an icosahedron and split the triangles into smaller and smaller pieces. The result be completely regular, but very close. This procedure is also used for buildings such as geodesic domes. Why can’t we just apply the same idea to a cube? Actually, we can by just partitioning a cube and stretching it out to a sphere. However, when looking closely at the corners of the resulting sphere, you will notice heavy distortion and three squares sith only three neighbors instead of four. On large planets, the chance of the player randomly walking up to a corner is very low. When looking at a cross-section of the cube planet though, you will notice that this distortion also affects the planet edges and the planet’s interior. Therefore, this mapping is not a good choice for a voxel planet. The problem of mapping a plane onto a sphere is actually centuries old and also comes up when drawing maps. In 1828 Gauss proved that it is impossible to represent a sphere’s surface on a flat plane. With the common availability of flat world maps, this still leads to many confusions until today. Greenland appears larger than india, but that is only due to the distortion introduced by the mercator projection used by services like Google Maps. In reality, it is much smaller than india. It also explains, why the land mass of africa is commonly underestimated, even though it Is larger than china, India, Japan, the US and most of Europe combined. There are still some very promising alternatives. This yin-yan grid for instance can be used for simulations, and this fibbonacci sphere looks almost perfectly tesselated. But no matter how hard you try, there is always going to be some distortion. The best way I have found to make a round voxel planet is to not make it round. Instead, we fold the flat plane twice so that it becomes a torus. In simpler terms, this means when leaving the plane on the right, you will get back in on the left. Same goes for all other directions. You get the idea This doesn’t mean the planet the planet looks like a torus, it just behaves like one. A torus behaves quite similar to a sphere. For example, when walking straight in one cardinal direction, you will end up at the same place. (gapsphere) On this planet, I built a trench from west to east to see what the interiour looks like. There should be no way to get to the other hemisphere without jumping since the trench goes all around it. But if I just keep walking away from the tree, I will eventually end up at the house. This is because after cutting away a slice from a torus, you can still get to the other side. If the trench runs from north to south instead, there is now no way to get across. This is basically the same as cutting a torus in a different direction, which means slicing it into two halves. You can create planets so large that you barely even notice any curvature unless you look at them from far above. Or the planet can be so small, that other players can easily hide behind its curvature. To add more realism, we can add Newtonian gravity. While barely noticable on large planets, you can jump much higher on tiny planets the higher up you get. Same thing when getting close to the core. The strong centrifugal force makes it possible to jump long distances by just running fast enough. Together, those forces define Kepler orbits for satellites or players. There is more information on how to calculate circular orbits in the description. If you are interested in learning more about how to make the planet look spherical, click Here to watch a more mathematical video on that topic. By now, you have propably realized that this game is not technically minecraft. This is a modification of the open source game Minetest. Since minetest is open source, it is much easier to implement a spherical world for it. That doesn’t mean you have to do without things like redstone or multiplayer, minetest has all that. You can get the game in the description, but keep in mind that this is only a technical demo and still very glitchy. Video Information
This video, titled ‘Is a round Minecraft world possible?’, was uploaded by Jeija on 2016-10-06 19:58:54. It has garnered 652160 views and 13297 likes. The duration of the video is 00:07:42 or 462 seconds.
Heights of circular orbits: http://mesecons.net/random/orbit.pdf
More mathematical video on how to make the planet look spherical: https://www.youtube.com/watch?v=joFWr3JzBOI
How to get this game: For Windows: Download this and run minetest.exe in the “bin” directory: https://github.com/Jeija/spheretest/releases/download/release/spheretest_release.zip
For all other platforms, download and compile the game from GitHub: https://github.com/Jeija/spheretest Add satellite mod, skybox and demo map manually: https://github.com/Jeija/spheretest/releases/tag/release
Minetest Forum Topic: https://forum.minetest.net/viewtopic.php?f=14&t=15643
Background Music: C418 – Cat Tom Day – Going Home Resonata – Returned To Dust
Some interesting resources: https://en.wikipedia.org/wiki/Spherical_polyhedron https://en.wikipedia.org/wiki/Euler_characteristic https://www.reddit.com/r/math/comments/qgc22/if_i_wanted_to_tessellate_a_sphere_with_hexagons/
Gauss’s proof that a sphere cannot be mapped on a flat plane: https://en.wikipedia.org/wiki/Theorema_Egregium
Thanks to 3blue1brown for the amazing manim library which was used for the math animations in this video: https://www.youtube.com/3blue1brown