Skip to content(if available)orjump to list(if available)

Making Minecraft Spherical

Making Minecraft Spherical

41 comments

·August 28, 2025

RA2lover

Eco: Global Survival (https://play.eco/) bypassed the distortion problem entirely by using an undistorted flat voxel grid, but rendering the globe view as a torisphere.

It still has the tradeoff of making travel close to the center take longer than it should on a sphere (worked around by limiting diggable height), but i find it a more elegant solution.

mrtracy

Wonderful write-up of attempting to tackle this problem. I believe there must be a significant number of people who have played both Minecraft and Super Mario Galaxy, and had something like this sequence of thoughts - although you have followed it all the way to an actual demonstration, and written up your thoughts along the way so clearly.

The vertical distortion is the biggest issue IMO, there are a few reasonably satisfying ways to approach the horizontal tiling of each “shell”. For example, you can make your world a donut instead of a sphere, and now you have a perfect grid at each level! Of course, this introduces a level of distortion between the interior and exterior, so you also twist the donut once, and now you’ve both solved your distortion problem and invented the stellarator fusion device.

yencabulator

This made me think of Google's S2. 64-bit ID for every less-than-1cm^2 roughly-square area on Earth's surface, less bits used for bigger areas.

https://s2geometry.io/

https://docs.google.com/presentation/d/1Hl4KapfAENAOf4gv-pSn...

reactordev

You should definitely have a look at space engineers. They have a similar spherical problem with their voxels and I don’t think they went half as far as you did when implementing “orbital bodies”.

As someone who is rather keen on space, gfx, and the algorithms that render them. Kudos. The problems were known to me, which is why I didn’t attempt it, however - the distortion correction, the chunking, I’m thinking if you just limit how far down you can dig (half way to the “core”) it will be fine. You won’t run into those tiny squished blocks that make up the core.

It’s also important to call out the quad-sphere. This is what makes it doable. Naive devs may just map lat long to sin cos spherical coordinates and call it a day, not realizing that their poles are jacked up. The cartography problem. I’m really glad to see that called out as people don’t realize WGS84 sucks for mapping a sphere.

RA2lover

My understanding is Space Engineers takes the "blocky sphere" approach mentioned early in the post, works around the "walk along its surface" part of the problem by making gravity direction point towards a fixed point, and bypasses the "trying to build 'upward'" part of it by not allowing voxel construction. It doesn't use a quad-sphere at all.

lsaferite

Not allowing excavation to the core solves weird gravity issue as well. Astroneer had super weird gravity at their planet core. You can get stuck oscillating there.

reactordev

If you really wanted to go for realism, there would be NO GRAVITY at the core. :P

As you dig down you would get lighter and lighter on your feet.

Any mass you are below (within the sphere of Earth) will exert a gravitational pull in one direction, while the mass above you (also within the Earth) will exert an equal and opposite pull.

lsaferite

Yeah, I'm mostly aware of that. Weird didn't mean 'wrong' in this case, just weird for a terrestrial-bound human. :)

ricardobeat

That's how it's implemented in the game!

jacquesm

That actually sounds pretty close to what I would expect to happen IRL. After all the mass is mostly all around you at that point and depending on how far you are towards the core you might build up speed, overshoot the target and then do it all over again.

But hollow planets are hard to come by so this is just my imagination, I'm sure someone has worked out exactly what would happen.

gizmo686

Newton worked this out in what is now know as the shell theorem. If you have a hollow spherically symmetric body, then any point inside of the body experiences no net gravitational force. In contrast, points outside of the shell experience the same force as if the body were a point mass.

For ideal (spherically symmetric) planets where a point is underground, you can divide the planet into 2 regions. The shell of the planet "above" the point has no net effect, while the shell below has the full effect, resulting in the gravity falling towards 0 as you approach the center.

In practice, planets are not actually spherically symmetric, but are close enough for it to be a good approximation.

accrual

This is SO fun! You have the foundation for a cool voxel-y interplanetary game if that's your jam. I had fun "getting into orbit" and watching my velocity increase at periapsis and decrease at apoapsis, then descending and landing with the rocket power button ([Space]). I would love a Minecraft + Kerbal Space Program fusion game and most of the pieces for it are already here. :D

newswangerd

Huh, I submitted this article last week when it came out and it didn’t get any attention at all.

This demo is super cool! I’ve been dreaming about a game with an engine like this for the last 5 years. Super happy to see people experimenting with it!

jitl

Wow, Minecraft X Outer Wilds… I should really finish Outer Wilds. It’s incredible and super fun to explore the solar system but I find many of the challenges quite difficult to navigate with the zero g thrusters.

wolframhempel

This was beautifully written and illustrated.

bckr

Yep, pure joy to read.

exDM69

The article doesn't describe the way to avoid the difference in rectangle size in a cubesphere, so let me.

The bad way: - Generate a cube - Subdivide each face using linear interpolation (lerp) - Normalize each vector to put it on a unit sphere

The good way: - Generate a cube - Subdivide using spherical linear interpolation (slerp) - done!

The cubesphere has lots of interesting geometric properties, particularly in texture mapping.

perihelions

I suppose the same shell trick could also work on hyperbolic maps too, right? I've wondered what Minecraft would look like on a hyperbolic plane, if you were to squeeze an exponential amount of terrain within a linear radius. It's a strange thing to say, but I think it's more "practical" than Euclidean geometry in the sense that every is very close to everything, but there's still plenty of room.

boriskourt

I wonder if this is also how Eskil Steenberg's 'Love' worked. [0]

It had a spherical 'block' world as well.

[0]: https://www.quelsolaar.com/love/

redundantly

I had a bit of fun playing with the orbital mechanics of it. First soaring around the planet core, then around the planet itself.

At one point I flew far enough into space that I passed the star objects and everything got dark. That was a bit disquieting.

Very cool little game!